Added custom debug functionality using the
NODE_DEBUGenvironment variable to log and inspect low-level details for the application. Connector/Node.js now supports this feature and uses it, in particular, for logging information about the protocol messages (inbound and outbound) that are exchanged with the MySQL server. Messages sent by the client are available under the protocol:outbound scope, whereas messages sent by the server are available under the protocol:inbound scope.
For example, the following writes a textual protobuf representation of every
Mysqlx.Resultset.Rowmessage to stderr:
shell> NODE_DEBUG='protocol:outbound:Mysqlx.Crud.Find,protocol:inbound:Mysqlx.Resultset.Row' node app.js
Node 10 and later supports wildcard pattern matching, such as
NODE_DEBUG='protocol:inbound:*'to filter out inbound messages and
NODE_DEBUG='*'to show all logs. (Bug #31729043)
Added a deprecation warning to the Connector/Node.js installation process advising that future Connector/Node.js versions do not guarantee compatibility with Node.js versions past their end of life. If you are planning to upgrade, make sure you do so to Node.js 12.0.0 or later.
Stored values in a
DOUBLEcolumn were truncated when encoded and sent to the MySQL server. For example, a value such as 1.000001 became 1. Such values are now encoded properly as double-precision floating numbers supporting the full range of 64-bit floating point precision in MySQL
DOUBLEcolumns (with possible approximations performed by the database engine). (Bug #31734504)
All debugging utilities are now disabled when debug mode is off. (Bug #31584269)