5.0.1 with fix for Azure tokens / binary attrs_before
This is a bug fix for 5.0.0 that restores the ability to pass bytes objects in the attrs_before parameter when connecting. This is often used for Azure with a token. Issue #1289
5.0.0 Release
This is the first 3.x only pyodbc release, supporting Python 3.8-3.12.
The API is backwards compatible, so previous Python 3 products using pyodbc should not need any changes.
Please note that macOS ARM / Apple Silicon binary builds have been problematic due inconsistencies in the way unixODBC libraries can be installed. Please see the issues and discussions.
5.0.0 beta2 - Help test macOS Apple Silicon binary wheels
We're retrying macOS Apple Silicon wheels, for those with M1, M2, etc. chips. If you have one of these, please give this release a try so we know before the final 5.0.0 release in a few days.
This means you would not use Rosetta. Just install normally using pip install pyodbc==5.0.0b2. Don't use --no-binary.
For those wondering, the inability to supply these wheels has not been due to any pyodbc code issues. We use Github Actions to build all the different versions and it still doesn't have complete support for macOS Apple Silicon CI runners. At this time, only Intel is supported. However, we can cross-compile and generate ARM wheels on Intel, but we can't test them. That's why we need your help!
5.0.0 Beta 1
This is a beta release for the upcoming 5.0 that drops Python 2 and adds Python 3.12
Source and wheels for 5.0.0b1 is available on PyPI.
This beta restores fast_executemany, so it should be feature complete. If there are no serious issues reported, it will be released as 5.0.0 this week (before Python 3.12 is officially released).
5.0.0 alpha 2
This is a test release for the upcoming 5.0 that drops Python 2 and supports Python 3.12
Source and wheels for 5.0.0a2 is available on PyPI
Note that fastexecmany is not available in this release, but will be ported to the next.
* Document calendar-based versioning scheme (:issue:`716`)
* Enforce that the entire marker string is parsed (:issue:`687`)
* Requirement parsing no longer automatically validates the URL (:issue:`120`)
* Canonicalize names for requirements comparison (:issue:`644`)
* Introduce ``metadata.Metadata`` (along with ``metadata.ExceptionGroup`` and ``metadata.InvalidMetadata``; :issue:`570`)
* Introduce the ``validate`` keyword parameter to ``utils.validate_name()`` (:issue:`570`)
* Introduce ``utils.is_normalized_name()`` (:issue:`570`)
* Make ``utils.parse_sdist_filename()`` and ``utils.parse_wheel_filename()``
raise ``InvalidSdistFilename`` and ``InvalidWheelFilename``, respectively,
when the version component of the name is invalid
#11237: Fix doctest collection of functools.cached_property objects.
#11306: Fixed bug using --importmode=importlib which would cause package __init__.py files to be imported more than once in some cases.
#11367: Fixed bug where user_properties where not being saved in the JUnit XML file if a fixture failed during teardown.
#11394: Fixed crash when parsing long command line arguments that might be interpreted as files.
Improved Documentation
#11391: Improved disclaimer on pytest plugin reference page to better indicate this is an automated, non-curated listing.
pytest 7.4.1 (2023-09-02)
Bug Fixes
#10337: Fixed bug where fake intermediate modules generated by --import-mode=importlib would not include the
child modules as attributes of the parent modules.
#10702: Fixed error assertion handling in pytest.approx when None is an expected or received value when comparing dictionaries.
#10811: Fixed issue when using --import-mode=importlib together with --doctest-modules that caused modules
to be imported more than once, causing problems with modules that have import side effects.
Due to various issues, the previous release (23.9.0) did not include compiled mypyc
wheels, which make Black significantly faster. These issues have now been fixed, and
this release should come with compiled wheels once again.
There will be no wheels for Python 3.12 due to a bug in mypyc. We will provide 3.12
wheels in a future release as soon as the mypyc bug is fixed.
Store raw tuples instead of NamedTuples in Black's cache, improving performance and
decreasing the size of the cache (#3877)
23.9.0
Preview style
More concise formatting for dummy implementations (#3796)
In stub files, add a blank line between a statement with a body (e.g an
if sys.version_info > (3, x):) and a function definition on the same level (#3862)
Fix a bug whereby spaces were removed from walrus operators within subscript(#3823)
Configuration
Black now applies exclusion and ignore logic before resolving symlinks (#3846)
Performance
Avoid importing IPython if notebook cells do not contain magics (#3782)
Improve caching by comparing file hashes as fallback for mtime and size (#3821)
Blackd
Fix an issue in blackd with single character input (#3558)
Integrations
Black now has an
official pre-commit mirror. Swapping
https://github.com/psf/black to https://github.com/psf/black-pre-commit-mirror in
your .pre-commit-config.yaml will make Black about 2x faster (#3828)
The .black.env folder specified by ENV_PATH will now be removed on the completion
of the GitHub Action (#3759)
Due to various issues, the previous release (23.9.0) did not include compiled mypyc
wheels, which make Black significantly faster. These issues have now been fixed, and
this release should come with compiled wheels once again.
There will be no wheels for Python 3.12 due to a bug in mypyc. We will provide 3.12
wheels in a future release as soon as the mypyc bug is fixed.
Store raw tuples instead of NamedTuples in Black's cache, improving performance and
decreasing the size of the cache (#3877)
23.9.0
Preview style
More concise formatting for dummy implementations (#3796)
In stub files, add a blank line between a statement with a body (e.g an
if sys.version_info > (3, x):) and a function definition on the same level (#3862)
Fix a bug whereby spaces were removed from walrus operators within subscript(#3823)
Configuration
Black now applies exclusion and ignore logic before resolving symlinks (#3846)
Performance
Avoid importing IPython if notebook cells do not contain magics (#3782)
Improve caching by comparing file hashes as fallback for mtime and size (#3821)
Blackd
Fix an issue in blackd with single character input (#3558)
Integrations
Black now has an
official pre-commit mirror. Swapping
https://github.com/psf/black to https://github.com/psf/black-pre-commit-mirror in
your .pre-commit-config.yaml will make Black about 2x faster (#3828)
The .black.env folder specified by ENV_PATH will now be removed on the completion
of the GitHub Action (#3759)
Integration-Test-Docker-Environment 2.0.0, released 2023-08-07
Summary
Version 2.0.0 of ITDE comes with breaking changes as the public API class DatabaseInfo has been changed. Former separate attributes database_port_forwardand bucketfs_port_forward have been replaced by a single attribute port set to an instance of PortForwarding with attributes database, bucketfs, and ssh.
Previous versions of the ITDE used docker_exec to access the Docker Container, e.g. to analyze the content of logfiles or execute some shell commands. In future versions of the Exasol Docker-DB the format of the Docker Containers might change so that docker_exec is no longer possible. Instead ITDE will then need to use SSH access.
The current release therefore enhances ITDE to enable to access the Docker Container via SSH. The user can select the docker access method with command line option --db-os-access and can specify a port number to which ITDE forwards the SSH port of the Docker Container, see User Guide.
Additionally the directory for storing the randomly generated SSH keys has been moved to ~/.cache/exasol/itde/. By that ITDE can restrict file permissions allowing access only by the current user.
This release also removes versions 7.0.x of the Exasol database from the regular CI builds as version 8.x is already available and ITDE only supports the latest two minor versions.
Supported Exasol Versions
7.1: up to 7.1.17
8: 8.18.1
If you need further versions, please open an issue.
Internal
Changes
#329: Added CLI option --ssh-port-forward to forward SSH port
#343: Added SshInfo to DatabaseInfo containing user, port and path to SSH key file
#308: Unified ports for database, BucketFS, and SSH
#322: Added additional tests for environment variable LOG_ENV_VARIABLE_NAME
#359: Fixed custom logging path not working if dir does not exist.
#304: Create SSH access replacements for calls to docker.exec_run()
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the other group with 11 updates:
4.0.39
5.0.1
23.1
23.2
1.0.0
1.0.1
7.4.0
7.4.2
3.3.3
3.5.0
23.7.0
23.9.1
2.17.4
3.0.1
2022.12.7
2023.9.10
1.4.1
1.6.0
13.4.2
13.6.0
1.7.1
2.0.0
Updates
pyodbc
from 4.0.39 to 5.0.1Release notes
Sourced from pyodbc's releases.
Commits
32d1073
Release 5.0.1d5a9359
attrs_before: Add error for unknown type4435d14
odbcversion doc and pyi updates19beb9a
handle bytes in attrs_before7f91191
Updating version to 5.0.0215dbaa
params: Move xdecrefs after last use8a4555d
Allow customization of default odbc version36148c3
Upgrade Python syntax with pyupgrade --py38-plusd84993b
Drop support for EOL Python 3.7885a84c
Remove redundant code for dropped Python versionsUpdates
packaging
from 23.1 to 23.2Release notes
Sourced from packaging's releases.
Changelog
Sourced from packaging's changelog.
Commits
b3a5d7d
Bump for released7ce40d
Fix code blocks in CHANGELOG.md (#724)524b701
parse_{sdist,wheel}_filename: don't raise InvalidVersion (#721)b509bef
Typing annotations fixed (#723)0206c39
Bump pip version to avoid known vulnerabilities (#720)7023537
fix: Update copyright date for docs (#713)39786bb
Document use of calendar-based versioning scheme (#717)c1346df
fix: Detect when a platform is 32-bit more accurately (#711)7e68d82
Correct rST syntax in CHANGELOG.rst (#709)61e6efb
Support enriched metadata inpackaging.metadata
(#686)Updates
urlscan
from 1.0.0 to 1.0.1Release notes
Sourced from urlscan's releases.
Commits
4598452
Include manpage in source distributionUpdates
pytest
from 7.4.0 to 7.4.2Release notes
Sourced from pytest's releases.
Commits
45f34df
Prepare release version 7.4.2e4f022f
Merge pull request #11406 from nicoddemus/backport-11404-to-7.4.x63b0c6f
Use _pytest.pathlib.safe_exists in get_dirs_from_args884b911
Fix crash when passing a very long cmdline argument (#11404)6e49a74
[7.4.x] Fix doctest collection offunctools.cached_property
objects. (#11403)79c2012
[7.4.x] doc: Remove done training (#11400)de69883
[7.4.x] improve plugin list disclaimer (#11398)1de00e9
[7.4.x] Fix import_path for packages (#11395)7f5d9b9
Fix user_properties not saved to XML if fixture errors during teardown (#11382)82eb86f
Merge pull request #11377 from pytest-dev/release-7.4.1Updates
pre-commit
from 3.3.3 to 3.5.0Release notes
Sourced from pre-commit's releases.
Changelog
Sourced from pre-commit's changelog.
Commits
61cc55a
v3.5.0c9945b9
Merge pull request #3029 from adamchainz/improve_duration_timingd988767
Improve hook duration timing0d8b245
Merge pull request #3023 from pre-commit/pre-commit-ci-update-config155c521
[pre-commit.ci] pre-commit autoupdate676e51a
Merge pull request #3024 from pre-commit/pick-shebang-path-without-spaces997ea0a
use sys.executable instead of echo.exe in parse_shebang19aa121
Merge pull request #3016 from pre-commit/pre-commit-ci-update-configa4ab977
[pre-commit.ci] pre-commit autoupdate3f3760b
Merge pull request #3011 from hack3ric/bump-node-and-go-versionUpdates
black
from 23.7.0 to 23.9.1Release notes
Sourced from black's releases.
Changelog
Sourced from black's changelog.
Commits
e877371
Prepare release 23.9.1 (#3878)62dca32
mypyc builds on PRs, skip mypyc wheels for 3.12 (#3870)751583a
Pickle raw tuples in FileData cache (#3877)f791745
Re-export black.Mode (#3875)0b62b9c
Ignore aiohttp DeprecationWarning for 3.12 (#3876)c83ad6c
Upgrade to Furo 2023.9.10 to fix docs build (#3873)4eebfd1
Add mypyc test marks to new tests that patch (#3871)add161b
Bump RTD Python version from 3.8 to 3.11 (#3868)4e93f2a
Add classifier for 3.12 (#3866)716fa08
Upgrade mypy (#3864)Updates
pylint
from 2.17.4 to 3.0.1Commits
f2cded4
Bump pylint to 3.0.1, update changelog (#9119)a1443ed
Fix a crash for Enum class decorated with dataclass (#9104) (#9112)2d8a894
Fix false positive forinherit-non-class
for generic Protocols (#9108) (#...4a7ad5e
Bump pylint to 3.0.0, update changelog3cba15b
Bump actions/setup-python from 4.7.0 to 4.7.1 (#9089)83bd48f
[doc] Upgrade doc following the full implementation of pyupgrade in ruff31f40a9
[ruff conf] Simplify the ruff configuration1f3de87
[pre-commit] Remove pyupgrade and use ruff instead9c69801
Prevent stats loss (#9082)ca8690a
Merge maintenance 2.17.x into main (#9085)Updates
furo
from 2022.12.7 to 2023.9.10Changelog
Sourced from furo's changelog.
... (truncated)
Commits
2718ca4
Prepare release: 2023.09.10c22c99d
Update changelogc37e849
Quote a not-runtime-generic type annotation9cfdf44
Rework infrastructure for linting5abeb9f
Fix the check for HTML buildersee2ab54
Tweak how tests are run with noxcdae236
Test against Sphinx minor versions in CI9e40071
Make asset hash injection idempotentaab86f4
Revert "Exclude incompatible Sphinx releases (#711)"4dd6eec
Exclude incompatible Sphinx releases (#711)Updates
mypy
from 1.4.1 to 1.6.0Commits
ac2d56f
Remove +dev from version5b488ab
Optimize Unpack for failures (#15967)4c963c9
Make PEP 695 constructs give a reasonable error message (#16013)e78df55
Match note error codes to import error codes (#16004)d376633
Fix mypyc regression with pretty (#16124)00cba13
Clear cache when adding --new-type-inference (#16059)b33373c
Try upgrading tox (#15992)807bd39
Fix ParamSpec inference for callback protocols (#15986)d7b2451
Fixes to stubtest's new check for missing stdlib modules (#15960)efecd59
Support user defined variadic tuple types (#15961)Updates
rich
from 13.4.2 to 13.6.0Release notes
Sourced from rich's releases.
... (truncated)
Changelog
Sourced from rich's changelog.
Commits
e9f75c9
Merge branch 'py312'35b64f1
Merge pull request #3139 from Textualize/py312c8ff546
version bump3f8c4af
tests for 3.12ef90daf
enable py312ec91917
changelog5360fe6
version bumpe0d3aee
Merge pull request #3132 from Textualize/fix-markdown-on-lightdb07a2a
Restore text44e36aa
Add default lexerUpdates
exasol-integration-test-docker-environment
from 1.7.1 to 2.0.0Release notes
Sourced from exasol-integration-test-docker-environment's releases.
Commits
41a7c72
[run all tests]1e40864
Fixed typo found during review1713cb9
[run all tests]2f313f4
Updated changes file37ff344
Replaced calls to DockerContainer.exec_run() to support SSH access alternativ...9d045bf
Removed versions 7.0.x of Exasol database (#369)7c0e930
Create SSH access replacements for calls to docker.exec_run() (#362)d6fcbaa
Fixed env variable LOG_ENV_VARIABLE_NAME (#360)390968a
Unify ports for database, BucketFS, and SSH (#354)985abe2
Add port, keys, user to DatabaseInfo with parent field ssh_info (#353)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show