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.Crud.Find and Mysqlx.Resultset.Row message 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 that future Connector/Node.js versions do not guarantee compatibility with End-of-life Node.js versions. If you are planning to upgrade, make sure you are using Node.js 12.0.0 or higher.
Stored values in a DOUBLE column were truncated when encoded and sent to the MySQL server. For example, a value such as 1.000001 would become 1. They are now encoded properly as double-precision floating numbers to support the full range of 64-bit floating point precision in MySQL columns with the DOUBLE data type (having in mind possible rounding an approximations performed by the database engine). (Bug #31734504)
Refactored code to disable all debugging utilities when debug mode is off. (Bug #31584269)