Version 8.0.9 Release Candidate is the first release candidate 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.
-
X DevAPI: In the process of refining the definition of the X DevAPI to cover the most relevant usage scenarios, the following API components have been removed from the X DevAPI implementation for Connector/J:
Components that support DDLs for views, including the
createView()
,dropView()
, andmodifyView()
methods.Components that support DDLS for tables, including the
createTable()
,dropTable()
, andmodifyTable()
methods.Components that support session configurations, including the
SessionConfig
object, thePersistenceHandler
interface, thePasswordHandler
interface, and theSessionConfigManager
class.
X DevAPI: Added the
setSavepoint()
,rollbackTo()
, andreleaseSavepoint()
methods to theSession
interface to support the SAVEPOINT, ROLLBACK TO SAVEPOINT, and RELEASE SAVEPOINT statements. See MySQL Connector/J X DevAPI Reference for more details. (WL #11212)X DevAPI: A new
patch()
function has been added to theModifyStatement
interface. The function accepts an JSON-like object describing document changes and applies them to documents matched by themodify()
filter. See MySQL Connector/J X DevAPI Reference for more details. (WL #11210)X DevAPI: The
createIndex()
method for theCollection
interface now has a new syntax. See MySQL Connector/J X DevAPI Reference for more details. (WL #11208)-
X DevAPI: Added the following methods for single-document operations in the X DevAPI:
replaceOne()
addOrReplaceOne()
getOne()
removeOne()
See MySQL Connector/J X DevAPI Reference for more details. (WL #10937)
X DevAPI: Setters and getters methods have been added for the configuration properties with the
MysqlDataSource
,MysqlXADataSource
, andMysqlConnectionPoolDataSource
classes. (WL #10156)X DevAPI: The connection property
enabledTLSProtocols
can now be used to select the allowed TLS versions for an X Protocol connection to the server. (WL #10152)-
Connector/J now supports the new
caching_sha2_password
authentication plugin, which is the default authentication plugin for MySQL 8.0.4 and later (see Caching SHA-2 Pluggable Authentication for details).NoteTo authenticate accounts with the
caching_sha2_password
plugin, either a secure connection to the server using SSL or an unencrypted connection that supports password exchange using an RSA key pair (enabled by setting one or both of the connecting propertiesallowPublicKeyRetrieval
andserverRSAPublicKeyFile
) must be used.Because earlier versions of Connector/J 8.0 do not support the
caching_sha2_password
authentication plugin and therefore will not be able to connect to accounts that authenticate with the new plugin (which might include the root account created by default during a new installation of a MySQL 8.0 Server), it is highly recommended that you upgrade now to Connector/J 8.0.9, to help ensure that your applications continue to work smoothly with the latest MySQL 8.0 Server. (WL #11060) Connector/J now takes advantage of the MySQL Server 8.0 data dictionary by making the connection property
useInformationSchema
true by default; this makes Connector/J, by default, access the data dictionary more efficiently by querying tables in the INFORMATION_SCHEME. See INFORMATION_SCHEMA and Data Dictionary Integration for details. Users can still set useInformationSchema to false; but for MySQL 8.0.3 and later, some data dictionary queries might then fail, due to deprecations of older data dictionary features. (WL #10619)In the past, query texts were always passed as strings to
QueryInterceptor
methods, even if the texts were not actually used by them. Now, only suppliers for the texts are passed, and the texts are only extracted byget()
calls on the suppliers. (WL #8469)
The connection property
nullNamePatternMatchesAll
, when set to false (which was the default value), caused someDatabaseMetaData
methods to throw an error when a null search string was used with them. The behavior was not compliant with the JDBC specification, which requires that a search criterion be ignored when a null search string is used for it. The connection property has now been removed from Connector/J 8.0. (Bug #26846249, Bug #87826)Trying to print the query in a
PreparedStatement
using thetoString()
method after it has been closed resulted in an exception (No operations allowed after statement closed) being thrown. (Bug #26748909)When working with MySQL Server 8.0, an update or delete statement for a
CONCUR_UPDATABLE
ResultSet
failed when theResultSet
's primary keys included a boolean column and the character set used was notlatin1
. (Bug #26266731)Connector/J failed to recognize a server greeting error it received during a handshake with the server and parsed the error message as a normal greeting packet, causing an ArrayIndexOutOfBoundsException to be thrown. (Bug #24924097)