MySQL Lists are EOL. Please join:

List:MySQL and Java« Previous MessageNext Message »
From:Prashant Tekriwal Date:July 27 2018 6:59pm
Subject:MySQL Connector/J 8.0.12 has been released
View as plain text  
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

https://dev.mysql.com/doc/relnotes/connector-j/8.0/en/news-8-0-12.html

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 http://dev.mysql.com/downloads/connector/j/

Enjoy!


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

    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
        API:

           + Removed
ModifyStatement.arrayDelete() and
            
ModifyStatement.merge().

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

           + 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
                 
FilterParams
                o
The AbstractFindParams class has been renamed
                 
to AbstractFilterParams
                o
The DocFindParams class has been renamed to
                 
DocFilterParams
                o
The TableFindParams class has been renamed to
                 
TableFilterParams
             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
        (java.net.Socket) 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
        INFORMATION_SCHEMA.KEYWORDS (
http://dev.mysql.com/doc/refman/8.0/en/keywords-table.html
        ) table on the MySQL server when a connection
session
        is established. The list can then be accessed by
calling
        DatabaseMetaData.getSQLKeywords().

      * 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.
        (Bug#27652379)

      * 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
Thread
MySQL Connector/J 8.0.12 has been releasedPrashant Tekriwal27 Jul