Skip to content

Releases: microsoft/mssql-jdbc

[12.7.0] Preview Release

05 Apr 22:48
c073e78
Compare
Choose a tag to compare
Pre-release

Added

  • Server Message Handler and SQLException Chaining #2251
  • Finish support for RFC4180 for CSV bulk insert operations #2338
  • Allow constructing a microsoft.sql.DateTimeOffset instance from a java.time.OffsetDateTime value #2340
  • Added support for TDSType.GUID #2370

Changed

  • Remove synchronized from Socket overrides #2337
  • Default to RMFAIL instead of RMERR #2348

Fixed issues

  • Fix to allow connection retries to be disabled by setting connectRetryCount to 0 #2293
  • Fix to ensure metadata returned follows JDBC data type specs #2326
  • Added token cache map to fix use of unintended auth token for subsequent connections #2341
  • Fix calling procedures with output parameters by their four-part syntax #2349
  • Clear prepared statement handle before reconnect #2364
  • Reset socketTimeout to original value after a successful connection open #2355
  • Clear prepared statement cache when resetting statement pool connection #2361
  • Fixed ClassLoader leak of ActivityCorrelator ThreadLocal #2366
  • Check if TDSCommand counter is null before incrementing. #2368
  • Escape schema for getProcedures and getProcedureColumns in SQLServerDatabaseMetaData #2369
  • Fix to properly validate money and small money values for BulkCopy #2379

[12.6.1] Hotfix & Stable Release

20 Feb 21:58
64e6ee5
Compare
Choose a tag to compare

Fixed issues

  • Fixed 'EXEC' escape syntax for CallableStatements. 'EXEC' keyword can be used to execute stored procedures. #2329

[12.6.0] Stable Release

01 Feb 19:10
3cd946e
Compare
Choose a tag to compare

Changed

  • Adjusted PreparedStatement cache, so it's cleared before every execute #2272
  • Updated azure-identity, azure-security-keyvault-keys, bouncycastle, and msal library versions #2279
  • Changed socketTimeout to ensure it's always less than or equal to loginTimeout #2280
  • Change BulkCopy behavior from serializing and deserializing Timestamp objects, to using the objects directly #2291

Fixed issues

  • Fixed the way ActivityID was defined and used to be more in line with the behavior of other Microsoft drivers #2254
  • Fixed missing getters and setters for useBulkCopyForBatchInsert #2277
  • Fixed an issue where, when using the TOP qualifier in a query, the driver returns an error concerning ParameterMetadata #2287
  • Fixed an issue where insert statements with missing whitespace worked correctly in regular cases, but not when using batch inserts #2290
  • Fixed timezone not being properly applied to Timestamps when inserted using batch insert with bulkcopy #2291
  • Fixed locks in IOBuffer to prevent deadlock issues that could arise #2295
  • Fixed an issue where, when an exception has no cause, the exception itself is passed along instead, preventing it from being lost #2300

[12.5.0] Preview Release

17 Nov 02:37
d9b79dd
Compare
Choose a tag to compare
Pre-release

Added

  • Added connection property, useDefaultJaasConfig, to allow Kerberos authentication without any additional external configuration #2147
  • Allow calling of stored procedures directly, simplifying the procedure and improving performance #2154
  • Added connection property, useDefaultGSSCredential, to allow the driver to create GSSCredential on behalf of a user using Native GSS-API for Kerberos authentication #2177
  • Added Java 21 support #2229
  • Added connection property, calcBigDecimalScale, to allow the driver to calculate scale and precision from Big Decimal inputs #2248
  • Added a new named logger for connection open retries and idle connection resiliency reconnects #2250

Changed

  • Changed how IBM JDK is checked for to prevent issues with OSGi environments #2150
  • Updated azure-security-keyvault-keys, bouncycastle, and h2 library versions #2162 #2182 #2249
  • Changes to bulkcopy to allow for performance improvements when loading a large number of timestamps #2194
  • Added additional errors that should translate to RMFAIL #2201
  • Properly synchronize all calls to MSAL, preventing the driver from making extra calls and providing unnecessary dialogues #2218
  • Changed driver retry behavior to retry the correct number of times based on connectRetryCount #2247

Fixed issues

  • Fix to ignore irrelevant computed columns during bulk insert #1562
  • Fixed an issue where signature was not properly verified when using Java Key Store, as well as adding a new API to sign column master key metadata (and return generated signature) for use with Java Key Store and Azure Key Vault #2160
  • Fixed an issue where a null SQLState was returned when trying to convert a date to a long #2185
  • Fixed an issue where schemaPattern was not properly being escaped in SQLServerDatabaseMetadata #2195
  • Fixes getObject()'s erroneous conversion of DateTimeOffset to LocalDateTime #2204
  • Fixed an issue with ParameterMetadata not properly checking for an invalid index 0 #2217
  • Fixed bulkcopy metadata query to make use of cached data, if it's available #2231
  • Fixed an issue when writing TVP row values, where input values were not properly filtered for BigDecimal scale #2239

