MySQL Lists are EOL. Please join:

List:Announcements« Previous MessageNext Message »
From:Balasubramanian Kandasamy Date:September 28 2017 1:29pm
Subject:MySQL Connector/Java 8.0.8-dmr has been released
View as plain text  
Dear MySQL users,

MySQL Connector/J 8.0.8 Development Release is a development milestone
release for the 8.0.x series.

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-8.html

MySQL Connectors and other MySQL client tools and applications now
synchronize the first digit of their version number with the (highest)
MySQL server version they support.
This change makes it easy and intuitive to decide which client version
to use for which server version.

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.8 dmr, see the "Development
Releases" tab at http://dev.mysql.com/downloads/connector/j/

Enjoy!

Changes in MySQL Connector/J 8.0.8 (2017-09-28, Development Milestone)

    Version 8.0.8 Development Milestone is the latest development
    release of the 8.0 branch of MySQL Connector/J, providing an
    insight into upcoming features. 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.

      * Functionality Added or Changed

      * Bugs Fixed

    Functionality Added or Changed

      * Packaging: RPM and Debian packages for installing
        Connector/J are now available from the Connector/J
        Download page
        (http://dev.mysql.com/downloads/connector/j/).

      * X DevAPI: Connector/J has implemented a new interface of
        the X Dev API that allows the retrieving, adding,
        removing, and updating of persistent session
continuation
        data. The implementation includes the following:

           + A SessionConfig object that
holds the information
             for a session
configuration data set.

           + A PersistenceHandler interface
that allows custom
             implementations of
persistence handlers.

           + A PasswordHandler interface that
allows custom
             implementations of
password handling code.

           + A SessionConfigManager class for
editing and
             fetching Sessionconfig
objects, and defining
             instances of the
PersistenceHandler and
             PasswordHandler.
        See MySQL Connector/J X DevAPI Reference
        (http://dev.mysql.com/doc/dev/connector-j) for more
        details.

      * X DevAPI: A new connection property, xdevapi.auth, has
        been added for specifying the authentication
mechanism
        for connections using the X Protocol. Allowed values
are
        MYSQL41, PLAIN, and EXTERNAL. See the entry for the
new
        property in Configuration Properties
  (http://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-configuration-properties.html)
        for details.

      * X DevAPI: To support row locks
(http://dev.mysql.com/doc/refman/5.7/en/innodb-locking-reads.html)
        for the find() method of the X DevAPI, the
        FindStatement and the SelecStatement interfaces have
been
        extended with the following methods:

           + lockExclusive(), which works
like SELECT ... FOR
             UPDATE for relational
tables.

           + lockShared(), which works like
the SELECT ... LOCK
             IN SHARED MODE (for
MySQL 5.7) or SELECT ... FOR
             SHARE (for MySQL 8.0)
for relational tables.
        See MySQL Connector/J X DevAPI Reference
        (http://dev.mysql.com/doc/dev/connector-j) for more
        details.

      * X DevAPI: Connector/J now supports the expanded syntax
        for the IN and NOT IN operator, which can check if a
        sub-expression is contained inside another one; for
        example:
        // For documents
        coll.find("$.b IN [100,101,102]").execute();
        coll.find("'some text with 5432' in $.a").execute();
        coll.find("1 in [1, 2, 4]").execute();
        coll.find("{'a': 3} not in {'a': 1, 'b':
2}").execute();
        // For relational tables
        tbl.select().where("3 not in [1, 2, 4]").execute();
        tbl.select().where("'qqq' not in $.a").execute();
        tbl.select().where("{'a': 1} in {'a': 1, 'b':
2}").execute();


      * X DevAPI: A number of changes have been implemented for
        the "drop" methods for the X DevAPI:

           + Removed
dropCollection(schemaName, collectionName)
             and
dropTable(schemaName, tableName) from Session.

           + Added
dropCollection(collectionName) and
             dropTable(tableName)
to Schema.

           + Schema.dropView() now executes
immediately and
             returns void; also,
the ViewDrop interface has been
             removed.

           + Collection.dropIndex() now
executes immediately and
             returns void; also the
DropCollectionIndexStatement
             interface has been
removed.

           + The "drop" methods now succeed
even if the objects
             to be dropped do not
exist.

      * Conversion from the MySQL TIME data to java.sql.Date is
        now supported. In the past, a getDate() retrieving
data
        from a TIME column would throw an SQLException. Now,
such
        a retrieval returns a java.sql.Date object
containing the
        time value expressed in number of milliseconds from
the
        Java epoch; also returned is the warning: "Date part
does
        not exist in SQL TIME field, thus it is set to
January 1,
        1970 GMT while converting to java.sql.Date." (Bug
        #26750807)

      * A new connection property, enabledTLSProtocols, can now
        be used to override the default restrictions on the
TLS
        versions to be used for connections, which are
determined
        by the version of the MySQL Server that is being
        connected to. By providing a comma-separated list of
        values to this option (for example,
        "TLSv1,TLSv1.1,TLSv1.2") users can, for example,
prevent
        connections from using older TLS version, or allow
        connections to use TLS versions only supported by a
        user-compiled MySQL Server. See the entry for the
new
        property in Configuration Properties
(http://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-configuration-properties.html)


        for details.
        Thanks to Todd Farmer for contributing the code.
(Bug
        #26646676)

      * Updated the timezone mappings using the latest IANA and
        CLDR time zone databases. (Bug #25946965)

      * A new option for the loadBalancingStrategy connection
        property called serverAffinity has been added. The
        servers listed in the new connection property
        serverAffinityOrder (which should be a subset of the
        servers in the host list of the connection URL) are
        contacted in the order they are listed until a
server is
        available or until the list of servers is exhausted,
at
        which point a random load-balancing strategy is used
with
        the hosts not listed by serverAffinityOrder. See
        descriptions for loadBalancingStrategy and
        serverAffinityOrder in Configuration Properties
(http://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-configuration-properties.html)


        for details. (Bug #20182108)

    Bugs Fixed

      * Important Change: Following the changes in MySQL Server
        8.0.3, the system variables tx_isolation and
tx_read_only
        have been replaced with transaction_isolation and
        transaction_read_only in the code of Connector/J.
Users
        should update Connector/J to this latest release in
order
        to connect to MySQL 8.0.3. They should also make the
same
        adjustments to their own applications if they use
the old
        variables in their codes. (Bug #26440544)

      * X DevAPI: Calling schema.dropView() with a null argument
        resulted in a NullPointerException. (Bug #26750807)

      * X DevAPI: When dropCollection() was applied on a null
        collection, a NullPointerException occurred. (Bug
        #26393132)

      * When using cached server-side prepared statements, a
        memory leak occurred as references to opened
statements
        were being kept while the statements were being
decached;
        it happened when either the close() method has been
        called twice on a statement, or when there were
        conflicting cache entries for a statement and the
older
        entry had not been closed and removed from the
opened
        statement list. This fix makes sure the statements
are
        properly closed in both cases. Thanks to Eduard
Gurskiy
        for contributing to the fix. (Bug #26633984, Bug
#87429)

      * The regression test for Bug#63800 failed because the
        default value of the system variable
        explicit_defaults_for_timestamp of MySQL Server has
been
        changed since release 8.0.2. The test has been
adjusted
        to take the change into consideration. (Bug
#26501245)

      * Running callable statements against MySQL Server 8.0
        resulted in the SQLException: ResultSet is from
UPDATE.
        No Data. (Bug #26259384)

      * Secure JDBC connections did not fall back to the default
        truststore when a custom one was not provided. (Bug
        #26243128)

      * In com/mysql/jdbc/ServerPreparedStatement.java, the
        arguments resultSetType and resultSetConcurrency for
a
        call of Connection.preparedStatement() were swapped.
(Bug
        #25874048, Bug #85885)

      * Some JDBC proxied objects were missing the proper
        handlings of the equals() methods, thus even
comparison
        of one of these proxied objects to its own self with
        equals() yielded false. This patch introduces proper
        handlings for the equals() method in all the
relevant
        proxies. (Bug #21931572, Bug #78313)

      * A server-side prepared statement was not closed when the
        same statement was being prepared again while the
        original statement was being cached. This was caused
by
        the silent replacement of the cache entry of the old
        statement by the new. When this happened repeatedly,
it
        caused eventually the complaint that
        max_prepared_stmt_count was exceeded. This fix makes
sure
        that when a cache entry for a statement replaces an
older
        one, the older statement is immediately closed. (Bug
        #20066806, Bug #74932)


On behalf of Oracle MySQL Release Team
Balasubramanian Kandasamy



Thread
MySQL Connector/Java 8.0.8-dmr has been releasedBalasubramanian Kandasamy28 Sep