Skip to content

Commit 558f420

Browse files
Updates for 13.1.0 preview release (#2698)
* Updates for 13.1.0 preview release * committing README change * Apply suggestions from code review * Added changes to remaining files --------- Co-authored-by: David Engel <[email protected]>
1 parent 2b37064 commit 558f420

File tree

15 files changed

+144
-22
lines changed

15 files changed

+144
-22
lines changed

CHANGELOG.md

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,128 @@ All notable changes to this project will be documented in this file.
33

44
The format is based on [Keep a Changelog](http://keepachangelog.com/)
55

6+
## [13.1.0] Preview Release
7+
8+
### Added
9+
10+
- **Vector datatype support** [#2634](https://github.com/microsoft/mssql-jdbc/pull/2634)
11+
**What was added**: Native support for SQL Server’s new `VECTOR` data type with APIs for inserts, selects, stored procedures, and bulk copy.
12+
**Who benefits**: Developers building AI/ML workloads or semantic search applications using vector data in SQL Server.
13+
**Impact**: Enables native vector storage and access via JDBC, eliminating the performance overhead of managing vector data as strings.
14+
15+
16+
- **New connection options, `quotedIdentifier` and `concatNullYieldsNull`** [#2618](https://github.com/microsoft/mssql-jdbc/pull/2618)
17+
**What was added**: ) New connection options, `quotedIdentifier` and `concatNullYieldsNull`, to control QUOTED_IDENTIFIER and CONCAT_NULL_YIELDS_NULL session settings for both new and pooled connections.
18+
**Who benefits**: Developers needing Sybase-default behavior for their applications.
19+
**Impact**: Reduces Sybase migration effort by allowing control of these session values.
20+
21+
22+
- **Support for temporal and money datatypes when using bulk copy for batch insert operations** [#2670](https://github.com/microsoft/mssql-jdbc/pull/2670)
23+
**What was added**: Support for batch inserts of `DATETIME`, `DATE`, `MONEY`, etc., when using the `useBulkCopyForBatchInsert` option.
24+
**Who benefits**: High-volume data insert users.
25+
**Impact**: Improves performance for previously unsupported types (except in Azure Synapse Analytics (formerly Azure SQL DW).
26+
27+
28+
- **Mockito integration into JDBC driver tests** [#2644](https://github.com/microsoft/mssql-jdbc/pull/2644)
29+
**What was added**: Mockito added as a test dependency.
30+
**Who benefits**: Developers and contributors writing unit tests.
31+
**Impact**: Enables better control and test coverage.
32+
33+
34+
### Changed
35+
36+
- **`releaseSavepoint` exception type standardized to `SQLFeatureNotSupported`** [#2583](https://github.com/microsoft/mssql-jdbc/pull/2583)
37+
**What changed**: SQLServerException replaced with SQLFeatureNotSupportedException to comply with JDBC specification.
38+
**Who benefits**: Developers expecting JDBC standard exceptions.
39+
**Impact**: Enables better exception handling in client code.
40+
41+
42+
- **`ActiveDirectoryPassword` authentication deprecated** [#2624](https://github.com/microsoft/mssql-jdbc/pull/2624)
43+
**What changed**: Added deprecation warning for Microsoft Entra ID password authentication method.
44+
**Who benefits**: Microsoft Entra ID authentication users.
45+
**Impact**: Encourages migration to more secure methods.
46+
47+
48+
- **Include Columnstore indexes in `getIndexInfo()`** [#2598](https://github.com/microsoft/mssql-jdbc/pull/2598)
49+
**What changed**: Replaced `sp_statistics` with a custom query to support all index types.
50+
**Who benefits**: Developers using metadata APIs.
51+
**Impact**: More accurate index metadata.
52+
53+
54+
- **Corrected schema filtering in `getSchemas()`** [#2643](https://github.com/microsoft/mssql-jdbc/pull/2643)
55+
**What changed**: Ensured schemas are properly filtered when a catalog name is provided.
56+
**Who benefits**: Users of metadata functions.
57+
**Impact**: Complies with JDBC specification and avoids confusion.
58+
59+
60+
- **Increased redirection limit** [#2659](https://github.com/microsoft/mssql-jdbc/pull/2659)
61+
**What changed**: Raised maximum redirection hops from 1 to 10.
62+
**Who benefits**: Azure SQL Fabric users.
63+
**Impact**: Enables successful multi-hop connection scenarios.
64+
65+
66+
### Fixed issues
67+
68+
- **Session recovery with Entra ID authentication and redirect mode** [#2668](https://github.com/microsoft/mssql-jdbc/pull/2668)
69+
**What was fixed**: Redirect information is now followed during session recovery when using Entra ID authentication.
70+
**Who benefits**: Azure SQL DB users using Entra ID and connection resiliency.
71+
**Impact**: Prevents connection recovery failures.
72+
73+
74+
- **Javadoc build warnings** [#2640](https://github.com/microsoft/mssql-jdbc/pull/2640)
75+
**What was fixed**: Cleaned up invalid Javadoc syntax.
76+
**Who benefits**: Developers building the driver.
77+
**Impact**: Cleaner builds, better docs.
78+
79+
80+
- **OffsetDateTime formatting in SQLServerDataTable** [#2652](https://github.com/microsoft/mssql-jdbc/pull/2652)
81+
**What was fixed**: The `OffsetDateTime` `toString()` method was omitting seconds when seconds are zero, which resulted in the server rejecting those records. Used `DateTimeFormatter` to avoid this invalid format.
82+
**Who benefits**: Users inserting `OffsetDateTime` values.
83+
**Impact**: Prevents conversion errors.
84+
85+
86+
- **String comparison in SQLServerDataTable.equals()** [#2653](https://github.com/microsoft/mssql-jdbc/pull/2653)
87+
**What was fixed**: Replaced `==` with `.equals()` for strings.
88+
**Who benefits**: Anyone comparing data tables.
89+
**Impact**: Accurate comparison behavior.
90+
91+
92+
- **PreparedStatement metadata caching for encrypted columns** [#2663](https://github.com/microsoft/mssql-jdbc/pull/2663)
93+
**What was fixed**: Fixed loss of type metadata across `PreparedStatement` reuse.
94+
**Who benefits**: Users of Always Encrypted with secure enclaves.
95+
**Impact**: Prevents insert failures in batch encryption.
96+
97+
98+
- **Make IBM security module optional** [#2636](https://github.com/microsoft/mssql-jdbc/pull/2636)
99+
**What was fixed**: IBM security dependency is now optional.
100+
**Who benefits**: Applications not using IBM modules.
101+
**Impact**: Avoids classloading issues.
102+
103+
104+
- **Invalidate enclave session on reconnect** [#2638](https://github.com/microsoft/mssql-jdbc/pull/2638)
105+
**What was fixed**: Enclave session cache no longer reused across reconnects.
106+
**Who benefits**: Users of Always Encrypted with secure enclaves in failover configurations.
107+
**Impact**: Prevents internal enclave errors due to invalid enclave session references after failover.
108+
109+
110+
- **File path error handling in `ConfigurableRetryLogic`** [#2650](https://github.com/microsoft/mssql-jdbc/pull/2650)
111+
**What was fixed**: Robust error handling for missing/unreadable retry config files.
112+
**Who benefits**: All users.
113+
**Impact**: Prevents driver errors due to application file path issues.
114+
115+
116+
- **Suppressed CodeQL warnings for crypto usages** [#2677](https://github.com/microsoft/mssql-jdbc/pull/2677)
117+
**What was fixed**: Suppressed CodeQL security warnings for cryptographic use cases.
118+
**Who benefits**: Reviewers using CodeQL.
119+
**Impact**: Maintains compatibility and audit clarity.
120+
121+
122+
- **Batch insert fix for case-sensitive column name mismatch** [#2695](https://github.com/microsoft/mssql-jdbc/pull/2695)
123+
**What was fixed**: `executeBatch()` now respects case sensitivity of collations when matching column names.
124+
**Who benefits**: Applications using case-sensitive/case-insensitive schemas.
125+
**Impact**: Avoids metadata retrieval failures during batch inserts.
126+
127+
6128
## [12.10.0] Stable Release
7129
### Added
8130
- Added provision to set SQLServerBulkCopy options in PreparedStatement [#2555](https://github.com/microsoft/mssql-jdbc/pull/2555)

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ We're now on the Maven Central Repository. Add the following to your POM file to
8383
<dependency>
8484
<groupId>com.microsoft.sqlserver</groupId>
8585
<artifactId>mssql-jdbc</artifactId>
86-
<version>12.10.0.jre11</version>
86+
<version>13.1.0.jre11-preview</version>
8787
</dependency>
8888
```
8989
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:
9494
<dependency>
9595
<groupId>com.microsoft.sqlserver</groupId>
9696
<artifactId>mssql-jdbc</artifactId>
97-
<version>12.10.0.jre11</version>
97+
<version>13.1.0.jre11-preview</version>
9898
</dependency>
9999
```
100100

@@ -129,7 +129,7 @@ Projects that require either of the two features need to explicitly declare the
129129
<dependency>
130130
<groupId>com.microsoft.sqlserver</groupId>
131131
<artifactId>mssql-jdbc</artifactId>
132-
<version>12.10.0.jre11</version>
132+
<version>13.1.0.jre11-preview</version>
133133
<scope>compile</scope>
134134
</dependency>
135135

@@ -147,7 +147,7 @@ Projects that require either of the two features need to explicitly declare the
147147
<dependency>
148148
<groupId>com.microsoft.sqlserver</groupId>
149149
<artifactId>mssql-jdbc</artifactId>
150-
<version>12.10.0.jre11</version>
150+
<version>13.1.0.jre11-preview</version>
151151
<scope>compile</scope>
152152
</dependency>
153153

@@ -174,7 +174,7 @@ When setting 'useFmtOnly' property to 'true' for establishing a connection or cr
174174
<dependency>
175175
<groupId>com.microsoft.sqlserver</groupId>
176176
<artifactId>mssql-jdbc</artifactId>
177-
<version>12.10.0.jre11</version>
177+
<version>13.1.0.jre11-preview</version>
178178
</dependency>
179179

180180
<dependency>

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111

1212
apply plugin: 'java'
1313

14-
version = '12.10.0'
15-
def releaseExt = ''
14+
version = '13.1.0'
15+
def releaseExt = '-preview'
1616
def jreVersion = ""
1717
def testOutputDir = file("build/classes/java/test")
1818
def archivesBaseName = 'mssql-jdbc'

mssql-jdbc_auth_LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
MICROSOFT SOFTWARE LICENSE TERMS
2-
MICROSOFT JDBC DRIVER 12.10.0 FOR SQL SERVER
2+
MICROSOFT JDBC DRIVER 13.1.0 FOR SQL SERVER
33

44
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.
55

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<modelVersion>4.0.0</modelVersion>
66
<groupId>com.microsoft.sqlserver</groupId>
77
<artifactId>mssql-jdbc</artifactId>
8-
<version>12.10.0</version>
8+
<version>13.1.0</version>
99
<packaging>jar</packaging>
1010
<name>Microsoft JDBC Driver for SQL Server</name>
1111
<description>
@@ -52,7 +52,7 @@
5252
Default testing enabled with SQL Server 2019 (SQLv15) -->
5353
<excludedGroups>xSQLv12,xSQLv15,NTLM,MSI,reqExternalSetup,clientCertAuth,fedAuth,kerberos,vectorTest</excludedGroups>
5454
<!-- Use -preview for preview release, leave empty for official release. -->
55-
<releaseExt></releaseExt>
55+
<releaseExt>-preview</releaseExt>
5656
<!-- Driver Dependencies -->
5757
<org.osgi.core.version>6.0.0</org.osgi.core.version>
5858
<azure-security-keyvault-keys.version>4.9.2</azure-security-keyvault-keys.version>

src/main/java/com/microsoft/sqlserver/jdbc/SQLJdbcVersion.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@
66
package com.microsoft.sqlserver.jdbc;
77

88
final class SQLJdbcVersion {
9-
static final int MAJOR = 12;
10-
static final int MINOR = 10;
9+
static final int MAJOR = 13;
10+
static final int MINOR = 1;
1111
static final int PATCH = 0;
1212
static final int BUILD = 0;
1313
/*
1414
* Used to load mssql-jdbc_auth DLL.
1515
* 1. Set to "-preview" for preview release.
1616
* 2. Set to "" (empty String) for official release.
1717
*/
18-
static final String RELEASE_EXT = "";
18+
static final String RELEASE_EXT = "-preview";
1919

2020
private SQLJdbcVersion() {
2121
throw new UnsupportedOperationException(SQLServerException.getErrString("R_notSupported"));

src/samples/adaptive/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<dependency>
1616
<groupId>com.microsoft.sqlserver</groupId>
1717
<artifactId>mssql-jdbc</artifactId>
18-
<version>12.10.0.jre11</version>
18+
<version>13.1.0.jre11-preview</version>
1919
</dependency>
2020
</dependencies>
2121
<profiles>

src/samples/alwaysencrypted/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<dependency>
1616
<groupId>com.microsoft.sqlserver</groupId>
1717
<artifactId>mssql-jdbc</artifactId>
18-
<version>12.10.0.jre11</version>
18+
<version>13.1.0.jre11-preview</version>
1919
</dependency>
2020
</dependencies>
2121
<profiles>

src/samples/azureactivedirectoryauthentication/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<dependency>
1515
<groupId>com.microsoft.sqlserver</groupId>
1616
<artifactId>mssql-jdbc</artifactId>
17-
<version>12.10.0.jre11</version>
17+
<version>13.1.0.jre11-preview</version>
1818
</dependency>
1919
</dependencies>
2020
<profiles>

src/samples/connections/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<dependency>
1515
<groupId>com.microsoft.sqlserver</groupId>
1616
<artifactId>mssql-jdbc</artifactId>
17-
<version>12.10.0.jre11</version>
17+
<version>13.1.0.jre11-preview</version>
1818
</dependency>
1919
</dependencies>
2020
<profiles>

0 commit comments

Comments
 (0)