diff --git a/PyPI_Description.md b/PyPI_Description.md index 7e52cc08..0db7c950 100644 --- a/PyPI_Description.md +++ b/PyPI_Description.md @@ -35,22 +35,24 @@ PyBind11 provides: - Memory-safe bindings - Clean and Pythonic API, while performance-critical logic remains in robust, maintainable C++. -## What's new in v1.4.0 +## What's new in v1.5.0 ### Features -- **Bulk Copy Support** - High-performance bulk data loading API is now publicly available with support for large-scale ETL workloads, configurable batch sizes, column mappings, and identity/constraint handling. -- **Spatial Type Support** - Added support for geography, geometry, and hierarchyid spatial types. -- **mssql-py-core Upgrade** - Upgraded to mssql-py-core version 0.1.0 with enhanced connection string parameter support. -- **Type Annotations** - Added py.typed marker for improved type checking support. -- **Azure SQL Database Testing** - Added Azure SQL Database to PR validation pipeline matrix. +- **Apache Arrow Fetch Support** - Added high-performance Arrow-based data fetching via `cursor.arrow()`, `cursor.arrow_batch()`, and `cursor.arrow_reader()`, enabling zero-copy integration with pandas, Polars, and other Arrow-native data frameworks. +- **sql_variant Type Support** - Added support for the `sql_variant` complex SQL Server data type. +- **Native UUID Support** - Added native support for fetching and binding UUID/GUID values without manual string conversion. +- **Row Class Export** - `Row` class is now publicly exported from the top-level `mssql_python` module for easier use in type annotations and downstream code. ### Bug Fixes -- **VARCHAR Encoding Fix** - Fixed VARCHAR fetch failures when data length equals column size with non-ASCII CP1252 characters. -- **Segmentation Fault Fix** - Fixed segmentation fault when interleaving fetchmany and fetchone calls. -- **Date/Time Type Mappings** - Aligned date/time type code mappings with ODBC 18 driver source. -- **Pipeline Updates** - Updated OneBranch pipelines for new 1ES images and pool selection. +- **Qmark False Positive Fix** - Fixed false positive qmark (`?`) detection for `?` appearing inside bracketed identifiers, string literals, and SQL comments. +- **NULL VARBINARY Parameter Fix** - Fixed NULL parameter type mapping for VARBINARY columns. +- **Bulkcopy Auth Fix** - Fixed stale auth fields being retained in `pycore_context` after token acquisition during bulk copy operations. +- **Explicit Module Exports** - Added explicit `__all__` exports from the main library module to prevent import resolution issues. +- **Credential Cache Fix** - Fixed credential instance cache to correctly reuse and invalidate cached credential objects. +- **datetime.time Microseconds Fix** - Fixed stored `datetime.time` values incorrectly having `microseconds` set to zero. +- **Arrow Time Fractional Seconds Fix** - Fixed time handling in Arrow integration to correctly include fractional seconds. For more information, please visit the project link on Github: https://github.com/microsoft/mssql-python diff --git a/mssql_python/__init__.py b/mssql_python/__init__.py index 779cc312..7e86fbfd 100644 --- a/mssql_python/__init__.py +++ b/mssql_python/__init__.py @@ -14,7 +14,7 @@ from .helpers import Settings, get_settings, _settings, _settings_lock # Driver version -__version__ = "1.4.0" +__version__ = "1.5.0" # Exceptions # https://www.python.org/dev/peps/pep-0249/#exceptions diff --git a/setup.py b/setup.py index a51b3f4e..120b6f55 100644 --- a/setup.py +++ b/setup.py @@ -173,7 +173,7 @@ def run(self): setup( name="mssql-python", - version="1.4.0", + version="1.5.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",