Release Notes for MariaDB Connector/J 3.5 series
Release date: 1 Jul 2025
MariaDB Connector/J 3.5.4 is a Stable (GA) release.
Added caching option for loadCodecs results to improve performance (CONJ-1261)
Added new option cachedCodecs
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)
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.
The most recent Stable (GA) release of MariaDB Connector/Java is:
Release date: 27 Mar 2025
MariaDB Connector/J 3.5.3 is a Stable (GA) release.
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)
Fixed issue where dates containing zero day or month resulted in a DateTimeException (CONJ-1226)
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)
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)
Disabled BULK operations when no parameters are present (CONJ-1239)
Fixed connectivity issues with databases that only accept TLSv1.3 (CONJ-1240)
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.
The most recent Stable (GA) release of MariaDB Connector/Java is:
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
CONJ-1229 Permit executeQuery commands to not return a result-set
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.
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.
The most recent Stable (GA) release of MariaDB Connector/Java is:
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.
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.
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.
Since MDEV-30366, the server can return appropriate detailed answers. This was implemented, but not for specific INSERT ON DUPLICATE KEY UPDATE commands.
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
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.
The most recent Stable (GA) release of MariaDB Connector/Java is:
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.
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.
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
connectionCollation
- CONJ-1199The 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
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);
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
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.