Releases: microsoft/mssql-jdbc
Releases · microsoft/mssql-jdbc
[12.8.0] Stable Release
Fixed issues
- Fixed regression with specifying argument names in callable statement syntax #2480
[12.7.1] Preview 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
[12.6.2] Hotfix & Stable Release
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
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
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
Fixed issues
- Fixed 'EXEC' escape syntax for CallableStatements. 'EXEC' keyword can be used to execute stored procedures. #2329
[12.6.0] Stable Release
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 tologinTimeout
#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
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
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
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