Web lists-archives.com

MySQL Connector/J 8.0.14 has been released




Dear MySQL users,

MySQL Connector/J Version 8.0.14 is the GA release of the 8.0
branch of MySQL Connector/J. It is suitable for use with MySQL Server
versions 8.0, 5.7, 5.6, and 5.5. 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-14.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.14 GA, see the "Generally Available
(GA) Releases" tab at http://dev.mysql.com/downloads/connector/j/

Enjoy!

Changes in MySQL Connector/J 8.0.14 (2019-01-21, General
Availability)

     * Functionality Added or Changed

     * Bugs Fixed

Functionality Added or Changed


     * Important Change: For MySQL Server 8.0.14 and later,
       5.7.25 and later, 5.6.43 and later, and 5.5.63 and later,
       minimal permissions on named pipes are granted to clients
       that use them to connect to the server. Connector/J,
       however, can only use named pipes when granted full
       access on them. As a workaround, the MySQL Server that
       Connector/J wants to connect to must be started with the
       system variable named_pipe_full_access_group; see the
       description for the system variable for more details.
       (Bug #28971500)

     * X DevAPI: getDefaultSchema() now returns null when no
       default schema has been set for the Session.

     * Connector/J now has a new property for building from
       source, com.mysql.cj.build.verbose, which controls the
       verbosity of the build process' output. Its default value
       is false, which makes the output considerably shorter
       comparing with earlier versions of Connector/J.
       (Bug #28970166)

     * The method ResultSet.getBoolean() now returns FALSE when
       the designated column is of data type CHAR or VARCHAR and
       contains an "N" or "n". This makes Connector/J 8.0
       behaves like Connector/J 5.1 when it comes to converting
       strings to booleans. (Bug #28706219, Bug #92574)

     * Connector/J is now capable of reading and, if needed,
       ignoring any initial notice packets sent by X Plugin
       before an X Protocol connection is established.

Bugs Fixed


     * X DevAPI: Connector/J returned a NullPointerException
       when an application tried to establish an XProtocol
       connection using a Windows named pipe, which is not
       supported. With this fix, an XProtoclException is
       returned instead.
       This fix also makes sure that instead of a
       NullPointerException, a proper exception is thrown when
       an application tries to establish a Classic MySQL
       Protocol connection with a named pipe, but the named pipe
       is not specified at connection or it cannot be found on
       the specified path. (Bug #28606708)

     * X DevAPI: Adding an empty document with executeAsync()
       resulted in an ERROR 5013 (Missing row data for Insert).
       With this fix, no error or warning is returned in the
       case. (Bug #23045642)

     * Collection.count() returned a wrong error message when
       the collection did not exist. (Bug #28924137)

     * The source code of Connector/J contains non-ASCII
       characters, which might cause encoding issues during
       compilation if the system did not also use a UTF-8
       locale. With this fix, the build script now handles
       non-ASCII characters well regardless of the system
       locale. (Bug #28894344)

     * A memory leak occurred if Connector/J was loaded via the
       bootstrap class path instead of the main application
       classpath. It was because
       AbandonedConnectionCleanupThread failed to initialize its
       internal thread in that case, so that references for
       closed connections were not cleaned up, and their number
       kept growing. This fix repairs the clean up process for
       closed connections and also makes the process thread
       safe. (Bug #28747636, Bug #92508)

     * clearInputStream() returned a NullPointerException when
       the mysqlSocket, mysqlInput, or mysqlOutput object it
       tried to retrieve was null. With this fix, an IOExcpetion
       is thrown instead in the situation. Thanks to Henning
       Schmiedehausen for contributing to the fix.
       (Bug #28731795, Bug #92625)

     * Updating a result set returned by a server-side prepared
       statement with SELECT ... FOR UPDATE
       (http://dev.mysql.com/doc/refman/8.0/en/select.html)
       resulted in an SQLException. (Bug #28692243, Bug #92536)

     * When the connection property zeroDateTimeBehavior was set
       to CONVERT_TO_NULL, Connector/J converted a TIME
       (http://dev.mysql.com/doc/refman/8.0/en/time.html) type
       value of 00:00:00 to null. With this fix, it returns a
       java.sql.Time instance of zero hours, minutes, and
       seconds, as expected. (Bug #28101003, Bug #91065)

     * When using server-side prepared statements and working
       with a table with multicolumn primary key, an updateRow()
       call failed with a NullPointerException or a
       SQLException. (Bug #25650514)

     * When using server-side prepared statements, a
       refreshRow() call after an updateRow() call failed with a
       SQLException. (Bug #25650482)

     * changeUser() failed to change or reauthenticate a user
       when all of the following were true: (a) connection to
       the server was by SSL; (b) the caching_sha2 or
       sha256_password authentication plugin was used for the
       user; and (c) the user password contained Unicode
       characters. (Bug #25642226)

On Behalf of Oracle/MySQL Release Engineering Team,
Daniel Horecki