arrow-left

All pages
gitbookPowered by GitBook
1 of 13

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Connector/J 3.0.11 Release Notes

circle-info

The most recent release of is:

hashtag
Connector/J 3.5.7 Download Now

| Release Notes | |

Release date: 25 Aug 2023

MariaDB Connector/J 3.0.11 is a (GA) release.

circle-exclamation

This is the last release of the 3.0 release series as the release series 3.1 is compatible and is therefore replacing 3.0 as the maintenance releases.

circle-info

For an overview of MariaDB Connector/J see the page

hashtag
Bugs Fixed

  • correcting 3.0.10 incompatibility with java 8

hashtag
Changelog

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

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

Downloadarrow-up-right
Changelog
Stable
CONJ-1089arrow-up-right
changelog

Connector/J 3.0 Release Notes

Release Notes for the MariaDB Connector/J 3.0 series

Connector/J 3.0.7 Release Notes

circle-info

The most recent release of is:

hashtag
Connector/J 3.5.7 Download Now

| Release Notes | |

Release date: 4 Aug 2022

MariaDB Connector/J 3.0.7 is a (GA) release.

circle-info

For an overview of MariaDB Connector/J see the page

hashtag
Bugs Fixed

  • SQLDataException reading DATA_TYPE on DatabaseMetaData.getTypeInfo() after 3.0.4

  • Permit specific Statement.setLocalInfileInputStream for compatibility

  • Version 3.0.0 returns String for VARBINARY instead of byte[] as 2.7.6 did

hashtag
Changelog

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

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

CONJ-989arrow-up-right Binary column read as String
  • CONJ-990arrow-up-right Setting timezone=UTC result in SQLSyntaxErrorException

  • CONJ-991arrow-up-right Regression: binary(16) is returned as String by getObject()

  • CONJ-994arrow-up-right Version 3.x rejects previously accepted boolean string parameter for BOOLEAN field

  • Downloadarrow-up-right
    Changelog
    Stable
    CONJ-993arrow-up-right
    CONJ-986arrow-up-right
    CONJ-987arrow-up-right
    changelog

    Connector/J 3.0.1 Release Notes

    circle-info

    The most recent release of is:

    hashtag
    Connector/J 3.5.7 Download Now

    | Release Notes | |

    Release date: 11 Aug 2021

    MariaDB Connector/J 3.0.1 is a (Beta) release.

    triangle-exclamation

    Do not use non-stable (non-GA) releases in production!

    circle-exclamation

    NOTE: MariaDB Connector/J 3.0.1 is fully compatible with the latest release of version 2.7. Further maintenance releases will not be provided for version 2.7 after MariaDB Connector/J 3.0 becomes stable (GA).

    circle-info

    For an overview of MariaDB Connector/J see the page

    hashtag
    Notable Changes

    See for 3.0 release. with the following fixes :

    hashtag
    Bugs Fixed

    • Provide JPMS module descriptor

    • metadata query performance correction

    • MariaDbPoolDataSource leaks connections when the mariadb server restarts

    hashtag
    Changelog

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

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

    Connector/J 3.0.10 Release Notes

    circle-info

    The most recent release of is:

    hashtag
    Connector/J 3.5.7 Download Now

    | Release Notes | |

    Release date: 11 Jan 2023

    MariaDB Connector/J 3.0.10 is a (GA) release.

    circle-info

    For an overview of MariaDB Connector/J see the page

    hashtag
    Bugs Fixed

    • Connector/J doesn't set SSL cap bit in Handshake Response Packet

    • timezone=auto option failure on non-fixed-offset zone machine

    • Compatibility for deprecated arguments is case sensitive now

    hashtag
    Changelog

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

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

    Connector/J 3.0.4 Release Notes

    circle-info

    The most recent release of is:

    hashtag

    Connector/J 3.0.2 Release Notes

    circle-info

    The most recent release of is:

    hashtag

    CONJ-885arrow-up-right org.mariadb.jdbc.internal.util.pool.Pool swallows SQLException during addConnection
  • CONJ-891arrow-up-right getImportedKeys with null catalog restrict result to current database

  • CONJ-894arrow-up-right Adding useMysqlMetadata for 2.7 compatibility

  • Downloadarrow-up-right
    Changelog
    Beta
    mariadb-connector-j-300-release-notes.md
    CONJ-879arrow-up-right
    CONJ-880arrow-up-right
    CONJ-884arrow-up-right
    changelog
    Downloadarrow-up-right | Release Notes | Changelog |

    Release date: 25 Mar 2022

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

    circle-info

    For an overview of MariaDB Connector/J see the page

    hashtag
    Bugs Fixed

    • CONJ-921arrow-up-right DatabaseMetadata#getTables throws a syntax error if a NULL value is used for tableNamePattern

    • CONJ-922arrow-up-right A DECIMAL overflow for long/int/short is not throwing an exception

    • CONJ-924arrow-up-right A NULL value returned for a column can result in java.lang.IllegalArgumentException: Unexpected data type NULL

    • The authentication is restricted to the methods 'mysql_native_password,client_ed25519,auth_gssapi_client' instead of allowing all supported methods, if the option restrictedAuth is not set (default NULL).

    • 32 bit value returned instead of a 64 bit value for generated id / updated rows

    • When the load-balancing HA mode is used a host is not used anymore after a connection failed, even if a connection would be possible again.

    • Connection.getMetaData() returns values of type MariaDbClob instead of the expected type String

    • metadata.getColumnTypeName() returns the values with a wrong types

    • A connection fails if the password is set before the username for MariaDbDataSource

    • The login packet has non-standard length information for the attributes, which can result in issues when using wireshark.

    • When using failover the definition of retriesAllDown is ignored when trying to reconnect

    • Updates of rows is not possible for storage engines which do not provide the metadata information for primary columns

    hashtag
    Install and Upgrade

    • CONJ-925arrow-up-right missing OSGI metadata is missing

    hashtag
    Changelog

    For a complete list of changes made in MariaDB Connector/J 3.0.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.7
    Download Now
    Downloadarrow-up-right | Release Notes | Changelog |

    Release date: 16 Sep 2021

    MariaDB Connector/J 3.0.2 is a Release Candidate (RC) release.

    triangle-exclamation

    Do not use non-stable (non-GA) releases in production!

    circle-exclamation

    NOTE: MariaDB Connector/J 3.0.2 is fully compatible with the latest release of version 2.7. Further maintenance releases will not be provided for version 2.7 after MariaDB Connector/J 3.0 becomes stable (GA).

    circle-info

    For an overview of MariaDB Connector/J see the page

    hashtag
    Notable Changes

    See mariadb-connector-j-300-release-notes and mariadb-connector-j-301-release-notes for 3.0 release. with the following changes:

    hashtag
    Feature

    • CONJ-879arrow-up-right Java 9 module full support ( Aws IAM credential now use sdk v2 authentication to permit use of modules)

    • CONJ-897arrow-up-right Ensure having connection's thread id in Exception / debug logs

    hashtag
    Bugs Fixed

    • CONJ-896arrow-up-right Ensure pool connections validation when a socket fail

    hashtag
    Changelog

    For a complete list of changes made in MariaDB Connector/J 3.0.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.7
    Download Now
    Downloadarrow-up-right
    Changelog
    Stable
    CONJ-1023arrow-up-right
    CONJ-1026arrow-up-right
    CONJ-1032arrow-up-right
    changelog

    Connector/J 3.0.9 Release Notes

    circle-info

    The most recent release of is:

    hashtag
    Connector/J 3.5.7 Download Now

    | Release Notes | |

    Release date: 8 Nov 2022

    MariaDB Connector/J 3.0.9 is a (GA) release.

    circle-info

    For an overview of MariaDB Connector/J see the page

    hashtag
    Notable Changes

    • merge from 2.7.7 : avoid splitting BULK command into multiple commands in case of prepareStatement.setNull() use

    hashtag
    Bugs Fixed

    • merge from 2.7.7 : GSSAPI authentication might result in connection reset

    • merge from 2.7.7 : DatabaseMetaData.getImportedKeys should return real value for PK_NAME column

    • stored procedure register output parameter as null if set before registerOutParameter command

    hashtag
    Changelog

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

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

    Connector/J 3.0.8 Release Notes

    circle-info

    The most recent release of is:

    hashtag

    CONJ-1017arrow-up-right Calendar possible race condition, cause wrong timestamp setting
    Downloadarrow-up-right
    Changelog
    Stable
    CONJ-1016arrow-up-right
    CONJ-1021arrow-up-right
    CONJ-1019arrow-up-right
    CONJ-1012arrow-up-right
    changelog
    spinner
    Downloadarrow-up-right | Release Notes | Changelog |

    Release date: 20 Sep 2022

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

    circle-info

    For an overview of MariaDB Connector/J see the page

    hashtag
    Notable Changes

    • CONJ-1010arrow-up-right improve client side prepared parameter substitution

    hashtag
    Bugs Fixed

    • CONJ-997arrow-up-right regression in 3.x when using option galeraAllowedState resulting in an IndexOutOfBoundsException

    • CONJ-1002arrow-up-right 2nd failover reconnection ignores default database/schema setting when not set by connection string

    • CONJ-1003arrow-up-right replication configuration always use 1st replica on 3.0

    • BatchUpdateException doesn't inherited the SQLState & vendorCode from the cause SQL exception

    • disabling cachePrepStmts with useServerPrepStmts might result in Exception

    • Socket file descriptors are leaked after connecting with unix socket if DB is not up running

    • setting createDatabaseIfNotExist option use on read-only server will refuse connection on 3.0

    hashtag
    Changelog

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

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

    Connector/J 3.5.7
    Download Now
    spinner
    CONJ-926arrow-up-right
    CONJ-923arrow-up-right
    CONJ-933arrow-up-right
    CONJ-935arrow-up-right
    CONJ-937arrow-up-right
    CONJ-934arrow-up-right
    CONJ-932arrow-up-right
    CONJ-945arrow-up-right
    CONJ-940arrow-up-right
    spinner

    Connector/J 3.0.5 Release Notes

    circle-info

    The most recent release of is:

    hashtag
    Connector/J 3.5.7 Download Now

    | Release Notes | |

    Release date: 25 May 2022

    MariaDB Connector/J 3.0.5 is a (GA) release.

    circle-info

    For an overview of MariaDB Connector/J see the page

    hashtag
    Notable Changes

    • When multiple hosts are defined in the connection URL and no failover or load balancing mode is used, MariaDB Connector/J will try the hosts sequentially until a connection is successful.

    • LOAD DATA LOCAL INFILE is now enabled by default on the client side, for compatibility with MariaDB Connector/J 2.7.

      • The connector validates that only the filename used in the original request will be provided, to prevent a man-in-the-middle change of the filename.

    hashtag
    Bugs Fixed

    • ArrayIndexOutOfBoundsException when alias length > 250

    • value after milliseconds precision lost when timestamp is encoded

    • keep clientCertificateKeyStoreUrl and clientCertificateKeyStoreUrl aliases

    hashtag
    Changelog

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

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

    Connector/J 3.0.6 Release Notes

    circle-info

    The most recent release of is:

    hashtag

    spinner
    spinner
    spinner
    spinner
    spinner

    This might cause Batch performance regression. In case of non use of LOCAL DATA LOCAL INFILE, disable option allowLocalInfile explicitly can improve performance.

    CONJ-950arrow-up-right metadata TEXT/TINYTEXT/MEDIUMTEXT/LONGTEXT wrong column type and length
  • CONJ-954arrow-up-right java.time.OffsetDateTime not supported

  • CONJ-958arrow-up-right compatibility with 2.7: now loop through hosts when multiple host without failover mode

  • CONJ-959arrow-up-right java.time.Instant not supported

  • CONJ-962arrow-up-right resultset for negative TIME value return erronous LocalDateTime values

  • CONJ-965arrow-up-right better error message when not loading serverSslCert file

  • CONJ-967arrow-up-right clearParameters() breaks validity when using output parameters in stored procedures

  • CONJ-969arrow-up-right org.mariadb.jdbc.ClientPreparedStatement is missing a toString implementation, useful for logging

  • Downloadarrow-up-right
    Changelog
    Stable
    CONJ-958arrow-up-right
    CONJ-961arrow-up-right
    CONJ-956arrow-up-right
    CONJ-947arrow-up-right
    CONJ-949arrow-up-right
    changelog
    spinner
    Downloadarrow-up-right | Release Notes | Changelog |

    Release date: 29 Jun 2022

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

    circle-info

    For an overview of MariaDB Connector/J see the page

    hashtag
    Notable Changes

    • CONJ-984arrow-up-right Permit executing initial command with new option initSql

    • CONJ-976arrow-up-right Improve use of pipelining when allowLocalInfile is enabled

    hashtag
    Bugs Fixed

    • CONJ-985arrow-up-right ResultSet.getObject() returns ByteSet instead of Byte[] for BIT

    • CONJ-953arrow-up-right PreparedStatement.getGeneratedKeys() returns rows when no keys are generated in insert

    • CONJ-975arrow-up-right ArrayIndexOutOfBoundsException when attempt to getTime() from ResultSet

    • ResultSet.getObject() returns Byte instead of Boolean for tinyint(1)

    • Permit setObject with java.util.Date parameter

    hashtag
    Changelog

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

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

    Connector/J 3.5.7
    Download Now
    spinner
    CONJ-996arrow-up-right
    CONJ-1006arrow-up-right
    CONJ-1007arrow-up-right
    CONJ-999arrow-up-right
    CONJ-979arrow-up-right
    CONJ-980arrow-up-right

    Connector/J 3.0.0 Release Notes

    circle-info

    The most recent release of is:

    hashtag
    Connector/J 3.5.7 Download Now

    | Release Notes | |

    Release date: 4 May 2021

    MariaDB Connector/J 3.0.0 is a (Alpha) release.

    triangle-exclamation

    Do not use non-stable (non-GA) releases in production!

    circle-exclamation

    NOTE: MariaDB Connector/J 3.0.0 is fully compatible with the latest release of version 2.7. Further maintenance releases will not be provided for version 2.7 after MariaDB Connector/J 3.0 becomes stable (GA).

    circle-info

    For an overview of MariaDB Connector/J see the page

    hashtag
    Notable Changes

    This version is a complete rewrite of the Java driver. The goal being to have a more performant, easy to read, extendable, small driver.

    • Complete rewrite, code simplification / clarification, reduced size (15%), more than 90% coverage tested.

    • Performance Improvements:

      • Prepare and execution are now using pipelining when using option useServerPrepStmts

    hashtag
    SSL configuration

    New Options :

    The options useSsl, trustServerCertificate, and disableSslHostnameVerification still exist, but sslMode allows for easier configuration.

    hashtag
    Easy logging

    If using slf4j, just enable the package "org.mariadb.jdbc" log.

    • Level ERROR will log connection errors

    • Level WARNING will log query errors

    • Level DEBUG will log queries

    If not using slf4j, console logging will be used.

    If you really want to use the JDK logger, the System property "mariadb.logging.fallback" set to JDK will indicate to use common logging.

    hashtag
    Failover

    The Failover implementation now permits redoing transactions : when creating a transaction, all commands will be cached, and can be replayed in case of failover.

    This functionality can be enabled using the option transactionReplay.

    This is not enabled by default, because it requires that the application avoid using non-idempotent commands.

    Example:

    hashtag
    Allow setup of socket TCP_KEEPIDLE, TCP_KEEPCOUNT, TCP_KEEPINTERVAL

    Equivalent options are tcpKeepIdle, tcpKeepCount, tcpKeepInterval

    Because these are available only with Java 11, setting these options with java < 11 will have no effect.

    hashtag
    permit authentication plugin restriction

    New Options :

    example setting restrictedAuth to "mysql_native_password,client_ed25519,auth_gssapi_client", only those plugins can be use. If server return ask for an authentication plugin not listed in restrictedAuth, driver will throw an exception.

    hashtag
    Extendable

    The driver is built with a Service Provider Interface (SPI), permitting easy ways to extend the driver.

    Possible extensions:

    • org.mariadb.jdbc.codec.Codec : Allows encoding/decoding types

    • org.mariadb.jdbc.plugin.authentication.AuthenticationPlugin : Allows authentication plugin additions. Defaults are "mysql_clear_password", "auth_gssapi_client", "client_ed25519", "mysql_native_password", "dialog" (PAM), and "caching_sha2_password"

    • org.mariadb.jdbc.plugin.credential.CredentialPlugin

    hashtag
    Bugs Fixed

    • - includeThreadDumpInDeadlockExceptions always includes the thread dump, even when it is not a deadlock exception

    • - Properties parameters that differ from string not taken in account

    hashtag
    Changelog

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

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

    Performance enhancement with MariaDB 10.6 server when using option useServerPrepStmts, skipping metadata (see MDEV-19237arrow-up-right)

    Level TRACE will log all exchanges with server

    : Allows login/password retrieval. Defaults are "AwsIamCredentialPlugin" to permit retrieve a temporary IAM authentication, "EnvCredentialPlugin" to get environment authentication, and "PropertiesCredentialPlugin" to get authentication info from java property
  • org.mariadb.jdbc.plugin.tls.TlsSocketPlugin : Allows extended TLS implementation

  • Downloadarrow-up-right
    Changelog
    Alpha
    CONJ-864arrow-up-right
    CONJ-858arrow-up-right
    changelog
    spinner
    START TRANSACTION;
    SELECT next_val(hibernate_sequence);
    INSERT INTO myCar(id, name) VALUE (?, ?) //WITH PARAMETERS: 1, 'car1'
    INSERT INTO myCarDetail(id, carId, name) VALUE (?, ?, ?) //WITH PARAMETERS: 2, 1, 'detail1'
    INSERT INTO myCarDetail(id, carId, name) VALUE (?, ?, ?) //WITH PARAMETERS: 3, 2, 'detail2'
    COMMIT;
    MariaDB Connector/J
    About MariaDB Connector/J
    About MariaDB Connector/J
    MariaDB Connector/J
    About MariaDB Connector/J
    About MariaDB Connector/J
    MariaDB Connector/J
    About MariaDB Connector/J
    About MariaDB Connector/J
    MariaDB Connector/J
    About MariaDB Connector/J
    About MariaDB Connector/J
    MariaDB Connector/J
    About MariaDB Connector/J
    About MariaDB Connector/J
    MariaDB Connector/J
    About MariaDB Connector/J
    About MariaDB Connector/J
    MariaDB Connector/J
    About MariaDB Connector/J
    About MariaDB Connector/J
    MariaDB Connector/J
    About MariaDB Connector/J
    About MariaDB Connector/J
    MariaDB Connector/J
    About MariaDB Connector/J
    About MariaDB Connector/J
    MariaDB Connector/J
    About MariaDB Connector/J
    About MariaDB Connector/J
    MariaDB Connector/J
    About MariaDB Connector/J
    About MariaDB Connector/J

    Connector/J 3.0.3 Release Notes

    circle-info

    The most recent release of MariaDB Connector/J is:

    hashtag
    Connector/J 3.5.7 Download Now

    | Release Notes | |

    Release date: 25 Jan 2022

    MariaDB Connector/J 3.0.3 is a (GA) release.

    circle-exclamation

    NOTE: MariaDB Connector/J 3.0.3 is NOT fully compatible with the latest release of version 2.7.

    circle-info

    For an overview of MariaDB Connector/J see the page

    New version 3.0 is a complete rewrite of the connector, with code simplification, reduced size (15%), more than 90% coverage tested, with performance gain.

    Licence is still LGPL-2.1 or later with copyright to MariaDB Corporation AB only (2.x was a fork from Drizzle-JDBC - BSD licensed)

    What’s new :

    • Binary prepare statement improvement

    • faster connection creation

    • Support of new 10.6 metadata skip

    hashtag
    Performance

    Other than features, connector permit significant performance improvements : Here are real world TPCC benchmarks results, comparing connector version 2.7.4 and 3.0.3

    hashtag
    Binary prepare statement improvement

    When using option useServerPrepStmts, the connector uses BINARY protocol, meaning executing PREPARE + EXECUTE commands.

    hashtag
    Pipelining

    Queries issued from the application are sent one by one to the server, waiting on the results of the first query before sending the next. Communication with the server follows this synchronous request-response messaging pattern.

    When using binary protocol, a PREPARE command is issued (if not in cache) before executing an EXECUTE command.

    For MariaDB server 10.2+, the connector will send an optimistic PREPARE + EXECUTE, sending queries one after another. EXECUTE command will be executed only if the PREPARE command succeeds. This avoids some network latency reading PREPARE result before sending EXECUTE command.

    hashtag
    Support of new 10.6 metadata skip

    10.6 Server with permit to avoid resending metadata when they haven’t changed. This concerns SQL commands that return a resultset, when using option useServerPrepStmts.

    Now, the server will send metadata only if they have changed (DDL change for example). This avoids useless information transiting on the network and parsing those metadata.

    Connector internal JMH Benchmark results, selecting one row of a 100 int column table :

    hashtag
    Avoiding additional command on connection creation

    Connection creation by default won't execute additional command to set session environement. Depending on options, there might be a few commands, but driver avoid them to the maximum.

    hashtag
    REDO failover transaction

    After a failover occurs, reconnection will be automatically done according to high-availability configuration. Even if implementation is now smaller and clearer, the result will be the same.

    After reconnection, the connector might still throw an exception if the state is unsure. Failover on replica are transparent. This is different when the failover occurs during the execution of a query on a master server.

    A new option transactionReplay permit to replay transactions : Most of the time, queries occur in transactions so redo transaction implementation will solve most of the failover cases transparently. Option is disabled by default. When enabled, all queries in a transaction are cached until transaction resolution. If a failover occurs, the driver will recreate a new connection and replay cache. There is a few limitations: When the last command was a "commit" sent to the server, an exception will be thrown, the driver cannot know the current state. application must have idempotent queries only (queries can be "replayable") If the transaction is too big (cache size limit set with new option transactionReplaySize), the driver won’t cache the transaction anymore, so a failover during that specific transaction will result in throwing an exception.

    hashtag
    Better java version support

    Driver uses Multi-Release JARs (MRJAR), to simultaneously contain implementations for different versions of java. This permit still supports Java 8, but provides solutions for higher versions of java.

    Connector now provides a java 9 full module-info JPMS descriptor

    Java 11 socket extended option TCP_KEEPIDLE, TCP_KEEPCOUNT and TCP_KEEPINTERVAL are now configurable with tcpKeepIdle, tcpKeepCount, tcpKeepInterval options respectively. (These options don't have any effect if using a java version lower than 11).

    hashtag
    Authentication plugin restriction

    A new option restrictedAuth permits to restrict authentication plugins. Example connection string jdbc:mariadb:*localhost/db?restrictedAuth=mysql_native_password,client_ed25519 will restrict plugin use of standard mysql_native_password and client_ed25519 only.*

    hashtag
    Metadata queries performance improvement

    Metadata queries use of information_schema improvement for partial or exact matching, permitting faster results.

    hashtag
    Easy logging

    Logging can now be easily enabled at runtime, using slf4j if present, or fallback to JDK logger / console if not.

    • INFO level log connection error

    • DEBUG/FINE level log commands

    • TRACE/FINEST level log network exchanges

    hashtag
    jdbc:mariadb scheme

    It occurs that mysql AND mariadb driver are sometimes available in the same classpath, so, now, driver only accept jdbc:mariadb: by default.

    If for some reason, connection string is required to be jdbc:mysql: Driver will be used only if connection string contain 'permitMysqlScheme'. example :jdbc:mysql:*localhost/test?permitMysqlScheme.*

    hashtag
    Option changed

    Ssl configuration use now a new option sslMode to simplify configuration Possible value are :

    disable
    trust
    verify-ca
    verify-full

    This can still be done by 2.x options (useSsl, disableSslHostnameVerification, trustServerCertificate) for compatibility, but this is the preferred way.

    A new option timezone permits to force session timezone in case of client having a different timezone compare to server. if set timezone must to either offset or IANA tz (like '+5:00' or 'America/New_York')': connector will set connection timezone. This replace options useLegacyDatetimeCode and serverTimezone that did cause some problems when using .

    hashtag
    Option removal

    Even if connectors aim to be compatible with the 2.x version, there has been very few option removal since connection exists. This is now the time :

    allowMasterDownConnection
    assureReadOnly
    autoReconnect
    cachePrepStmts
    callableStmtCacheSize
    continueBatchOnError
    enablePacketDebug
    ensureSocketState
    failOnReadOnly
    failoverLoopRetries
    jdbcCompliantTruncation
    keyPassword
    loadBalanceBlacklistTimeout
    log
    maximizeMysqlCompatibility

    Specific support for aurora has been removed, since Issues were piling up without the community proposing any PR for them and without access for us to test those modifications.

    hashtag
    Changelog

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

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

    Pipelining PREPARE
  • REDO failover transaction

  • Better java version support

  • New option tcpKeepIdle, tcpKeepCount, tcpKeepInterval for java 11+

  • Provide a full JPMS module descriptor

  • new option restrictedAuth to permit authentication plugin restriction

  • metadata queries performance improvement

  • Easy logging

  • Deprecated option removal

  • Support codec registry implementation

  • verify-full

    Standard SSL use: Encryption, certificate validation and hostname validation

    nullCatalogMeansCurrent
    passwordCharacterEncoding
    pinGlobalTxToPhysicalConnection
    prepStmtCacheSqlLimit
    profileSql
    retriesAllDown
    rewriteBatchedStatements
    serverTimezone
    sharedMemory
    slowQueryThresholdNanos
    staticGlobal
    tcpNoDelay
    tcpRcvBuf
    tcpSndBuf
    trackSchema
    trustStore
    trustStorePassword
    trustStoreType
    useBatchMultiSend
    useBatchMultiSendNumber
    useFractionalSeconds
    useLegacyDatetimeCode
    useOldAliasMetadataBehavior
    validConnectionTimeout

    allowMasterDownConnection

    In master/replica setup, master must be up

    disable

    No ssl (default)

    trust

    Encryption only (no certificate and hostname validation) (DEVELOPMENT ONLY)

    verify-ca

    Encryption, certificates validation, BUT no hostname verification

    Downloadarrow-up-right
    Changelog
    Stable
    MDEV-19237arrow-up-right
    changelog
    spinner
    2
    multicol
    About MariaDB Connector/J
    About MariaDB Connector/J

    assureReadOnly

    connectors now configure replica connection being read-only

    autoReconnect

    doesn’t have any sense now, better use high availability mode

    cachePrepStmts

    always cache when using binary protocol

    callableStmtCacheSize

    always cache when using binary protocol

    continueBatchOnError

    enablePacketDebug

    log are now set using standard logger

    ensureSocketState

    removed, this was a debugging option

    failOnReadOnly

    one master must always be present when using master/replica setup

    failoverLoopRetries

    failover number of attempts rely now only on retriesAllDown option

    jdbcCompliantTruncation

    The connector ensures STRICT_TRANS_TABLES is always set to follow JDBC expected truncation.

    keyPassword

    loadBalanceBlacklistTimeout

    denied lists are handled automatically, and if all servers are denied, the connector will reconnect using the denied servers. No need for these options anymore.

    log

    log are now set using standard logger

    maximizeMysqlCompatibility

    very old option for old mysql connector compatibility

    nullCatalogMeansCurrent

    was to permit non JDBC behavior for compatibility with old version correction

    passwordCharacterEncoding

    pinGlobalTxToPhysicalConnection

    prepStmtCacheSqlLimit

    forced to 8K value

    profileSql

    log are now set using standard logger

    retriesAllDown

    not compatible with new failover implementation

    rewriteBatchedStatements

    replaced by use of faster batching implementation ( COM_STMT_BULK)

    serverTimezone

    sharedMemory

    plugin removed

    slowQueryThresholdNanos

    staticGlobal

    tcpNoDelay

    Who would want to disable NAGLE to have a slow connector

    tcpRcvBuf

    tcpSndBuf

    trackSchema

    Automatically set

    trustStore

    Use java standard truststore or option serverSslCert to provide certificates.

    trustStorePassword

    Same than trustStore

    trustStoreType

    Same than trustStore

    useBatchMultiSend

    replaced by use of faster batching implementation ( COM_STMT_BULK)

    useBatchMultiSendNumber

    See useBatchMultiSend

    useFractionalSeconds

    server are expected to support fractional seconds (all mariadb server support it, mysql since 5.6)

    useLegacyDatetimeCode

    useOldAliasMetadataBehavior

    was to permit non JDBC behavior for compatibility with old version correction

    validConnectionTimeout

    No automatic validation done by connector, pool must validate connection, not connector having a thread for that

    some functions that are affected by the time zone setting