We have released a new early technical preview of the JDBC Driver for SQL Server which contains several additions and changes.
Encrypt = strict
There is one breaking change in the 11.1 preview over version 10.x. To support the new TDS 8.0 protocol where TLS encryption is negotiated before TDS, a new Encrypt option has been added, "strict". This required changing the getEncrypt() API to return a string instead of just a Boolean. Setting Encrypt to "strict" causes the driver to negotiate a TLS connection to the server first, instead of previous behavior where TDS was negotiated, then, if using encryption, TLS would be negotiated inside the TDS stream. Negotiating TLS first means all TDS connection and feature negotiation happens over an encrypted channel.
Below is a summary of the changes in 11.1.1 over version 11.1.0.
- Added support for Java 18 1802
- Added support for bulk insert of null GUID values 1778
- Added ALPN for TDS 8.0 connections 1795
- Updated dependency versions of azure-keyvault and azure-identity 1798
- Refactored Idle Connection Resiliency timeout to use existing SharedTimer 1794
- Fixed regression with Always Encrypted with secure enclaves 1805
Getting the latest release
Add the JDBC preview driver to your Maven project by adding the following code to your POM file to include it as a dependency in your project (choose .jre8, .jre11, .jre17, or .jre18 for your required Java version).
<dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <version>11.1.0.jre17</version> </dependency>