Release Notes
Features
-
Linux Support (manylinux2014 for Ubuntu, Debian, RHEL):
What changed:
The driver now supports Linux systems by adding manylinux2014-compatible wheel builds, Linux-specific driver logic, and architecture-aware ODBC path resolution.
Who benefits:
Python developers on Linux, including CI/CD and containerized environments.
Impact:
Enables cross-platform development and deployment with SQL Server. Devs can now use the driver on popular Linux distros without workarounds. Broader adoption expected in data science and server-side workloads.Support for other Linux based distros will come in subsequent releases.
-
Connection Pooling Support for MacOS and Linux:
What changed:
Unified connection pooling code across platforms and implemented it for macOS and Linux, with added test coverage.
Who benefits:
Developers on macOS and Linux working with high-performance, scalable or long-running applications.
Impact:
Brings parity with Windows support. Reduces connection overhead and improves performance for apps with frequent DB connections. -
Expanded Pipeline/Test Matrix:
What changed:
Extended CI pipelines to include Python versions < 3.13. Integrated test support for LocalDB and Docker-based SQL Server instances.
Who benefits:
Core contributors and testers ensuring reliability across Python versions and DB environments.
Impact:
Improves compatibility assurance, release confidence, and reduces risk of regressions across environments.
Improvements
-
Cross-Platform Code Unification:
What changed:
Removed OS-specific driver-loading logic and consolidated platform handling into shared code.
Who benefits:
Maintainers and contributors.
Impact:
Simplifies the codebase, improves maintainability, and reduces OS-specific bugs. -
Improved Logging and Diagnostics:
What changed:
Improved logging around driver loading, parameter binding, and platform-dependent behavior.
Who benefits:
Developers and support engineers debugging complex issues.
Impact:
Speeds up issue resolution, especially on unfamiliar platforms like Linux/macOS. -
PR Template and Automation:
What changed:
Introduced a new pull request template and added GitHub Actions to enforce formatting rules.
Who benefits:
Contributors and reviewers.
Impact:
Ensures consistent and high-quality contributions, reducing review time and human error.
Bug Fixes
- Dynamic Linking Fix for macOS (#98):
What changed:
Standardized dynamic linking using -undefined dynamic_lookup for Python extensions. Removed hardcoded lib paths.
Who benefits:
macOS developers, especially those using virtual environments.
Impact:
Improves compatibility and stability of the driver on macOS, especially during installs and builds.