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_VERIFICATION
option to skip token file permission verification.Added the
JAVA_LOGGING_CONSOLE_STD_OUT
option to override defaultjava.util.logging.ConsoleHandler
to write tostderr
orstdout
with 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
SecureRandom
to use a default JVM random number generator.Fixed an issue with merging
io.netty.versions.properties
during 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_SIZE
parameter 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_BASE64
connection parameter to support base64-encoded private keys.Added the following connection properties to support setting timeouts:
HTTP_CLIENT_CONNECTION_TIMEOUT
andHTTP_CLIENT_SOCKET_TIMEOUT
connection properties.BROWSER_RESPONSE_TIMEOUT
connection property to specify a browser timeout.
Upgraded the following dependencies:
Arrow
to version 17.0.0threeten-bp
to version 1.6.9
Bug fixes¶
Fixed an issue where the
getDate
method was missing an expected parameter.Fixed an issue with a
class not found
problem related toLoggerFactory
.
Version 3.18.0 (July 24, 2024)¶
New features and updates¶
Updated the
netty
library 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_TIMEZONE
determines whether to use the previously hardcoded value for the formatter (default:true
).JDBC_GET_DATE_USE_NULL_TIMEZONE
determines wheter 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
getString
orgetDate
method.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
getObject
on 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_ltz
between 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
disableSamlURLCheck
parameter 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
getObject
method 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-jwt
dependency 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.ConcurrentModificationException
while callingSFAsyncResultSet.next
.Fixed an
InvalidPathException
issue 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_ms
andnet.snowflake.jdbc.http_client_socket_timeout_in_ms
, to let you configure connection and socket timeouts.Added a new
enablePatternSearch
connection parameter to enable or disable pattern search forgetCrossReference
,getExportedKeys
,getImportedKeys
, andgetPrimaryKeys
metadata 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.Protocol
inHttpClientSettingsKey
.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-shaded
dependency 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
getQueryStatusV2
as 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.