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 Enterprise 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)