JDBC Driver 11.2 for SQL Server Released
Published Aug 09 2022 03:34 PM 5,385 Views
Steel Contributor

Version 11.2 of the Microsoft JDBC Driver for SQL Server has been released. Version 11.2.0 brings several added features, changes, and fixed issues over the previous production release.

 

**BREAKING CHANGE**

Encrypt = strict

There is one breaking change in the 11.2 release over previous production releases. 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.

 

To read more about TDS 8.0 in SQL Server, see the SQL Server online documentation.

 

Added

  • Added new connection string property prepareMethod to toggle use of sp_prepare 1719
  • Added new encrypt options for TDS 8.0 support 1757
  • Added Configurable IPv6 Support 1766
  • Added serverCertificate connection property for encrypt=strict 1773
  • Added option for NONE attestation protocol 1779
  • Added support for Java 18 1802
  • Added support for bulk insert of null GUID values 1778
  • Added support for caching managed identity tokens 1825
  • Added support for caching Always Encrypted parameter metadata 1845

Changed

  • Added encrypt utility to obfuscate password strings in memory 1780
  • Simplified traceID creation in DataSource and PooledConnection 1747
  • Refactored SQLServerColumnEncryptionAzureKeyVaultProvider usage in SQLServerConnection 1774
  • Updated dependency versions of azure-keyvault and azure-identity 1798
  • Refactored Idle Connection Resiliency timeout to use existing SharedTimer 1794

Fixed

  • Removed extra call to executeCommand() within connectionCommand() 1754
  • Fixed warnings for Implicit narrowing conversion in compound assignment 1758
  • Added check for MSAL library when attempting ActiveDirectoryServicePrincipal authentication 1759
  • Fixed Managed Identity retry interval to exponential backoff properly 1770
  • Fixed unknown token error 0xA3 when selectMethod cursor is used with data classification 1821

  • Fixed Idle Connection Resiliency issue where connections could not be recovered more than once 1794

 

Getting the latest release

The latest bits are available to download from Microsoft, from the GitHub repository, and via Maven Central.

Add the JDBC 11.2 RTW 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.2.0.jre17</version> 
</dependency> 

 

 

Help us improve the JDBC Driver by taking our survey, filing issues on GitHub or contributing to the project.


Please also check out our tutorials to get started with developing apps in your programming language of choice and SQL Server.


David Engel

Co-Authors
Version history
Last update:
‎Aug 09 2022 03:33 PM
Updated by: