Release Notes for MariaDB Connector/J 3.0.5

Overview

MariaDB Connector/J is a lightweight JDBC driver (Type 4) for building applications on top of MariaDB database products with Java 8, Java 11, and Java 17.

This release is compatible with JDBC 4.2.

MariaDB Connector/J 3.0.5 was released on 2022-05-25. This release is of General Availability (GA) maturity.

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. (CONJ-958)

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

    • 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.

Issues Fixed

  • When an alias length > 250 bytes is used, an ArrayIndexOutOfBoundsException is thrown. (CONJ-956)

  • The timestamp value only saves data in milliseconds precision even when MariaDB Server supports microseconds. (CONJ-947)

  • Using the properties clientCertificateKeyStoreUrl and clientCertificateKeyStoreUrl can result in an SQLException like: (CONJ-949)

    java.sql.SQLInvalidAuthorizationSpecException: (conn=484) Access denied for user '####'@'####' (using password: YES)
    
    • The aliases clientCertificateKeyStoreUrl for keyStore and clientCertificateKeyStoreUrl for keyStorePassword were previously removed and have now been restored.

  • Wrong text type names and length in result set metadata for TEXT, TINYTEXT, MEDIUMTEXT, and LONGTEXT (CONJ-950)

  • When using java.time.OffsetDateTime, an SQLException is thrown: (CONJ-954)

    java.sql.SQLException: Type java.time.OffsetDateTime not supported type
    
  • When using java.time.Instant, an SQLException is thrown: (CONJ-959)

    java.sql.SQLException: Type java.time.Instant not supported type
    
  • When a negative TIME value is used with Resultset.getObject(<int>, LocalDateTime.class) an erroneous value is returned. (CONJ-962)

  • When the serverSslCert file cannot be loaded, a generic error message is thrown. This made error diagnosis difficult. (CONJ-965)

  • When using output parameters in stored procedures, the callable statement clearParameters() doesn't take OUTPUT parameters into account when clearing parameters. (CONJ-967)

  • org.mariadb.jdbc.ClientPreparedStatement is missing a toString implementation, which is useful for logging. (CONJ-969)

  • When executing a prepared statement, a java.lang.ClassCastException may be returned due to a concurrency problem. (CONJ-972)

  • ClientPreparedStatement uses a large amount of memory for caching. (CONJ-973, CONJ-972)

Upgrade

MariaDB Connector/J 3.0 has been superseded by MariaDB Connector/J 3.3, which is fully compatible with MariaDB Connector/J 3.0. For upgrade instructions: