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.
Connector/Node.js 8.0.7 is the first release to use the new numbering. It is the successor to Connector/Node.js 1.0.6.
The methods
Collection.modify()
andCollection.remove()
no longer accept an empty search condition, such asNULL
or an empty string. (WL #10765)-
A number of changes have been implemented for methods which drop objects. These changes are listed here:
Drop methods are now made available at the same level as the corresponding create methods. For example, the
dropCollection()
anddropTable()
methods have been removed from theXSession
class (which has now been consolidated into theSession
class) and moved under theSchema
class; under the same principle, thedrop()
method has been removed from theCollection
andTable
classes.Drop methods now succeed even if the objects to be dropped do not exist.
dropView()
is now asynchronous and behaves exactly likedropTable()
anddropCollection()
by implicitly executing the drop operation and returning a promise that holds the result.
(WL #10532)
A configuration handler interface,
mysqlx.config
, has been added for managing persisted session configurations. See MySQL Connector/Node.js with X DevAPI for details. (WL #10586)-
The following changes have been made with regarding encrypted connections to MySQL servers:
Connections are now encrypted by default.
The connection option
ssl-enable
has been replaced by thessl-mode
option, which hasDISABLED
,REQUIRED
(the default), andVERIFY_CA
as its permitted values.Using the
ssl-crl
option requires the use of thessl-ca
and thatssl-mode=VERIFY_CA
; this is due to an internal requirement of the Node.js core platform.
(WL #10415)
-
BaseSession
,NodeSession
, andXSession
have been consolidated into a singleSession
class. The following related changes were also made:The
mysqlx.getNodeSession()
method is renamed togetSession
and returns aSession
object.DatabaseObject.getSession()
now returns aSession
object.
(WL #10413)
A new clientside failover feature has been implemented such that, when creating a new connection, multiple hosts can now be specified in the connection string; Connector/Node.js tries each host until a successful connection is established or until all hosts have been tried. See Tutorial: Getting Started for details (WL #10346)
Connector/Node.js now supports connecting to a local server using Unix sockets. See Tutorial: Getting Started for details. (WL #10345)
The format of the document ID value generated when adding a document to a collection has changed. It is still a string of 32 hexadecimal digits based on a UUID, but the order of digits has been changed to match the requirement of a stable ID prefix. (WL #10683)
It was not possible to create a new session for a user with a SHA256 password using the PLAIN authentication mechanism. (Bug #26117627)
The handling of large JSON arrays was problematic, and caused an exception to be thrown. (Bug #26084604)
Attempting to use
bind
when removing a document from a collection threw an exception. (Bug #26029551, WL #10687)Table.update()
did not require aSearchConditionStr
parameter; not including this parameter could result in deleting all rows from a given table. A clientside exception is now thrown ifSearchConditionStr
is empty or undefined. (Bug #25993174, WL #10687)Table.delete()
did not require aSearchConditionStr
parameter; not including this parameter could result in deleting all rows from a given table. A clientside exception is now thrown ifSearchConditionStr
is empty or undefined. (Bug #25992969, WL #10687)