Rediger

Support lifecycle for mssql-python

The mssql-python driver is Microsoft's official Python driver for SQL Server, Azure SQL Database, Azure SQL Managed Instance, and SQL database in Microsoft Fabric. The driver is actively maintained on GitHub and released through PyPI. This article covers versioning, platform compatibility, and support timelines.

Version support

Always use the latest release to get new features, performance improvements, and security fixes. New capabilities are only added to the current release.

Current version

Version 1.11.0 is the current general availability (GA) release.

Version history

Version Release date Status Key features
1.11.0 July 2026 Current Context manager commit/rollback, Apple Silicon fix, service principal bulk copy fix
1.10.0 June 2026 Previous Bulk copy with ActiveDirectoryServicePrincipal, Arrow VARCHAR fixes
1.9.0 June 2026 Previous Bulk copy with Row objects, improved NULL parameter typing
1.8.0 May 2026 Previous Bulk copy with ActiveDirectoryMSI, Row string-key indexing
1.7.1 May 2026 Previous RHEL 8 wheels, broader concurrency and Unicode fixes
1.6.0 April 2026 Previous Parser-based connection string sanitization, connect/disconnect concurrency fixes
1.5.0 April 2026 Previous Arrow fetch, sql_variant, native UUID
1.4.0 February 2025 Previous Bulk copy support (BCP)
1.3.0 January 2025 Previous Settings class, module configuration
1.2.0 November 2024 Previous Schema discovery methods
1.1.0 September 2024 Previous Custom output converters
1.0.0 July 2024 Previous Initial GA release

Important

Only the current version (1.11.0) receives new features and bug fixes. Previous versions remain functional but don't receive updates. Upgrade to the latest version for the best experience.

Python version compatibility

The mssql-python driver requires Python 3.10 or later. If you're starting a new project, target the newest supported Python release in the compatibility matrix for the longest support window. If you're constrained to an older Python version (3.9 or earlier), use pyodbc instead.

Python version Support status
Python 3.14 Supported
Python 3.13 Supported
Python 3.12 Supported
Python 3.11 Supported
Python 3.10 Supported (minimum)
Python 3.9 and earlier Not supported

Important

Always use a supported Python version. Older Python versions don't receive security updates.

SQL Server version compatibility

The mssql-python driver uses the TDS protocol and works with all actively supported SQL Server versions.

SQL Server version Support status
All supported versions of Microsoft SQL Server Fully supported

Azure SQL services

Service Support status
Azure SQL Database Fully supported
Azure SQL Managed Instance Fully supported
Azure Synapse Analytics (dedicated pools) Supported

Microsoft Fabric

Endpoint Support status
SQL database in Fabric Fully supported
Fabric Data Warehouse Supported
SQL analytics endpoint (Lakehouse) Supported
SQL analytics endpoint (mirrored database) Supported

Operating system compatibility

The mssql-python driver uses DDBC (Direct Database Connectivity) and doesn't require the Microsoft ODBC Driver to be installed. Removing the external dependency simplifies deployment, especially in containers and CI/CD pipelines.

Operating system Architecture Support status
Windows 11 x64, ARM64 Supported
Windows Server 2019, 2022, 2025 x64 Supported
Ubuntu 22.04, 24.04, 26.04 x64, ARM64 Supported
Debian 11, 12 x64, ARM64 Supported
Red Hat Enterprise Linux 8, 9 x64, ARM64 Supported
macOS 14, 15, 26 Intel, Apple Silicon (ARM64) Supported
Alpine Linux x64 Supported

Feature compatibility

The following tables list SQL Server features and their support status in the current version (1.11.0) of the mssql-python driver. If a feature you need isn't supported (such as Always Encrypted or MARS), consider using pyodbc instead. For information about features added in earlier versions, see What's new in mssql-python.

SQL Server features

Feature mssql-python support
Encrypted connections (TLS) Supported
Always Encrypted Not supported
Microsoft Entra authentication Supported
Multiple Active Result Sets (MARS) Not supported
Bulk copy (BCP) Supported
Apache Arrow fetch Supported
sql_variant columns Supported
Native UUID Supported
Connection resiliency Supported
Read-only routing Supported

DB-API 2.0 compliance

Feature Support
Module interface Compliant
Connection interface Compliant
Cursor interface Mostly compliant
Type objects Compliant
Exceptions Compliant
callproc() Not implemented

Note

The callproc() method isn't implemented. Call stored procedures by using EXECUTE statements with standard query methods.

Dependency requirements

The mssql-python driver has minimal dependencies:

Dependency Purpose Version
azure-identity Microsoft Entra ID authentication Required (>= 1.12.0)

The mssql-python driver doesn't require a Microsoft ODBC Driver installation.

Migration from pyodbc

The mssql-python driver simplifies deployment (no ODBC driver required) and provides built-in connection pooling. The main differences to plan for when migrating:

Consideration Notes
Parameter style pyodbc uses qmark positional parameters. mssql-python defaults to pyformat named parameters and also supports qmark for compatibility.
Row access Attribute access is supported in both.
Stored procedures Use EXECUTE (no callproc).
Connection pooling Built-in pooling in the mssql-python driver.

See Migrate from pyodbc for detailed guidance.

Migration from pymssql

The pymssql driver is no longer actively maintained. The mssql-python driver offers a supported alternative with similar connection syntax but modern features like built-in connection pooling and Microsoft Entra authentication.

Consideration Notes
FreeTDS dependency Not required. The mssql-python driver uses DDBC.
Connection parameters Similar style, but different parameter names.
Row access Both support dictionary-style and attribute access patterns.
Stored procedures Use EXECUTE (no callproc).

See Migrate from pymssql for detailed guidance.

Breaking changes policy

  • Major versions (2.0, 3.0): Major version changes signify breaking API changes.
  • Minor versions (1.4, 1.5): Include new features and maintain backward compatibility.
  • Patch versions (1.4.1, 1.4.2): Include bug fixes only.

The team documents breaking changes in release notes and provides migration guides.

How to stay current

The mssql-python driver releases minor versions frequently. Check for updates regularly, especially before production deployments.

Check installed version

Verify which version of the driver is currently installed in your environment:

import mssql_python
print(mssql_python.__version__)

Upgrade to latest version

Update to the latest release to get the newest features and security fixes.

pip install --upgrade mssql-python

Subscribe to updates

  • Watch the GitHub repository.
  • Check PyPI for new releases.
  • Review the changelog for each release.

Getting support

GitHub Issues

Report bugs and request features on GitHub:

Documentation

Community

  • Stack Overflow: Tag questions with mssql-python.
  • GitHub Discussions: Use for general questions and discussions.