All pages
Powered by GitBook
1 of 6

Connector/J 3.5 Release Notes

Release Notes for MariaDB Connector/J 3.5 series

Connector/J 3.5.4 Release Notes

Download Release Notes Changelog Connector/J Overview

Release date: 1 Jul 2025

MariaDB Connector/J 3.5.4 is a Stable (GA) release.

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

Notable Changes

  • Added caching option for loadCodecs results to improve performance (CONJ-1261)

    • Added new option cachedCodecs

Bugs Fixed

  • Fixed incorrect type definitions in DatabaseMetaData.getTypeInfo() (CONJ-1234)

  • Resolved potential race condition that could cause NullPointerException (CONJ-1247)

  • avoids redundant queries for CallableStatement.getParameterMetaData() (CONJ-1250)

  • Fixed SSL configuration issue where zero SSL settings only functioned without explicit SSL configuration (CONJ-1251)

  • Resolved GSSAPI authentication error when server exchanges begin with 0x01 byte (CONJ-1252)

  • Corrected DatabaseMetadata.getTypeInfo() returning incorrect values for AUTO_INCREMENT, FIXED_PREC_SCALE, and CASE_SENSITIVE fields (CONJ-1254)

  • Fixed getString method on BIT(1) fields to properly honor transformedBitIsBoolean configuration (CONJ-1255)

  • Enhanced metadata compatibility with MariaDB version 12.0 (CONJ-1259)

  • Improved performance of DatabaseMetaData.getExportedKeys method (CONJ-1260)

    • Added new option metaExportedKeys

  • Fixed issue to ensure correct catalog name is returned (CONJ-1256)

Changelog

For a complete list of changes made in MariaDB Connector/J 3.5.4, with links to detailed information on each push, see the changelog.

This page is: Copyright © 2025 MariaDB. All rights reserved.

Connector/J 3.5.3 Release Notes

The most recent Stable (GA) release of MariaDB Connector/Java is:

Connector/J 3.5.4

Download Release Notes Changelog Connector/J Overview

Release date: 27 Mar 2025

MariaDB Connector/J 3.5.3 is a Stable (GA) release.

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

Notable Changes

  • Resolved timestamp string representation incompatibility between versions 2.7 and 3.x (CONJ-1232) Added new option oldModeNoPrecisionTimestamp

  • Modified redirection option to enable by default only when SSL is enabled (CONJ-1235)

Bugs Fixed

Date and Time Handling

  • Fixed issue where dates containing zero day or month resulted in a DateTimeException (CONJ-1226)

Result Set and Metadata

  • Fixed incorrect values returned by ResultSet.getColumnType() for unsigned values (CONJ-1222)

  • Corrected regression in 3.x affecting column metadata for unsigned types (CONJ-1241)

  • Fixed CallableStatement.getParameterMetadata() returning wrong java.sql.Type for boolean values (CONJ-1243)

Connection Management

  • Prevented NPE (Null Pointer Exception) after reconnection failure in high availability configurations (CONJ-1236)

  • Fixed issue with incorrect statements.isClosed value after closing connection (CONJ-1237)

Protocol and Performance

  • Disabled BULK operations when no parameters are present (CONJ-1239)

  • Fixed connectivity issues with databases that only accept TLSv1.3 (CONJ-1240)

Changelog

For a complete list of changes made in MariaDB Connector/J 3.5.3, with links to detailed information on each push, see the changelog.

This page is: Copyright © 2025 MariaDB. All rights reserved.

Connector/J 3.5.2 Release Notes

The most recent Stable (GA) release of MariaDB Connector/Java is:

Connector/J 3.5.4

DownloadRelease NotesChangelogConnector/J Overview

Release date: 11 Feb 2025

MariaDB Connector/J 3.5.2 is a Stable (GA) release.

For an overview of MariaDB Connector/J see theAbout MariaDB Connector/J page

Notable change

  • CONJ-1229 Permit executeQuery commands to not return a result-set

Bugs Fixed

  • CONJ-1228 The method result-set.getObject(val) for a field of type BLOB returns an object of type Blob by default instead of the expected object of type byte[].

    • The following methods are not affected

      • resultset.getBytes(val)

      • resultset.getBlob(val)

      • resultset.getObject(val, byte[].class)

      • resultset.getObject(val, Blob.class) all returns expected type)

  • CONJ-1225 System throws an SQLTimeoutException prematurely without checking all available connections

  • CONJ-1221 DatabaseMetadata.getTypeInfo() is missing the data types UUID and VECTOR

  • CONJ-1218 Incorrect behavior where XA connections are closed when regular connections are terminated - this is against JDBC specifications

  • CONJ-1217 When using the parameter trustCertificateKeyStorePassword, alias for trustStorePassword, an exception is thrown

  • CONJ-660 The connection option disconnectOnExpiredPasswords was not handled by the connector..It controls the client behavior when connecting with an expired password.

    • When set to true (default), the client disconnects if it detects an expired password.

    • When false, the client maintains the connection and allows setting a new password.

Changelog

For a complete list of changes made in MariaDB Connector/J 3.5.2, with links to detailed information on each push, see the changelog.

This page is: Copyright © 2025 MariaDB. All rights reserved.

Connector/J 3.5.1 Release Notes

The most recent Stable (GA) release of MariaDB Connector/Java is:

Connector/J 3.5.4

DownloadRelease NotesChangelogConnector/J Overview

Release date: 20 Nov 2024

MariaDB Connector/J 3.5.1 is a Stable (GA) release.

For an overview of MariaDB Connector/J see theAbout MariaDB Connector/J page

