Skip to content

Releases: microsoft/mssql-jdbc

[12.6.4] Hotfix & Stable Release

29 Aug 18:58
852d49c
Compare
Choose a tag to compare

Fixed issues

  • Reverted "Execute Stored Procedures Directly" feature, as well as subsequent changes related to the feature. #2500

[12.8.1] Hotfix & Stable Release

23 Aug 00:20
96c824d
Compare
Choose a tag to compare

Changed

  • Changed MSAL logging from FINER to FINEST #2491

Fixed issues

  • Adjusted DESTINATION_COL_METADATA_LOCK, in SQLServerBulkCopy, so that is properly released in all cases #2492
  • Reverted "Execute Stored Procedures Directly" feature, as well as subsequent changes related to the feature. #2493
  • Changed driver behavior to allow prepared statement objects to be reused, preventing a "multiple queries are not allowed" error #2494

[12.8.0] Stable Release

31 Jul 18:46
0e97689
Compare
Choose a tag to compare

Fixed issues

  • Fixed regression with specifying argument names in callable statement syntax #2480

[12.7.1] Preview Release

08 Jul 18:12
e9b1fec
Compare
Choose a tag to compare
Pre-release

Added

  • Added JDK 22 support #2414
  • Added credential caching for Managed Identity Credential and Default Azure Credential #2415
  • Added Caching SQLServerBulkCopy object for batch insert #2435
  • Added connection level bulk copy metadata caching #2464
  • Added logging to token caching #2468

Changed

  • Bump org.bouncycastle:bcprov-jdk18on from 1.77 to 1.78 #2403
  • Enum SQLServerSortOrder is now public #2405
  • Bump com.azure:azure-identity from 1.12.1 to 1.12.2 #2447
  • Bump com.microsoft.azure:msal4j from 1.15.0 to 1.15.1 #2448

Fixed issues

  • Execute stored procedures directly for RPC calls #2410
  • Fix SqlAuthenticationToken constructor accepting unix epoch #2425
  • TokenCredential class shouldn't be required #2441
  • Fixed timestamp string conversion error for CallableStatements #2449
  • Fixed CallableStatements default value regression #2452
  • Fixed parentheses parsing for stored procedure names and function names #2467

[12.6.3] Hotfix & Stable Release

20 Jun 19:36
ee044a8
Compare
Choose a tag to compare

Fixed issues

  • Fixed issue where TokenCredential class was required to be imported #2453
  • Fixed timestamp string conversion regression #2455
  • Fixed SQLServerCallableStatement default value regression #2456

[12.6.2] Hotfix & Stable Release

24 May 16:29
17caf22
Compare
Choose a tag to compare

Added

  • Added credential caching for Managed Identity Credential and Default Azure Credential #2426

Fixed issues

  • Check that money and small money are within correct range for bulkcopy #2419
  • Check if TDSCommand counter is null before incrementing #2420
  • Clear prepared statement cache when resetting statement pool connection #2421
  • Clear prepared statement handle before reconnect #2422
  • RPC calls for CallableStatements will be executed directly #2427
  • Corrected authentication token object to accept expiration in milliseconds #2428
  • SocketTimeout should be unbounded by loginTimeout after a successful connection open #2431

[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