Version 8.4.0 is a new GA release of MySQL Connector/J. MySQL Connector/J 8.4.0 supersedes 8.3 and is recommended for use on production systems. This release can be used against MySQL Server version 8.0 and later. It supports the Java Database Connectivity (JDBC) 4.2 API, and implements the X DevAPI.
Important Change: As the
authentication_fido
plugin has been removed from MySQL Server starting from 8.4.0, it is no longer supported by Connector/J. Use the WebAuthn Authentication to support Fast Identity Online (FIDO) Authentication. (WL #16147)Known limitation of this release: because the
mysql_native_password
authentication plugin is disabled by default as of MySQL Server 8.4.0, some unit tests may generate errors unless the plugin is enabled. (Bug #36529541, Bug #114687)Connector/J now provides client-side support for the OpenTelemetry component on MySQL Enterprise Server. See Using Connector/J with OpenTelemetry for details. (WL #15706)
Connector/J is now ready to support the
VECTOR
data type when it becomes available with MySQL Enterprise Server. (WL #16174)
getParameterBindings()
threw aNullPointerException
when some parameters for thePreparedStatement
were not bound. (Bug #22931632)DatabaseMetaData.getImportedKeys()
returned imported primary keys from some other databases. It was due to a wrongJOIN
clause in the SQL statement for retrieving the imported primary keys, which has now been corrected. Thanks to Henning Pöttker for contributing to this fix. (Bug #113600, Bug #36171575)All
StringBuffers
in the implementations ofValueEncoder
have been replaced byStringBuilders
to improve code performance, as synchronization for the string values are not required. Thanks to Henning Pöttker for contributing to this patch. (Bug #113599, Bug #36171571)The
FetchSize
of theResultSet
returned by the execution of aStatement
was not always the same as the value set on theStatement
before usingsetFetchSize()
. (Bug #113129, Bug #36043145)Some private methods in
SyntaxRegressionTest.java
had the@Test
annotation for JUnit, which were useless because JUnit ignored them by default. The annotations have now been removed. Thanks to Abby Palmero for contributing to this fix. (Bug #111031, Bug #35392222)When a SQLException is thrown, the calling of
Messages.getString()
is now delayed until it is really necessary, in order to save resources. Thanks to Janick Reynders for contributing to this fix. (Bug #110286, Bug #35152855)DatabaseMetaData.getExtraNameCharacters()
returned '#' and '@', which are not allowed in unquoted schema object names. With this fix, it returns '$' as the only "extra" character allowed in unquoted identifiers. (Bug #91550, Bug #28297874)