You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 75f5bfd
Browse filesBrowse the repository at this point in the historyBrowse files
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>
Copy file name to clipboardExpand all lines: docs/connect/python/mssql-python/stored-procedures.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ description: Learn how to execute stored procedures and work with output paramet
4
4
author: dlevy-msft-sql
5
5
ms.author: dlevy
6
6
ms.reviewer: vanto, randolphwest
7
-
ms.date: 08/28/2026
7
+
ms.date: 09/14/2026
8
8
ms.service: sql
9
9
ms.subservice: connectivity
10
10
ms.topic: how-to
@@ -405,7 +405,7 @@ The `mssql-python` driver raises `NotSupportedError` if you call `cursor.callpro
405
405
406
406
### Table-valued parameters (TVPs)
407
407
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:
409
409
410
410
- Insert into a temp table first, then have the stored procedure read from it.
411
411
- Use `bulkcopy()` to load data into a staging table.
| 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 |
| 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.
44
45
| 1.0.0 | November 2025 | Previous | Initial GA release |
45
46
46
47
> [!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.
48
49
49
50
## Python version compatibility
50
51
@@ -103,7 +104,7 @@ The mssql-python driver uses DDBC (Direct Database Connectivity) and doesn't req
103
104
104
105
## Feature compatibility
105
106
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).
Copy file name to clipboardExpand all lines: docs/connect/python/mssql-python/whats-new.md
+63-1Lines changed: 63 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ description: Learn about new features and changes in each version of the mssql-p
4
4
author: dlevy-msft-sql
5
5
ms.author: dlevy
6
6
ms.reviewer: vanto, randolphwest
7
-
ms.date: 08/28/2026
7
+
ms.date: 09/14/2026
8
8
ms.service: sql
9
9
ms.subservice: connectivity
10
10
ms.topic: whats-new
@@ -17,6 +17,68 @@ This article lists what changed in each release of the mssql-python driver, newe
17
17
18
18
For the versions that Microsoft currently supports, see [Support lifecycle](support-lifecycle.md).
19
19
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).
0 commit comments