Skip to content

Commit 75f5bfd

Browse files
docs: update mssql-python docs for 1.15.0
Adds the 1.15.0 release section to the what's new article, updates the support lifecycle tables, and bumps the version pins in installation and quickstart samples to 1.15.0. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1 parent 8aa523d commit 75f5bfd

9 files changed

Lines changed: 84 additions & 21 deletions

‎docs/connect/python/mssql-python/container-local-development.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Set up local development environments, Docker containers, and CI pi
44
author: dlevy-msft-sql
55
ms.author: dlevy
66
ms.reviewer: vanto, randolphwest
7-
ms.date: 08/28/2026
7+
ms.date: 09/14/2026
88
ms.service: sql
99
ms.subservice: connectivity
1010
ms.topic: how-to
@@ -169,7 +169,7 @@ CMD ["python", "app.py"]
169169
Your `requirements.txt`:
170170

171171
```text
172-
mssql-python>=1.14.0
172+
mssql-python>=1.15.0
173173
```
174174

175175
Build and run:

‎docs/connect/python/mssql-python/installation.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn how to install the mssql-python driver on Windows, Linux, and
44
author: dlevy-msft-sql
55
ms.author: dlevy
66
ms.reviewer: vanto, randolphwest
7-
ms.date: 08/28/2026
7+
ms.date: 09/14/2026
88
ms.service: sql
99
ms.subservice: connectivity
1010
ms.topic: how-to
@@ -40,7 +40,7 @@ pip install --upgrade mssql-python
4040
To install a specific version:
4141

4242
```bash
43-
pip install mssql-python==1.14.0
43+
pip install mssql-python==1.15.0
4444
```
4545

4646
## Verify the installation
@@ -59,7 +59,7 @@ print(f"Parameter style: {mssql_python.paramstyle}")
5959
Expected output:
6060

6161
```output
62-
mssql-python version: 1.14.0
62+
mssql-python version: 1.15.0
6363
DB-API level: 2.0
6464
Thread safety: 1
6565
Parameter style: pyformat

‎docs/connect/python/mssql-python/module-configuration.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn how to configure global module settings in the mssql-python d
44
author: dlevy-msft-sql
55
ms.author: dlevy
66
ms.reviewer: vanto, randolphwest
7-
ms.date: 08/28/2026
7+
ms.date: 09/14/2026
88
ms.service: sql
99
ms.subservice: connectivity
1010
ms.topic: how-to
@@ -171,7 +171,7 @@ Check which version of the driver is installed:
171171
import mssql_python
172172

173173
# Driver version
174-
print(mssql_python.__version__) # e.g., '1.14.0'
174+
print(mssql_python.__version__) # e.g., '1.15.0'
175175
```
176176

177177
## Configure settings at startup

