MySQL Forums
Forum List  »  Announcements

MySQL Connector/J 8.0.12 has been released
Posted by: Prashant Tekriwal
Date: July 27, 2018 02:04PM

Dear MySQL users,

  MySQL Connector/J Version 8.0.12 is the second GA release of the 8.0
  branch of MySQL Connector/J. It is suitable for use with MySQL Server
  versions 5.5, 5.6, 5.7, and 8.0. It supports the Java Database Connectivity
  (JDBC) 4.2 API, and implements the X DevAPI.

This release includes the following new features and changes, also
described in more detail on

As always, we recommend that you check the "CHANGES" file in the download archive to be aware of changes in behavior that might affect your application.

To download MySQL Connector/J 8.0.12 GA, see the "Generally Available (GA) Releases" tab at


Changes in MySQL Connector/J 8.0.12 (2018-07-27, General

   Version 8.0.12 is the latest General Availability release of
   the 8.0 series of MySQL Connector/J. It is suitable for use
   with MySQL Server versions 8.0, 5.7, 5.6, and 5.5.

     * Functionality Added or Changed

     * Bugs Fixed

Functionality Added or Changed

     * X DevAPI: The following changes have been made to the

          + Removed ModifyStatement.arrayDelete() and

          + Renamed Colletion.find().limit().skip() to

          + To simplify the class hierarchy and to have the
            class names reflect better the classes' functions,
            the following changes have been made:
               o The FindParams class has been renamed to
               o The AbstractFindParams class has been renamed
                 to AbstractFilterParams
               o The DocFindParams class has been renamed to
               o The TableFindParams class has been renamed to
            Notice that the methods in the original FilterParams
            class have been moved under the new
            AbstractFilterParams class.
       (Bug #28027459)

     * X DevAPI: Connector/J now uses synchronous client sockets
       ( by default to communicate with MySQL
       servers for X Protocol connections. While asynchronous
       sockets can still be used by setting the connection
       property xdevapi.useAsyncProtocol=true, this is not
       recommended, as it might result in performance
       degradation for Connector/J. (Bug #27522054)

     * X DevAPI: Connector/J now gives provision for the use of
       a custom socket factory for X Protocol connections to
       MySQL Servers using Unix domain sockets. See Section 6.8,
       "Connecting Using Unix Domain Sockets" for details.

     * Connector/J now retrieves the MySQL keyword list from the
       ) table on the MySQL server when a connection session
       is established. The list can then be accessed by calling

     * To simplify the code, the ReadableProperty and
       ModifiableProperty classes have been consolidated into
       the RuntimeProperty class.

Bugs Fixed

     * X DevAPI: When creating an X DevAPI session using a
       Properties map instead of a connection string, referring
       to property keys like host, port, and protocol in
       lowercase caused a NullPointerException. With the fix,
       both upper and lower cases can now be used.

     * X DevAPI: When using the getConnection() method with the
       mysqlx: scheme in the connection URL, Connector/J
       returned an ordinary JDBC connection instead of an
       X-Protocol connection. (Bug #26089880)

     * If wait_timeout was set on the server and the Connector/J
       had the connection property interactiveClient=false, or
       if interactive_timeout was set on the server and
       Connector/J had the connection property
       interactiveClient=true, a connection is invalidated when
       it has idled for a longer time than the set timeout. When
       such a timeout occurred, Connector/J threw a
       CJCommunicationsException, without indicating it was a
       timeout. With this fix, the error message returned
       explains the issue and suggests how to avoid it.
       (Bug#27977617, Bug #90753)

     * When an application tried to connect to a non-MySQL
       database through some JDBC driver and Connector/J
       happened to be on the class path also, Connector/J threw
       a SQLNonTransientConnectionException, which prevented the
       application from connecting to its database. With this
       fix, Connector/J returns null whenever a connection
       string does not start with jdbc:mysql: or mysqlx:, so
       connections to non-MySQL databases are not blocked.
       (Bug#26724154, Bug #87600)

     * A wasNull() call on a ResultSet did not return the proper
       value unless AbstractResultsetRow.getNull() or
       AbstractResultsetRow.getValueFromByte() was called
       before. This caused data loss when Connector/J was used
       with frameworks like Hibernate, which rely on wasNull()
       calls to properly retrieve data. With this fix, wasNull()
       returns a correct value as long as some getter method has
       been called before on the ResultSet.
       (Bug #25924324, Bug#85941)

On Behalf of Oracle/MySQL Release Engineering Team
Prashant Tekriwal

Options: ReplyQuote

Written By
MySQL Connector/J 8.0.12 has been released
July 27, 2018 02:04PM

Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.