Releases: exasol/sqlalchemy-exasol
5.2.0
5.2.0 - 2025-11-04
This release drops the support for Python 3.9 as this Python version has reached its end-of-life in 2025-10. In consequence, the release also fixes security vulnerabilities by updating the dependencies.
With this release, in the Websocket-based dialect, it is possible for users to pass FINGERPRINT into
the connection URL to take advantage of an additional security feature in PyExasol version
1.x.
from sqlalchemy import create_engine
url = "exa+websocket://A_USER:[email protected]:1234/my_schema?FINGERPRINT=C70EB4DC0F62A3BF8FD7FF22D2EB2C489834958212AC12C867459AB86BE3A028"
engine = create_engine(url)
query = "select 42 from dual"
with engine.connect() as con:
result = con.execute(sql.text(query)).fetchall()Feature
- #612: Updated CI tests to run against Exasol DB versions 7.1.30, 8.34.0, and 2025.1.0. Dropped support for Python 3.9.
- #637: Added option to
exa-websocket(Websocket-based dialect) to passFINGERPRINTin the connection URL for additional security
Refactoring
- #610: Altered string input into
Connection.execute()to be handled properly withsql.text() - #614: Altered params input into
Connection.execute()to be handled properly withdict - #616: Altered usage of MetaData which was binding to a connection to instead bind in the needed object or function
- #617: Enacted warning for the deprecation of the
autoloadparameter and requirement ofbind - #618: Switched DML & DDL executions from
engine.connect()toengine.begin()usage - #637: Updated dependency declaration to
pyexasol
Internal
- #558: Updated to poetry 2.1.2 & relocked dependencies to resolve CVE-2025-27516
- #548: Replaced pytest-exasol-itde with pytest-backend
- Relocked dependencies to resolve CVE-2025-43859
- #564: Replaced nox test:unit with that from exasol-toolbox
- Reformatted files to meet project specifications
- #588: Updated to exasol-toolbox 1.6.0 and relocked dependencies to resolve CVE-2025-50182, CVE-2025-50181, & CVE-2024-47081
- #605: Removed non-ASCII unicode from templates & relocked dependencies to resolve CVE-2025-8869 (pip -> transitive dependency)
- #640: Re-locked dependencies to resolve CVE-2025-8869 for transitive dependency pip
Dependency Updates
main
- Updated dependency
packaging:24.2to25.0 - Updated dependency
pyexasol:0.27.0to1.2.1 - Updated dependency
pyodbc:5.2.0to5.3.0
dev
- Removed dependency
black:25.1.0 - Updated dependency
exasol-integration-test-docker-environment:3.4.0to4.3.0 - Updated dependency
exasol-toolbox:0.20.0to1.12.0 - Removed dependency
furo:2024.8.6 - Removed dependency
isort:5.13.2 - Removed dependency
mypy:1.15.0 - Updated dependency
nox:2025.2.9to2025.10.16 - Removed dependency
pre-commit:4.1.0 - Removed dependency
pylint:3.3.4 - Updated dependency
pyodbc:5.2.0to5.3.0 - Removed dependency
pytest-cov:6.0.0 - Added dependency
pytest-exasol-backend:1.2.2 - Removed dependency
pytest-exasol-itde:0.2.1 - Removed dependency
pytest-history:0.3.0 - Removed dependency
pyupgrade:3.19.1 - Removed dependency
sphinx:7.4.7 - Removed dependency
sphinx-copybutton:0.5.2 - Removed dependency
urlscan:1.0.6
5.1.0
5.1.0 — 2025-02-14
🗑️ Removed
- Dropped python 3.8 support
- If you still depend on python 3.8 use the 5.x version line
🧰 Internal
- Relocked dependencies
- Removed pyexasol dbapi2 api shim
(Now it is using the dbapi2 shim provided by the pyexasol project) - Remove testing against Exasol 7.0
📚 Documentation
- Added support for multiversion documentation
5.0.0
4.6.3
4.6.2
4.6.1
4.6.1 — 2023-11-06
🐞 Fixed
4.6.0
4.6.0 — 2023-07-18
✨ Features
- Websocket based dialect have been stabilized and is officially supported now
- 📘 Note: Inserting multiple empty row's, facilitating default settings currently isn't supported
🐞 Fixed
4.5.1
4.5.0
4.5.0 — 2023-05-24
-
Added Beta version of websocket based dialect
🚨 Attention:
This feature is currently in Beta, therefore it should not be used in production.
We also recommend to have a look into the known issues, before you start using it.If you encounter any problem, please create an issue.
With your feedback, we will be able stabilize this feature more quickly.
4.4.0
4.4.0 — 2023-05-16
🚨Attention
The turbodbc dependency was pinned to 4.5.4 due to issues with newer versions.
Failing tests in the SQLA compliance test suite, in regard to the turbodbc dialect won't be addressed until explicitly required/requested by users.
Note: It is also very likely that turbodbc support will be dropped in future versions.
🐞 Fixed
- Fixed invalid implicit autocommit behaviour, for details see Issue-#335
✨ Added
- Added websocket based dbapi2 compliant database driver
🔧 Changed
- Updated pytest
- Updated Dependencies
- Loosened version constraints on 'packaging' dependency
- Loosened dev dependency constraints
🧰 Internal
- Changed changelog workflow
- Removed scriv
- Added unreleased section to track unreleased changes
- Simplified workflows by factoring out python & poetry setup into an action
- Added a internal category to the changelog fragment template
- Added manual trigger for the gh-pages workflow
- Removed workaround for outdated DB versions (for further details see #5)
- Added exasol-integration-test-docker-environment as dev dependency