Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 8 additions & 16 deletions PyPI_Description.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,29 +35,21 @@ PyBind11 provides:
- Memory-safe bindings
- Clean and Pythonic API, while performance-critical logic remains in robust, maintainable C++.

## What's new in v1.1.0

### Enhancements

- **Thread-Safe Encoding/Decoding** - Mutex-based lock protection prevents race conditions in multi-threaded applications with concurrent connections. Strict validation for SQL_WCHAR types and security measures against encoding-based attacks ensure data integrity and application security.
## What's new in v1.2.0

### Critical Bug Fixes

- **Linux Stability** - Fixed critical double-free issue causing segmentation faults during Python garbage collection, significantly improving stability on Linux platforms.

- **Connection Pooling Isolation Level** - Transaction isolation level now explicitly resets to READ COMMITTED when pooled connections are reused, preventing unexpected transaction behavior and isolation level conflicts.
### Enhancements

- **Connection String Escaping** - Fixed parser and builder to correctly handle ODBC curly brace escaping rules, enabling proper handling of special characters in passwords and connection values.
- **Connection.closed Property** - Added `Connection.closed` property to check if a connection is closed, improving connection state management.

- **UTF-16 String Decoding** - Enhanced `connection.getinfo()` to properly decode UTF-16LE strings from SQL Server, eliminating data corruption when retrieving metadata with non-ASCII characters.
- **Parameter as Dictionary** - Added support for passing parameters as dictionaries, providing more flexible query parameterization.

- **NULL Parameter Arrays** - Added support for arrays containing only NULL values in `executemany()`, improving batch operation reliability.
- **Copilot Prompts** - Introduced Copilot prompts for AI-assisted development, enhancing developer productivity.

- **Query Timeout Consistency** - Refactored timeout handling to set query timeout during cursor initialization, reducing overhead and ensuring consistent timeout application.
### Bug Fixes

- **IntegrityError Detection** - Fixed error handling in `fetchall()` for INSERT statements with OUTPUT clause and multiple VALUES entries.
- **FetchMany with LOB Columns** - Fixed `fetchmany(n)` ignoring batch size when working with LOB (Large Object) columns.

- **Sensitive Parameter Filtering** - Corrected authentication parameter filtering to properly exclude Trusted_Connection while preserving encryption settings.
- **Non-ASCII Path Resolution** - Fixed path resolution for files with non-ASCII characters on Windows.

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

Expand Down
2 changes: 1 addition & 1 deletion mssql_python/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
from .helpers import Settings, get_settings, _settings, _settings_lock

# Driver version
__version__ = "1.1.0"
__version__ = "1.2.0"

# Exceptions
# https://www.python.org/dev/peps/pep-0249/#exceptions
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ def finalize_options(self):

setup(
name="mssql-python",
version="1.1.0",
version="1.2.0",
description="A Python library for interacting with Microsoft SQL Server",
long_description=open("PyPI_Description.md", encoding="utf-8").read(),
long_description_content_type="text/markdown",
Expand Down
Loading