Pyodbc Versions Save

Python ODBC bridge

5.1.0

3 months ago

Mac M1 & M2 binaries are available going forward.

GitHub added new Mac ARM action runners which is what we use to build each release.

Thanks to @keitherskine who made all this happen. Not only did he write the original release code for all of the other versions, he jumped on the new Mac runner as soon as it was available.

I'd also like to thank the many people working through the Mac binary confusion, testing and providing work arounds until this runner was available: @Carreau @ndmlny-qs @jordantshaw @gabalafou @v-chojas and many others on the Issue.

If you are a Mac user, please let us know how this works for you.

5.0.1

7 months ago

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

7 months ago

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.b2

8 months ago

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.0b1

8 months ago

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.0a2

8 months ago

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.

Please give it a try and join the discussion here.

4.0.39

1 year ago

Version 4.0.38 had a serious bug in Row.repr which could cause crashes (#1196 ). That version has been yanked from PyPI and replaced with this one.

4.0.38

1 year ago

Version 5.0 is on its way and will drop support for Python 2. This release is a (hopefully final) bug fix release for the 4.x line.

A big thanks to everyone involved:

  • Keith Erskine did a ton of great work (as always) on the release automation.
  • baluyotraf provided typing for Connection, Cursor, and connect parameters.
  • Dongyoon Han corrected the install location of the pyi file.
  • Michael Kleehammer fixed Unicode errors in repr(row)
  • Keith fixed more typing related issues by removing TypeAlias
  • arturxedex128 opened a security advisory for a buffer overflow if selecting a decimal more than 100 digits long. Fixed by Michael Kleehammer.

Note that the 4.0.36 does not build with some versions of GCC. The 4.0.37 version is a fix for this. Version 4.0.37 did not have the setup.py VERSION variable updated, so 4.0.38 is a fix for that!

4.0.35

1 year ago

This release provides Python 3.11 wheels, plus some other wheel fixes. A special thanks to @keitherskine for the wheel and automated build support that makes this possible.

There is also an import memory fix when using fast_execute_many. Thanks to @gordthompson for that.

4.0.34

1 year ago

First, I want to say thank you very, very much to the people that setup and maintained the automated building of wheels: @keitherskine, @hugovk, and @abitrolly. This is the first release with wheels for Mac, completely thanks to them. It also saves me a huge amount of time since I no longer have to generate each wheel by hand on different systems.

Release highlights:

  • Mac wheels are finally here. Thanks to all that worked on the code for that. Please let us know if there are any problems with the wheels on PyPI
  • Python 3.10 wheels are also available
  • Fix for DSNs with non-ASCII characters.
  • Memory leak fix with Decimal parameters.
  • PostgreSQL dates of -Infinity/+Infinity changed to year 1 and 9999 instead of raising an error.