JDBC Driver release notes for 2024¶
This article contains the release notes for the JDBC Driver, including the following when applicable:
- Behavior changes
- New features
- Customer-facing bug fixes
Snowflake uses semantic versioning for JDBC Driver updates.
See JDBC Driver for documentation.
Version 3.21.0 (December 11, 2024)¶
New features and updates¶
- Added support for regional Google Cloud Storage endpoints.
- Added the
SKIP_TOKEN_FILE_PERMISSIONS_VERIFICATIONoption to skip token file permission verification. - Added the
JAVA_LOGGING_CONSOLE_STD_OUToption to override defaultjava.util.logging.ConsoleHandlerto write tostderrorstdoutwith a specific threshold. - Added array bind supported log for prepared statements.
- Removed the experimental label from
snowflake-jdbc-thin artifact. - Changed the levels for some log messages.
- Updated the Google and Netty dependencies.
- Updated the javadoc documentation.
Bug fixes¶
- Replaced raw asserts with exceptions.
- Changed the IV length to 12 bytes for GCM.
- Changed initialization of
SecureRandomto use a default JVM random number generator. - Fixed an issue with merging
io.netty.versions.propertiesduring shade. - Fixed uncontrolled logging from Arrow library.
- Fixed native libraries relocation for Netty and Conscrypt during shade.
- Fixed get object and get bytes support for the native arrow structured type.
Version 3.20.0 (October 30, 2024)¶
New features and updates¶
- Added support for ZSTD decompression.
- Bumped the commons IO dependency to version 2.17.0.
Bug fixes¶
- Fixed an issue affecting JDBC drivers where files pushed to Azure and GCP stages were uploaded without client-side encryption when the
CLIENT_ENCRYPTION_KEY_SIZEparameter was set to 256-bit rather than the default 128-bit. For more information, see the Snowflake JDBC Security Advisory (https://github.com/snowflakedb/snowflake-jdbc/security/advisories/GHSA-f686-hw9c-xw9c).
Version 3.19.1 (October 25, 2024)¶
New features and updates¶
- Updated the protobuf-java dependency to version 3.25.5.
- Added log message for canceled query reasons.
- Updated bouncy castle dependencies.
- Added troubleshooting guide link to the messages for SSL exceptions.
Bug fixes¶
- Unified the structured types string representation.
- Fixed downloading the stream from the git repository.
- Fixed an issue with the connection timeout parameter.
- Fixed issues with Arrow logging.
- Changed the custom cloud storage header metadata handling to be case-insensitive.
Version 3.19.0 (August 29, 2024)¶
New features and updates¶
-
Added support for disabling connection caching.
-
Added the
PRIVATE_KEY_BASE64connection parameter to support base64-encoded private keys. -
Added the following connection properties to support setting timeouts:
HTTP_CLIENT_CONNECTION_TIMEOUTandHTTP_CLIENT_SOCKET_TIMEOUTconnection properties.BROWSER_RESPONSE_TIMEOUTconnection property to specify a browser timeout.
-
Upgraded the following dependencies:
Arrowto version 17.0.0threeten-bpto version 1.6.9
Bug fixes¶
- Fixed an issue where the
getDatemethod was missing an expected parameter. - Fixed an issue with a
class not foundproblem related toLoggerFactory.
Version 3.18.0 (July 24, 2024)¶
New features and updates¶
-
Updated the
nettylibrary to version 4.1.111.Final. -
Added missing property setters in
SnowflakeBasicDataSource. -
Added the following connection parameters to support backward compatibility for handling timezones:
JDBC_DEFAULT_FORMAT_DATE_WITH_TIMEZONEdetermines whether to use the previously hardcoded value for the formatter (default:true).JDBC_GET_DATE_USE_NULL_TIMEZONEdetermines whether to use the previously null timezone value for the getDate method (default:true).
-
Picked a top-level domain for Snowflake hosts.
-
Set the last query ID for all failed statements.
Bug fixes¶
- Fixed an issue where the retry backoff time could fall outside the minimum and maximum range.
- Fixed an issue relating to converting nested fields metadata in OBJECT columns.
- Fixed an issue where the date files returned the wrong day when using the
getStringorgetDatemethod. - Added a user permission check for a token file.
Version 3.17.0 (July 08, 2024)¶
New features and updates¶
- Improved logging.
- Exposed the vector dimension in column metadata.
- Added support for
getObjecton vector columns. - Added support for reading the connection information from a file.
- Added support for Java version 21.
- Added support for dynamic Max LOB size in metadata.
- Improved logging configuration.
- Added JDBC connectivity diagnostics mode.
Bug fixes¶
- Fixed an issue with inserting and reading timestamps assymetrically if a batch inserts a large number of columns.
- Fixed an issue with returning inconsistent
timestamps_ltzbetween JSON and ARROW result sets. - Fixed an issue where the driver failed file pattern expansion on file not found in a different pattern.
Version 3.16.1 (May 27, 2024)¶
New features and updates¶
- Added the
disableSamlURLCheckparameter to disable SAML URL checks.
Bug fixes¶
- Fixed an issue with choosing S3 regional URL domain base on the region name.
- Fixed an issue related to nested paths in Windows when parsing client configurations.
- Fixed an issue where the
getObjectmethod for arrays in JSON worked incorrectly in versions 3.15.1 and 3.16.0. - Fixed a casting issue with a
MapVector.
Version 3.16.0 (April 29, 2024)¶
New features and updates¶
- Added support for structured types.
- Added support for vector types.
- Improved support for encrypted private keys.
- Updated the security policy notice.
Bug fixes¶
- Fixed an issue with native OKTA retry logic.
- Fixed an issue with unsupported reserved keywords.
- Fixed an issue with retry attempts for GET query metadata requests.
Version 3.15.1 (April 05, 2024)¶
New features and updates¶
- Added support for missing proxy and user password JVM parameters:
http.proxyUser,http.proxyPassword,https.proxyUser,https.proxyPassword. - Bumped the
nimbus-jose-jwtdependency to version 9.37.3.
Bug fixes¶
- Moved the public suffix list to an internal package when shading.
- Fixed an issue with ignoring default GCS credentials.
- Fixed an issue with returning decimal or integer values in ARROW format.
- Fixed an issue where the driver returned
java.util.ConcurrentModificationExceptionwhile callingSFAsyncResultSet.next. - Fixed an
InvalidPathExceptionissue on Windows due to nested file paths.
Version 3.15.0 (February 20, 2024)¶
New features and updates¶
- Added a marker annotation for the internal API.
- Added two new java properties,
net.snowflake.jdbc.http_client_connection_timeout_in_msandnet.snowflake.jdbc.http_client_socket_timeout_in_ms, to let you configure connection and socket timeouts. - Added a new
enablePatternSearchconnection parameter to enable or disable pattern search forgetCrossReference,getExportedKeys,getImportedKeys, andgetPrimaryKeysmetadata operations that should not use their parameters as patterns. Default:true.
Bug fixes¶
- Fixed an issue with multi-release jar entries.
- Made dependency optional on
com.amazonaws.ProtocolinHttpClientSettingsKey. - Deprecated
com.snowflake.client.jdbc.SnowflakeDriver. - Fixed an issue with parsing large responses (greater than 16MB).
- Updated the JDBC specification to version 4.2.
Version 3.14.5 (January 24, 2024)¶
New features and updates¶
- Added support for AIX 7.2.
- Added support for multiple SAML integrations.
- Updated the
grpc-netty-shadeddependency to 1.60.0. - Created a thin jar as a separate maven artifact
snowflake-jdbc-thin(JDBC thin jar is an experimental feature). - Implemented
toString()inSnowflakePreparedStatementV1. - Added
getQueryStatusV2as replacement for deprecatedgetQueryStatus.
Bug fixes¶
- Set the last query ID for failed statements.
- Fixed OOB telemetry initialization when using connectionless mode.
- Fixed an issue with handling GCP token expiration correctly when using connectionless mode.
- Fixed arrow format on AIX.