[12.4.2] Hotfix & Stable Release

27 Oct 22:28
4054ad0
Compare
Choose a tag to compare

Fixed issues

  • Reverted the IBM check to vendor check and added an additional vm name check to remove false positives #2209

[12.4.1] HotFix & Stable Release

30 Aug 22:48
c457a4a
Compare
Choose a tag to compare

Changed

  • Added default spacing for prepared SQL parameter names #2196

Fixed issues

  • Fixed metadata query getUserName in impersonated security context in Azure SQL database #2197
  • Fixed IBM JDK detection #2198
  • Fixed bug where signature is not verified for Java Key Store and add signColumnMasterkeyMetadata API to JKS and AKV #2199
  • Added localization of error strings that was missing in original release

[12.4.0] Stable Release

31 Jul 21:26
c235d35
Compare
Choose a tag to compare

Fixed issues

  • Revert #2051 (Big decimal precision) / #2116 (Fix for bigDecimal values between 0 and 1 having too high of a precision) #2176
  • Fixed server certificate validation for encrypt=strict #2174
  • Fixed issues identified by SonarQube #2145

[12.3.1] Preview Release

07 Jun 22:55
bda01d6
Compare
Choose a tag to compare
Pre-release

Added

  • Added a case to throw XAER_RMFAIL on connection reset for XA transactions 2118
  • Added support for Azure Active Directory Service Principal Certificate Authentication 2128

Changed

  • Improved performance of building parameter type definitions 1938
  • Removed condition check that had no effect 2129
  • Updated azure-security-keyvault-keys, azure-identity, gson and h2 dependency versions 2133
  • Changed serverName sent in LOGIN packet to include instanceName 2140

Fixed issues

  • Resolved high thread count when using findSocketUsingThreading 2104
  • Corrected Activity ID behavior to stay the same for the life of the process, always send Activity ID in PRELOGIN, increment sequence for each new connection and send a unique client ID that persists for duration of process 2136

[12.3.0] Preview Release

04 May 22:54
467b7ea
Compare
Choose a tag to compare
Pre-release

Added

  • Added additional logging info to help debug authentication and encryption issues 2118
  • Added SQL query to toString() in SQLServerPreparedStatement to support Hibernate JPA slow query logging 2099
  • Added Java 20 support 2097
  • Added access token callback class connection string property 2073

Changed

  • Updated azure-identity version 2114
  • Updated msal4j version 2102
  • Allow failover partner to be tried in case of socket timeout 2100
  • Updated supportsLikeEscapeClause() to check for Azure data warehouse 2092
  • sp_cursor calls now have table names passed in instead of an empty string 2087
  • Updated federated authentication logic to use persistence token cache when fetching token 2079
  • Updated supportTransaction method to reflect whether server supports transactions 2075
  • Made jdk.net optional OSGi import 2069
  • Upgraded to latest OSGi JDBC specification 2017

Fixed issues

  • Fixed missing property value for disableStatementPooling meta info query 2120
  • Fixed typo in access token error message 2119
  • Fixed BigDecimal error when values between 0 and 1 are specified 2116
  • Fixed lockTimeout not taking effect when redirect mode is set in Azure DB 2110
  • Fixed shared timer race condition 2085
  • Fixed XA error handling to rethrow XAER_RMFAIL instead of XAER_RMERR 2078
  • Fixed issue by accounting for zero meta query results 2074
  • Fixed invalid batch inserts when columns provided in insert differs in order from table schema 1992

[12.2.0] Stable Release

31 Jan 23:39
4a27a0d
Compare
Choose a tag to compare

Added

  • Added new connection property datetimeParameterType to specify datatype to use for date/timestamp parameters 1590

Changed

Fixed issues

  • Fixed BigDecimal Precision/Scale issue 2051
  • Fixed NULL state and 0 error code for SQL exceptions 2018
  • Fixed incorrect updateCount 2013
  • Fixed Azure Active Directory user name cache matching to be case insensitive 1923
  • Fixed concurrency issues in encrypt/decrypt obfuscation methods for truststore password 1968
  • Fixed Idle Connection recovery so that unprocessedResponseCount isn't over decremented 1989
  • Fixed race condition connecting to the wrong SQLServer host in configurable IPv6 1968