The MariaDB Connector/J 3.5 release series is replacing the maintenance releases for the 3.4 release series, as the new release series is fully compatible with 3.4.

Notable changes

PARSEC Authentication - CONJ-1193

Support of the PARSEC Authentication Plugin which is provided starting with MariaDB Server 11.6. See parsec documentation for more details.

This requires java 15+ (to use java native ed25519 Algorithm implementation). For previous versions of java, this will require adding BouncyCastle as dependency.

While initially documented in 3.5.0, this feature was not in the released version.

New High Availability Mode With Loadbalancing For Reads - CONJ-1207

When running a multi-master cluster (i.e. MariaDB Cluster with Galera), writing to more than one node can lead to optimistic locking errors ("deadlocks") in some use cases. Writing concurrently to multiple nodes also doesn't result in performance improvements, due to having to synchronously replicate to all nodes. The new high availability mode “Load-balance-read” permits the use of masters in a failover manner (try first master, the next one if the first master fails) while distributing the load on replicas.

Example of connection string:

jdbc:mariadb:load-balance-read://127.0.0.5,127.0.0.6,address=(host=127.0.0.7)(type=replica),address=(host=127.0.0.8)(type=replica)/DB

Equivalent of:

jdbc:mariadb:load-balance-read://address=(host=127.0.0.5)(type=primary),address=(host=127.0.0.6)(type=primary),address=(host=127.0.0.7)(type=replica),address=(host=127.0.0.8)(type=replica)/DB

In the example the hosts 127.0.0.5, 127.0.0.6 will be used for writes, in a failover manner. 127.0.0.6,127.0.0.7 are of type replica, read load balancing will be used.

Permit bulk for INSERT ON DUPLICATE KEY UPDATE commands for 11.5.1+ servers - CONJ-1208

Since MDEV-30366, the server can return appropriate detailed answers. This was implemented, but not for specific INSERT ON DUPLICATE KEY UPDATE commands.

Bugs Fixed

  • CONJ-1053 waffle-jna dependency is not declared optional in the module description

  • CONJ-1196 setObject on java.util.Date is en/decode as java.sql.Date and truncates hour/minutes/seconds/ms while it must be en/decode like a java.sql.Timestamp

  • CONJ-1211 JDBC 4.3 enquoteIdentifier missing validation

    • An identifier containing only number must be quoted, even if alwaysQuote parameter is set to false

    • Length validation must be done (< 64 characters).

  • CONJ-1213 SQL commands ending with semicolon and trailing space are not using bulk

Changelog

For a complete list of changes made in MariaDB Connector/J 3.5.1, with links to detailed information on each push, see the changelog.

This page is: Copyright © 2025 MariaDB. All rights reserved.

Connector/J 3.5.0 Release Notes

The most recent Stable (GA) release of MariaDB Connector/Java is:

Connector/J 3.5.4

DownloadRelease NotesChangelogConnector/J Overview

Release date: 24 Oct 2024

MariaDB Connector/J 3.5.0 is a Stable (GA) release.

For an overview of MariaDB Connector/J see theAbout MariaDB Connector/J page

The MariaDB Connector/J 3.5 release series is replacing the maintenance releases for the 3.4 release series, as the new release series is fully compatible with 3.4.

Notable changes

PARSEC Authentication - CONJ-1193

Support of the PARSEC Authentication Plugin which is provided starting with MariaDB Server 11.6. See parsec documentation for more details.

This requires java 15+ (to use java native ed25519 Algorithm implementation). For previous versions of java, this will require adding BouncyCastle as dependency.

New options truststore, trustStorePassword and trustStoreType - CONJ-1183

Those options permit the use of a specific truststore that differs from the Java default truststore. This has been added for MariaDB 2.x and MySQL connector compatibility. See documentation

New option connectionCollation - CONJ-1199

The Connector is using the utf8mb4 charset per default when establishing a connection. ‘connectionCollation’ can be used to define which utf8mb4 collation should be used. If not set the server default collation for utf8mb4 will be used.

Starting with MariaDB 11.4 we recommend to instead set character_set_collations

Support for methods setObject/getObject and setArray/getArray - CONJ-1205

This addition is a preparation for the Vector support of MariaDB Server

Example of Array:

Array valArray = connection.createArrayOf("float", new float[] {1, 2, 3}); 
try (PreparedStatement prep = 
connection.prepareStatement("INSERT INTO BinaryCodec(t0, t1) VALUES (?, ?, ?)")) { 
prep.setInt(1, 1); 
prep.setArray(2, valArray); 
prep.setObject(3, new float[] {4, 5, 6}); 
prep.execute(); 
}

Resultset:

Array resArray = rs.getArray(2); 
float[] res = rs.getObject(2, float[].class);

Bugs Fixed

  • CONJ-1202 A change of the collation via a session variable might be ignored

  • CONJ-1201 Incorrect default behavior for forceConnectionTimeZoneToSession

    • NOTE: If client and server use different time zones and no timezone options where used, MariaDB Connector/J 3.4 introduces a change which is forcing client timezone to the session. This behavior is an not intended incompatibility change compared to MariaDB Connector/J 3.3, which is corrected in MariaDB Connector/J 3.5 with this change

  • CONJ-1200 Batch import fails with exception "Unknown command"

  • CONJ-1187 Throw exception type SQLTimeoutException instead of SQLNonTransientConnectionException for connection timeouts

Changelog

For a complete list of changes made in MariaDB Connector/J 3.5.0, with links to detailed information on each push, see the changelog.

This page is: Copyright © 2025 MariaDB. All rights reserved.