Pyodbc

Latest version: v5.2.0

Safety actively analyzes 693883 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 6

4.0.21

Not secure
This is a minor release that adds:

* 286 - constants for setting transaction isolation levels
* 158 - Cursor.cancel for canceling statements from other threads
* 289 - Fix type check of connect's encoding keyword in Python 2.7
* 291 - Specific Python versions added to the PYPI classifiers

4.0.19

Not secure
Sorry everyone - I left a debug printf statement in the 4.0.18 code. Please use this instead. I'm reproducing the 4.0.18 tag release notes here:

---

This is a primarily a fix patch, thought it does contain one new feature that is turned off by default:

The feature is an optimized `Cursor.executemany` that binds parameters into an array to drastically reduce network round trips. This can be a major speedup, but this preliminary version is turned off by default because it can only be used with drivers that use UCS-2 exclusively and that properly deal with the ODBC numeric structure. Right now I would recommend only using this with SQL Server on Windows. This feature will be tweaked in the near future to support as many drivers as possible and to use the configured encodings.

Fixes

* Add a workaround for building on macOS High Sierra.
* Add support for building with homebrew unixODBC
* Fix Unicode error messages that were sometimes garbled in the past.
* Fix Cursor.columns, primaryKeys, and similar metadata methods that would not allow `None` passed in for optional keyword parameters such as `Cursor.columns('t1', schema=None)`.

4.0.18

Not secure
This is a primarily a fix patch, thought it does contain one new feature that is turned off by default:

The feature is an optimized `Cursor.executemany` that binds parameters into an array to drastically reduce network round trips. This can be a major speedup, but this preliminary version is turned off by default because it can only be used with drivers that use UCS-2 exclusively and that properly deal with the ODBC numeric structure. Right now I would recommend only using this with SQL Server on Windows. This feature will be tweaked in the near future to support as many drivers as possible and to use the configured encodings.

Fixes

* Add a workaround for building on macOS High Sierra.
* Add support for building with homebrew unixODBC
* Fix Unicode error messages that were sometimes garbled in the past.
* Fix Cursor.columns, primaryKeys, and similar metadata methods that would not allow `None` passed in for optional keyword parameters such as `Cursor.columns('t1', schema=None)`.

4.0.16

Not secure
This release adds support for subinterpreters, which fixes crashes in systems like mod_wsgi that run multiple Python interpreters in the same process.

4.0.15

Not secure
Upgrade ASAP. Previous 4.x versions could cause any parameters passed to SQL statements to live forever by incrementing their reference count.

4.0.14

Not secure
Fix for 206 where Cursor.fetchall() fails due to a possible bug in PyCodec_Encode. Encoding works correctly but it sets an invalid exception which fetchall() detects.

Page 4 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.