diff --git a/CHANGELOG.md b/CHANGELOG.md index 968560791..a0ffb1871 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,84 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) +## [13.3.1] Preview Release + +### Added + +- **Introduce prepareMethod=scopeTempTablesToConnection for PreparedStatements with temp tables** [#2844](https://github.com/microsoft/mssql-jdbc/pull/2844) +**What was added**: New prepareMethod option that scopes temporary tables created in prepared statements to the connection by using literal parameter substitution instead of server-side prepared handles. +**Who benefits**: Developers using temporary tables (#temp) inside PreparedStatement executions. +**Impact**: Ensures temporary tables remain visible across executions of different prepared statements/statements within the same connection. + +- **Send User Agent Information via TDS Feature Extension** [#2848](https://github.com/microsoft/mssql-jdbc/pull/2848) +**What was added**: User agent telemetry is sent to SQL Server using a new LOGIN7 TDS Feature Extension (USERAGENT). +**Who benefits**: Platform owners and maintainers analyzing driver usage patterns and runtime environments. +**Impact**: Improves telemetry accuracy and enables data-driven testing and support decisions without affecting application behavior. + +- **Enable Vector and JSON Tests on SQL Server 2025** [#2846](https://github.com/microsoft/mssql-jdbc/pull/2846) +**What was added**: Test coverage for vector and JSON features on SQL Server 2025 with a new xSQLv17 test tag. +**Who benefits**: Contributors validating driver compatibility with the latest SQL Server release. +**Impact**: More testing coverage increases confidence in SQL Server 2025 vector and JSON functionality. + +- **Enhance Code Coverage for SQLServerResultSet** [#2870](https://github.com/microsoft/mssql-jdbc/pull/2870) +**What was added**: Expanded unit test coverage for SQLServerResultSet. +**Who benefits**: Driver maintainers and contributors. +**Impact**: Improves long-term stability and regression detection. + +### Changed + +- **Update bundle-version in Manifest to Include JRE Suffix** [#2876](https://github.com/microsoft/mssql-jdbc/pull/2876) +**What changed**: Bundle-Version in the manifest now includes the jre8 / jre11 suffix to match the JAR file name. +**Who benefits**: Users and tooling relying on OSGi metadata consistency. +**Impact**: Aligns manifest metadata with published artifacts and avoids ambiguity. + +### Fixed + +- **SQL Server Integrity Enhancement Support in supportsIntegrityEnhancementFacility** [#2745](https://github.com/microsoft/mssql-jdbc/pull/2745) +**What was fixed**: Corrected metadata reporting to reflect SQL Server’s support for integrity constraints. +**Who benefits**: Applications relying on JDBC metadata to determine database capabilities. +**Impact**: Ensures accurate reporting of primary key, foreign key, check, unique, and NOT NULL constraint support. + +- **Fix Geography Coordinate Parsing with Scientific Notation** [#2837](https://github.com/microsoft/mssql-jdbc/pull/2837) +**What was fixed**: Prevented NumberFormatException when parsing Geography coordinates expressed in scientific notation. +**Who benefits**: Applications working with very small spatial coordinate values. +**Impact**: Enables correct handling of negative exponents in WKT parsing. + +- **Bulk Copy Batch Insert: Proper Fallback for SQL Functions** [#2845](https://github.com/microsoft/mssql-jdbc/pull/2845) +**What was fixed**: Automatic fallback to standard batch execution when SQL functions are used in bulk copy batch inserts. +**Who benefits**: Users executing PreparedStatement.executeBatch() with expressions like len(?) or encryption functions. +**Impact**: Prevents bulk copy failures while preserving performance for compatible statements. + +- **Fix Bulk Copy Batch Insert with Persisted Computed Columns** [#2855](https://github.com/microsoft/mssql-jdbc/pull/2855) +**What was fixed**: Corrected destination column validation logic to ignore computed persisted columns in bulk copy batch insert. +**Who benefits**: Users performing bulk inserts into tables with computed columns. +**Impact**: Prevents false “invalid column mapping” errors and restores bulk copy compatibility. + +- **Fix DatabaseMetaData.getIndexInfo() Collation Conflict in UNION ALL** [#2867](https://github.com/microsoft/mssql-jdbc/pull/2867) +**What was fixed**: Resolved collation conflicts when server and database collations differ in the query executed by getIndexInfo call. +**Who benefits**: Applications querying index metadata in mixed-collation environments. +**Impact**: Ensures reliable metadata retrieval by applying COLLATE DATABASE_DEFAULT consistently. + +- **Fix getSchemas() Returning NULL TABLE_CATALOG for Built-in Schemas** [#2872](https://github.com/microsoft/mssql-jdbc/pull/2872) +**What was fixed**: Corrected catalog resolution logic for built-in schemas like dbo, sys etc. +**Who benefits**: Applications consuming schema metadata. +**Impact**: Ensures JDBC-compliant catalog reporting for all schemas. + +- **Fix Statement.execute() Skipping Update Count After Batch Error** [#2866](https://github.com/microsoft/mssql-jdbc/pull/2866) +**What was fixed**: Prevented loss of valid update counts following an error in mixed batch execution. +**Who benefits**: Applications using Statement.execute() with mixed DML and query batches. +**Impact**: Restores correct JDBC result traversal semantics after exceptions. + +- **Support IP Address Validation in Certificate SAN** [#2873](https://github.com/microsoft/mssql-jdbc/pull/2873) +**What was fixed**: Added RFC 5280–compliant IP address validation in SSL certificate SAN checks. +**Who benefits**: Users connecting via IP address over TLS. +**Impact**: Removes need for hostname workarounds while preserving strict security guarantees. + +- **Fix TVP Type Name Collision in CallableStatement Tests** [#2869](https://github.com/microsoft/mssql-jdbc/pull/2869) +**What was fixed**: Eliminated test failures caused by table-valued parameter type name collisions. +**Who benefits**: Contributors and CI pipelines. +**Impact**: Improves test reliability without affecting runtime behavior. + ## [13.3.0] Preview Release ### Added diff --git a/README.md b/README.md index e44d3a4a7..62f753e22 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ We're now on the Maven Central Repository. Add the following to your POM file to com.microsoft.sqlserver mssql-jdbc - 13.3.0.jre11-preview + 13.3.1.jre11-preview ``` The driver can be downloaded from [Microsoft](https://aka.ms/downloadmssqljdbc). For driver version 12.1.0 and greater, please use the jre11 version when using Java 11 or greater, and the jre8 version when using Java 8. @@ -94,7 +94,7 @@ To get the latest version of the driver, add the following to your POM file: com.microsoft.sqlserver mssql-jdbc - 13.3.0.jre11-preview + 13.3.1.jre11-preview ``` @@ -129,7 +129,7 @@ Projects that require either of the two features need to explicitly declare the com.microsoft.sqlserver mssql-jdbc - 13.3.0.jre11-preview + 13.3.1.jre11-preview compile @@ -147,7 +147,7 @@ Projects that require either of the two features need to explicitly declare the com.microsoft.sqlserver mssql-jdbc - 13.3.0.jre11-preview + 13.3.1.jre11-preview compile @@ -174,7 +174,7 @@ When setting 'useFmtOnly' property to 'true' for establishing a connection or cr com.microsoft.sqlserver mssql-jdbc - 13.3.0.jre11-preview + 13.3.1.jre11-preview diff --git a/build.gradle b/build.gradle index f3e7466fa..85cbcc900 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,7 @@ plugins { id 'java' } -version = '13.3.0' +version = '13.3.1' def releaseExt = '-preview' def jreVersion = "" def testOutputDir = file("build/classes/java/test") diff --git a/mssql-jdbc_auth_LICENSE b/mssql-jdbc_auth_LICENSE index f59db39f3..5bcf7e47e 100644 --- a/mssql-jdbc_auth_LICENSE +++ b/mssql-jdbc_auth_LICENSE @@ -1,5 +1,5 @@ MICROSOFT SOFTWARE LICENSE TERMS -MICROSOFT JDBC DRIVER 13.3.0 FOR SQL SERVER +MICROSOFT JDBC DRIVER 13.3.1 FOR SQL SERVER These license terms are an agreement between you and Microsoft Corporation (or one of its affiliates). They apply to the software named above and any Microsoft services or software updates (except to the extent such services or updates are accompanied by new or additional terms, in which case those different terms apply prospectively and do not alter your or Microsoft’s rights relating to pre-updated software or services). IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE RIGHTS BELOW. BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. diff --git a/pom.xml b/pom.xml index d184b87d1..aea74025d 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 com.microsoft.sqlserver mssql-jdbc - 13.3.0 + 13.3.1 jar Microsoft JDBC Driver for SQL Server diff --git a/src/main/java/com/microsoft/sqlserver/jdbc/SQLJdbcVersion.java b/src/main/java/com/microsoft/sqlserver/jdbc/SQLJdbcVersion.java index ab50b5a33..75e40a0f9 100644 --- a/src/main/java/com/microsoft/sqlserver/jdbc/SQLJdbcVersion.java +++ b/src/main/java/com/microsoft/sqlserver/jdbc/SQLJdbcVersion.java @@ -8,7 +8,7 @@ final class SQLJdbcVersion { static final int MAJOR = 13; static final int MINOR = 3; - static final int PATCH = 0; + static final int PATCH = 1; static final int BUILD = 0; /* * Used to load mssql-jdbc_auth DLL. diff --git a/src/samples/adaptive/pom.xml b/src/samples/adaptive/pom.xml index 7c3d589ff..6f87c1c85 100644 --- a/src/samples/adaptive/pom.xml +++ b/src/samples/adaptive/pom.xml @@ -15,7 +15,7 @@ com.microsoft.sqlserver mssql-jdbc - 13.3.0.jre11-preview + 13.3.1.jre11-preview diff --git a/src/samples/alwaysencrypted/pom.xml b/src/samples/alwaysencrypted/pom.xml index 440534cd3..54f55414c 100644 --- a/src/samples/alwaysencrypted/pom.xml +++ b/src/samples/alwaysencrypted/pom.xml @@ -15,7 +15,7 @@ com.microsoft.sqlserver mssql-jdbc - 13.3.0.jre11-preview + 13.3.1.jre11-preview diff --git a/src/samples/azureactivedirectoryauthentication/pom.xml b/src/samples/azureactivedirectoryauthentication/pom.xml index beb803d9e..2148fa6b8 100644 --- a/src/samples/azureactivedirectoryauthentication/pom.xml +++ b/src/samples/azureactivedirectoryauthentication/pom.xml @@ -14,7 +14,7 @@ com.microsoft.sqlserver mssql-jdbc - 13.3.0.jre11-preview + 13.3.1.jre11-preview diff --git a/src/samples/connections/pom.xml b/src/samples/connections/pom.xml index 5e757cfa0..6257f5b3c 100644 --- a/src/samples/connections/pom.xml +++ b/src/samples/connections/pom.xml @@ -14,7 +14,7 @@ com.microsoft.sqlserver mssql-jdbc - 13.3.0.jre11-preview + 13.3.1.jre11-preview diff --git a/src/samples/constrained/pom.xml b/src/samples/constrained/pom.xml index 21c4bb6c4..fcf5363df 100644 --- a/src/samples/constrained/pom.xml +++ b/src/samples/constrained/pom.xml @@ -16,7 +16,7 @@ com.microsoft.sqlserver mssql-jdbc - 13.3.0.jre11-preview + 13.3.1.jre11-preview diff --git a/src/samples/dataclassification/pom.xml b/src/samples/dataclassification/pom.xml index 55d78d7a7..28933c5a1 100644 --- a/src/samples/dataclassification/pom.xml +++ b/src/samples/dataclassification/pom.xml @@ -16,7 +16,7 @@ com.microsoft.sqlserver mssql-jdbc - 13.3.0.jre11-preview + 13.3.1.jre11-preview diff --git a/src/samples/datatypes/pom.xml b/src/samples/datatypes/pom.xml index 4913c9268..51b991d61 100644 --- a/src/samples/datatypes/pom.xml +++ b/src/samples/datatypes/pom.xml @@ -15,7 +15,7 @@ com.microsoft.sqlserver mssql-jdbc - 13.3.0.jre11-preview + 13.3.1.jre11-preview diff --git a/src/samples/resultsets/pom.xml b/src/samples/resultsets/pom.xml index b98089b10..c43ba97cd 100644 --- a/src/samples/resultsets/pom.xml +++ b/src/samples/resultsets/pom.xml @@ -14,7 +14,7 @@ com.microsoft.sqlserver mssql-jdbc - 13.3.0.jre11-preview + 13.3.1.jre11-preview diff --git a/src/samples/sparse/pom.xml b/src/samples/sparse/pom.xml index 50d6447a9..78ca80833 100644 --- a/src/samples/sparse/pom.xml +++ b/src/samples/sparse/pom.xml @@ -14,7 +14,7 @@ com.microsoft.sqlserver mssql-jdbc - 13.3.0.jre11-preview + 13.3.1.jre11-preview