The TLSv1.0 and TLSv1.1 connection protocols are now deprecated and support for them is subject to removal in a future Connector/Node.js version. Using these protocols now raises a warning. (WL #14565)
Management of connections to the MySQL server is now handled independently of the X DevAPI
Session
interface. (WL #12430)
Replaced all instances of the deprecated
Buffer()
API for the recommended alternatives (Buffer.alloc()
,Buffer.allocUnsafe()
, andBuffer.from()
) to avoid unnecessary warning messages. (Bug #32820267, Bug #103419)-
For
addOrReplaceOne()
andreplaceOne()
, an error is now reported if the object provided as the second argument contains an_id
property that does not match the value provided as the first argument.The previous behavior was unexpected. For example, when calling
addOrReplaceOne('1', { _id: '2', name: 'foo' })
, a document with_id: '1'
was created if it did not exist, or if it did exist then any existingname
property was updated with the value'foo'
, or one was created. (Bug #32763298) SQL statement instances can now be executed with different placeholder values. (Bug #32750927)
We now ensure that all floating point numbers are represented either by JavaScript numbers or by X DevAPI expression literals that are encoded as an X Protocol
V_DOUBLE
type; this helps avoid loss of precision. (Bug #32687374, Bug #103124)We now prevent column metadata callback functions used as push-based cursors in the
execute()
method from being called more than once for each result set generated by a statement. (Bug #32631911)Upon exceeding
connectTimeout
to a MySQL server, when a connection pool contained an idle connection that previously established a connection to same server and in the meantime the server became unresponsive but reachable, then an application became unresponsive after trying to acquire a connection from the pool. (Bug #32205365)If
connectTimeout
was exceeded as the client tried to connect to a server, the connection socket was not implicitly closed. (Bug #32200234)