Connector/J 3.4.0 Release Notes

circle-info

Downloadarrow-up-right | Release Notes | Changelog | About MariaDB Connector/J

Release date: 17 May 2024

MariaDB Connector/J 3.4.0 is a Stable (GA) release, and replaces 3.3 as the maintenance releases.

circle-info

For an overview of MariaDB Connector/J see the About MariaDB Connector/J page

Notable Changes

CONJ-1105arrow-up-right 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.4arrow-up-right. 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-1171arrow-up-right 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-981arrow-up-right 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-1154arrow-up-right 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

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.

spinner

Last updated

Was this helpful?