MariaDB Connector/J 3.4.0 Release Notes
The most recent Stable (GA) release of MariaDB Connector/J is:MariaDB Connector/J 3.5.3
DownloadRelease NotesChangelogConnector/J Overview
Release date: 17 May 2024
MariaDB Connector/J 3.4.0 is a Stable (GA) release, and replaces 3.3 as the maintenance releases.
For an overview of MariaDB Connector/J see theAbout MariaDB Connector/J page
Notable Changes
CONJ-1105 ZERO-CONFIGURATION SSL ENCRYPTION
Using SSL (a more correct term would be TLS, but in reality SSL is more commonly used) has been simplified with MariaDB Server 11.4. Before version 11.4, proper SSL configuration required multiple manual steps for the server and all the clients connecting to it.
For MariaDB Connector/J before 3.4 to establish an SSL encrypted connection, or a MariaDB Server release series previous to 11.4, three options can be used:
Have server certificates generated with trusted Certificate Authorities (CA), using a configuration like:
sslMode=verify-full
Configure the connector using a server certificate, like:
sslMode=verify-full&serverSslCert=file:///server-cert.pem
Disable the verification of the SSL certificate, which is insecure and not recommended, using a configuration like:
sslMode=trust
For MariaDB Connector/J 3.4 to establish an SSL encrypted connection to MariaDB Server 11.4, enabling SSL does not require any special configuration apart from using sslMode=verify-full. The connector doesn't need to know the server certificate anymore, as long as the password is not empty.
CONJ-1171 Changes to Timezone Configuration Options for TIMESTAMPS
The MariaDB Connector/J versions before 3.4 provide a single "timezone" option for working with different time zones for clients and servers. While this functionality remains compatible, it's now separated into two distinct settings:
connectionTimeZone
forceConnectionTimeZoneToSession
There are now 3 options that control timestamps behavior in the java connector:
connectionTimeZone: (LOCAL | SERVER | ) This option defines the connection's time zone. LOCAL retrieves the JVM's default time zone, SERVER fetches the server's global time zone upon connection creation, and allows specifying a server time zone without requesting it during connection establishment.
forceConnectionTimeZoneToSession: (true | false) This setting dictates whether the connector enforces the connection time zone for the session.
preserveInstants: (true | false) This option controls whether the connector converts Timestamp values to the connection's time zone.
While remaining compatible with previous versions, this permits more flexibility when handling timezone difference scenarios. See timezone documentation for detailed information.
CONJ-981 Add support for connection redirection
Since MariaDB 10.3.1, the server has a new system variable redirect_url to provide a connection string using the forma mariadb/mysql://[<user>[:<password>]@]<host>[:<port>]/[<db>[?<opt1>=<value1>[&<opt2>=<value2>]]]
.
When set, all existing connections will be redirected to the designated URL values when appropriate. A connection will only be redirected when no transaction is active.
Example for enabling the redirection:set @@global.redirect_url="mariadb://somehost:3306/"
The redirection feature is enabled by default. It can be disabled by setting the new option permitRedirect to FALSE, which will result in ignoring the redirection URL.
CONJ-1154 Reduced overhead for issuing queries for retrieving and setting isolation level metadata
When session tracking is supported by the MariaDB Server release series, Connection.getTransactionIsolation() won’t query the server as the current state is already known from the session tracking information. Connection.setTransactionIsolation will skip the query to set the transaction isolation level if the server is already using the requested transaction isolation level.
Bugs Fixed
CONJ-1103 Connector/J Version 3 Does Not Respect "nullCatalogMeansCurrent" Property
CONJ-1161 Database connection failing on android
CONJ-1107 MariaDB Connector 3 no longer supports query timeout with MySQL
CONJ-1125 Inconsistency in Handling PreparedStatement.executeQuery() between MariaDB and MySQL Connectors
CONJ-1156 getTables should be ordered as expected
CONJ-1163 jdbcCompliantTruncation Does Not Appear To Be Working
CONJ-1164 Variable initialization ahead of LOAD DATA INFILE not possible by validateLocalFileName pattern
CONJ-1168 useBulkStmts compatibility value with pre 3.2 version
CONJ-1169 improve Client prepared statement setMaxRows implementation
CONJ-1170 OFFSET missing from getSQLKeywords
CONJ-1158 DatabaseMetaData#getFunctions's result not property ordered
CONJ-1159 DatabaseMetaData#getClientInfoProperties not ordered correctly
CONJ-1166 Implement connection properties fallbackToSystemKeyStore and fallbackToSystemTrustStore
CONJ-1173 Bulk implementation returning individual results
CONJ-1174 ConnectorJ gives precision of 20 for signed bigint
CONJ-1100 Be able to filter system tables and views
Changelog
For a complete list of changes made in MariaDB Connector/J 3.4.0, with links to detailed information on each push, see the changelog.
This page is: Copyright © 2025 MariaDB. All rights reserved.
Last updated
Was this helpful?