‎docs/connect/python/mssql-python/python-sql-driver-mssql-python-arrow-quickstart.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Use the mssql-python driver's Arrow fetch methods to retrieve SQL S
44
author: dlevy-msft-sql
55
ms.author: dlevy
66
ms.reviewer: vanto, randolphwest
7-
ms.date: 08/28/2026
7+
ms.date: 09/14/2026
88
ms.service: sql
99
ms.subservice: connectivity
1010
ms.topic: quickstart-sdk
@@ -91,7 +91,7 @@ code .
9191
readme = "README.md"
9292
requires-python = ">=3.11"
9393
dependencies = [
94-
"mssql-python>=1.14.0",
94+
"mssql-python>=1.15.0",
9595
"pyarrow>=19.0.0",
9696
"python-dotenv>=1.1.1",
9797
"rich>=14.1.0",

‎docs/connect/python/mssql-python/python-sql-driver-mssql-python-bulk-copy-quickstart.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: This quickstart describes bulk copying data between databases using
44
author: dlevy-msft-sql
55
ms.author: dlevy
66
ms.reviewer: vanto, randolphwest
7-
ms.date: 08/28/2026
7+
ms.date: 09/14/2026
88
ms.service: sql
99
ms.subservice: connectivity
1010
ms.topic: quickstart-sdk
@@ -93,7 +93,7 @@ code .
9393
readme = "README.md"
9494
requires-python = ">=3.11"
9595
dependencies = [
96-
"mssql-python>=1.14.0",
96+
"mssql-python>=1.15.0",
9797
"python-dotenv>=1.1.1",
9898
"pyarrow>=19.0.0",
9999
]

‎docs/connect/python/mssql-python/python-sql-driver-mssql-python-repeatable-deployments-quickstart.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Use uv to create repeatable Python environments for database applic
44
author: dlevy-msft-sql
55
ms.author: dlevy
66
ms.reviewer: vanto, randolphwest
7-
ms.date: 08/28/2026
7+
ms.date: 09/14/2026
88
ms.service: sql
99
ms.subservice: connectivity
1010
ms.topic: quickstart-sdk
@@ -91,7 +91,7 @@ code .
9191
readme = "README.md"
9292
requires-python = ">=3.11"
9393
dependencies = [
94-
"mssql-python>=1.14.0",
94+
"mssql-python>=1.15.0",
9595
"python-dotenv>=1.1.1",
9696
"rich>=14.1.0",
9797
]

‎docs/connect/python/mssql-python/stored-procedures.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn how to execute stored procedures and work with output paramet
44
author: dlevy-msft-sql
55
ms.author: dlevy
66
ms.reviewer: vanto, randolphwest
7-
ms.date: 08/28/2026
7+
ms.date: 09/14/2026
88
ms.service: sql
99
ms.subservice: connectivity
1010
ms.topic: how-to
@@ -405,7 +405,7 @@ The `mssql-python` driver raises `NotSupportedError` if you call `cursor.callpro
405405

406406
### Table-valued parameters (TVPs)
407407

408-
Table-valued parameters aren't supported in the current version (1.14.0) of `mssql-python`. If you need to pass a set of rows to a stored procedure, use these alternatives:
408+
Table-valued parameters aren't supported in the current version (1.15.0) of `mssql-python`. If you need to pass a set of rows to a stored procedure, use these alternatives:
409409

410410
- Insert into a temp table first, then have the stored procedure read from it.
411411
- Use `bulkcopy()` to load data into a staging table.

‎docs/connect/python/mssql-python/support-lifecycle.md‎

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn about the support lifecycle, versioning policy, and compatibi
44
author: dlevy-msft-sql
55
ms.author: dlevy
66
ms.reviewer: vanto, randolphwest
7-
ms.date: 08/28/2026
7+
ms.date: 09/14/2026
88
ms.service: sql
99
ms.subservice: connectivity
1010
ms.topic: lifecycle
@@ -21,13 +21,14 @@ Always use the latest release to get new features, performance improvements, and
2121

2222
### Current version
2323

24-
Version 1.14.0 is the current general availability (GA) release.
24+
Version 1.15.0 is the current general availability (GA) release.
2525

2626
### Version history
2727

2828
| Version | Release date | Status | Key features |
2929
| --------- | -------------- | -------- | -------------- |
30-
| 1.14.0 | August 2026 | **Current** | Native parameter binding pipeline, `connect(timeout=)` sets the authentication timeout, bulk copy accepts `timeout=0`, Arrow View types in bulk copy |
30+
| 1.15.0 | September 2026 | **Current** | Native `setinputsizes()` handling, `memoryview` support in `Binary()`, module-level SQL Server type constants, ARM64 native core in Windows ARM64 wheels |
31+
| 1.14.0 | August 2026 | Previous | Native parameter binding pipeline, `connect(timeout=)` sets the authentication timeout, bulk copy accepts `timeout=0`, Arrow View types in bulk copy |
3132
| 1.13.0 | August 2026 | Previous | Apache Arrow bulk copy, `token_provider` parameter, identity-aware connection pooling, required `mssql-python-odbc` companion package |
3233
| 1.12.0 | July 2026 | Previous | Standalone `mssql-python-odbc` companion package, bulk copy connect-timeout fix, bulk copy CLR UDT fix |
3334
| 1.11.0 | July 2026 | Previous | Context manager commit/rollback, Apple Silicon fix, service principal bulk copy fix |
@@ -44,7 +45,7 @@ Version 1.14.0 is the current general availability (GA) release.
4445
| 1.0.0 | November 2025 | Previous | Initial GA release |
4546

4647
> [!IMPORTANT]
47-
> Only the current version (1.14.0) receives new features and bug fixes. Previous versions remain functional but don't receive updates.
48+
> Only the current version (1.15.0) receives new features and bug fixes. Previous versions remain functional but don't receive updates.
4849
4950
## Python version compatibility
5051

@@ -103,7 +104,7 @@ The mssql-python driver uses DDBC (Direct Database Connectivity) and doesn't req
103104

104105
## Feature compatibility
105106

106-
The following tables list SQL Server features and their support status in the current version (1.14.0) of the mssql-python driver. If a feature you need isn't supported, such as Always Encrypted or MARS, consider using [pyodbc](/sql/connect/python/pyodbc/python-sql-driver-pyodbc) instead. For information about features added in earlier versions, see [What's new in mssql-python](whats-new.md).
107+
The following tables list SQL Server features and their support status in the current version (1.15.0) of the mssql-python driver. If a feature you need isn't supported, such as Always Encrypted or MARS, consider using [pyodbc](/sql/connect/python/pyodbc/python-sql-driver-pyodbc) instead. For information about features added in earlier versions, see [What's new in mssql-python](whats-new.md).
107108

108109
### SQL Server features
109110

‎docs/connect/python/mssql-python/whats-new.md‎

Lines changed: 63 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn about new features and changes in each version of the mssql-p
44
author: dlevy-msft-sql
55
ms.author: dlevy
66
ms.reviewer: vanto, randolphwest
7-
ms.date: 08/28/2026
7+
ms.date: 09/14/2026
88
ms.service: sql
99
ms.subservice: connectivity
1010
ms.topic: whats-new
@@ -17,6 +17,68 @@ This article lists what changed in each release of the mssql-python driver, newe
1717

1818
For the versions that Microsoft currently supports, see [Support lifecycle](support-lifecycle.md).
1919

20+
## mssql-python 1.15.0
21+
22+
**Release date**: September 2026
23+
24+
### Enhancements
25+
26+
#### `setinputsizes()` parameter handling runs in native code
27+
28+
Parameter handling for `setinputsizes()` now runs through the native C++ execution pipeline instead of per-parameter Python calls. Wide, batched, and frequently executed parameterized statements spend less time in Python-side parameter processing. No application change is needed.
29+
30+
For more information, see [Data type mappings](data-type-mappings.md#use-setinputsizes).
31+
32+
#### `Binary()` accepts `memoryview` objects
33+
34+
`Binary()` now accepts a `memoryview` as a binary input, so you can pass a zero-copy view of a buffer without converting it to `bytes` first.
35+
36+
For more information, see [Binary data](binary-data.md).
37+
38+
#### SQL Server type constants are available from the `mssql_python` module
39+
40+
The SQL Server type constants are now exposed directly from the `mssql_python` module, which makes them easier to find when you declare parameter types or read type metadata.
41+
42+
For more information, see [Data type mappings](data-type-mappings.md).
43+
44+
### Bug fixes
45+
46+
#### Concurrent logging could hang the process
47+
48+
The native logging paths acquired the GIL and internal mutexes in an inconsistent order, so a multithreaded application with driver logging enabled could deadlock. The lock ordering is corrected.
49+
50+
#### Windows ARM64 wheels didn't include an ARM64 native core
51+
52+
The Windows ARM64 wheel didn't vendor a matching ARM64 `mssql_py_core` binary, which affected bulk copy on that platform. The wheel now ships the ARM64 build.
53+
54+
For more information, see [Bulk copy](bulk-copy.md).
55+
56+
#### Bundled Windows DLLs relied on the process search path
57+
58+
The driver and authentication DLLs that ship in the package are now loaded from package-local directories. Native dependencies resolve without depending on process-wide search-path configuration, which was unreliable in some deployment environments.
59+
60+
#### `Decimal` parameters were bound differently depending on their value
61+
62+
A `Decimal` parameter is now bound as `SQL_NUMERIC` regardless of its runtime value, so decimal parameter typing stays the same across values and execution paths.
63+
64+
For more information, see [Decimal and money data](decimal-money.md).
65+
66+
#### Parameter binding used obsolete ODBC 2.x type identifiers
67+
68+
Typed parameters now use ODBC 3.x type identifiers in place of their ODBC 2.x equivalents, which avoids mismatches against current driver configurations.
69+
70+
#### `Connection.getinfo(SQL_DATABASE_NAME)` returned an undecoded value
71+
72+
The value returned for `SQL_DATABASE_NAME` is now decoded, so the database name comes back as Python text.
73+
74+
For more information, see [Connection management](connection-management.md).
75+
76+
#### Cursor cleanup crashed at interpreter shutdown
77+
78+
A connection holding cursors in mixed lifecycle states cleaned them up in an order that could crash the process when some of that cleanup ran during interpreter shutdown. Shutdown now completes normally.
79+
80+
For more information, see [Cursor management](cursor-management.md).
81+
2082
## mssql-python 1.14.0
2183

2284
**Release date**: August 2026

0 commit comments

Comments
 (0)