Skip to content

Commit c93149a

Browse files
committed
Merged PR 6462: RELEASE: 0.14.0
#### AI description (iteration 1) #### PR Classification This pull request is a release update that introduces new features, bug fixes, and a breaking change. #### PR Summary The release notes for version 0.14.0 have been updated to highlight significant performance improvements, enhanced functionality, and critical bug fixes, and the project version has been bumped accordingly. - `PyPI_Description.md`: Updated the release documentation to include new features (faster fetching, connection string validation, enhanced DECIMAL precision, comprehensive logging, connection attribute control, XML support) along with bug fixes and a breaking change on connection string validation. - `setup.py`: Updated the version number from 0.13.1 to 0.14.0. <!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot --> Related work items: #40507
1 parent bc79a97 commit c93149a

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

PyPI_Description.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,22 @@ PyBind11 provides:
3939

4040
We are currently in **Public Preview**.
4141

42-
## What's new in v0.13.1
43-
44-
- **Authentication Reliability:** Fixed token handling for Microsoft Entra ID authentication to ensure stable and reliable connections.
45-
- **Timezone Preservation:** Removed forced UTC conversion for `datetimeoffset` values, preserving original timezone information in Python `datetime` objects for accurate cross-timezone data handling.
46-
- **Connection Pooling Stability:** Enhanced pool shutdown mechanism with proper tracking to prevent resource leaks and ensure cleanup operations execute reliably.
47-
- **Predictable Type Handling:** Refined UUID string parameter handling to prevent automatic type coercion, ensuring strings are processed as intended.
42+
## What's new in v0.14.0
43+
44+
### New Features
45+
- **50-60% Faster Fetching:** Major optimizations including direct UTF-16 decoding, Python C API usage, and cached converters deliver dramatic performance gains for large result sets (100K+ rows), with **1.4-1.7× improvement** for very large datasets.
46+
- **Connection String Validation:** Intelligent parser with allowlist validation, synonym normalization, and clear error messages for malformed strings. **Breaking change:** Unknown parameters now raise errors instead of being silently ignored.
47+
- **Enhanced DECIMAL Precision:** Increased precision support from 15 to 38 digits (SQL Server maximum) with proper binary representation for high-precision calculations.
48+
- **Comprehensive Logging:** Unified Python-C++ logging framework with `setup_logging()` API for detailed diagnostics with zero overhead when disabled.
49+
- **Connection Attribute Control:** New `Connection.set_attr()` method for fine-grained control over ODBC connection attributes, isolation levels, and timeouts (pyodbc-compatible API).
50+
- **XML Data Type:** Comprehensive support for SQL Server `XML` type, including efficient streaming for large documents.
51+
- **DECIMAL Scientific Notation:** Improved handling of decimal values in scientific notation to prevent SQL Server conversion errors.
52+
53+
### Bug Fixes
54+
- **Access Token Management:** Fixed Microsoft Entra ID authentication token handling to eliminate corruption in concurrent scenarios.
55+
- **Decimal executemany Fix:** Resolved type inference issues when batch inserting Decimal values.
56+
57+
⚠️ **Breaking Change:** Connection string validation now raises `ConnectionStringParseError` for unknown/misspelled parameters. Review connection strings before upgrading.
4858

4959
For more information, please visit the project link on Github: https://github.com/microsoft/mssql-python
5060

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def finalize_options(self):
8383

8484
setup(
8585
name='mssql-python',
86-
version='0.13.1',
86+
version='0.14.0',
8787
description='A Python library for interacting with Microsoft SQL Server',
8888
long_description=open('PyPI_Description.md', encoding='utf-8').read(),
8989
long_description_content_type='text/markdown',

0 commit comments

Comments
 (0)