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_fidoplugin 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_passwordauthentication 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
VECTORdata type when it becomes available with MySQL Enterprise Server. (WL #16174)
getParameterBindings()threw aNullPointerExceptionwhen some parameters for thePreparedStatementwere not bound. (Bug #22931632)DatabaseMetaData.getImportedKeys()returned imported primary keys from some other databases. It was due to a wrongJOINclause 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
StringBuffersin the implementations ofValueEncoderhave been replaced byStringBuildersto 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
FetchSizeof theResultSetreturned by the execution of aStatementwas not always the same as the value set on theStatementbefore usingsetFetchSize(). (Bug #113129, Bug #36043145)Some private methods in
SyntaxRegressionTest.javahad the@Testannotation 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)