MySQL Blog Archive
For the latest blogs go to blogs.oracle.com/mysql
MySQL Connector/Node.js 8.0.24 has been released

Dear MySQL users,

MySQL Connector/Node.js is a new Node.js driver for use with the X

DevAPI. This release, v8.0.24, is a maintenance release of the

MySQL Connector/Node.js 8.0 series.

The X DevAPI enables application developers to write code that combines

the strengths of the relational and document models using a modern,

NoSQL-like syntax that does not assume previous experience writing

traditional SQL.

MySQL Connector/Node.js can be downloaded through npm (see

  https://www.npmjs.com/package/@mysql/xdevapi for details) or from

https://dev.mysql.com/downloads/connector/nodejs/.

To learn more about how to write applications using the X DevAPI, see

http://dev.mysql.com/doc/x-devapi-userguide/en/.

For more information about how the X DevAPI is implemented in MySQL

Connector/Node.js, and its usage, see

http://dev.mysql.com/doc/dev/connector-nodejs/.

Please note that the X DevAPI requires at least MySQL Server version

8.0 or higher with the X Plugin enabled. For general documentation

about how to get started using MySQL as a document store, see

http://dev.mysql.com/doc/refman/8.0/en/document-store.html.

Changes in MySQL Connector/Node.js 8.0.24 (2021-04-20, General Availability)

     * Functionality Added or Changed

     * Bugs Fixed

Functionality Added or Changed

     * Important Change: Starting in this version,

       Connector/Node.js will ignore 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.

     * Connector/Node.js no longer guarantees compatibility with

       End-of-life Node.js versions. Today this means only

       Node.js 12.0.0 or higher are officially supported.

     * Improved the inline documentation and added functionality

       for users to generate it locally using JSDoc. See

       CONTRIBUTING.md for instructions on how to generate the

       HTML documentation.

     * Improved server disconnection handling of X Protocol

       connections now creates a log entry and returns an error

       message, as needed, after Connector/Node.js receives a

       connection-close notice from the server.

       Connector/Node.js detects three new types of warning

       notices.

          + Connection idle notice: This notice applies to a

            server connection that remains idle for longer than

            the relevant timeout setting. Connector/Node.js

            closes the connection when it receives the notice in

            an active session or while a new session is being

            created. An attempt to use the invalid session

            returns the “Connection closed. Reason: connection

            idle too long” error message.

          + Server shutdown notice: If a connection-close notice

            is received in a session as a result of a server

            shutdown, Connector/Node.js terminates the session

            with the “Connection closed. Reason: server

            shutdown” error message. All other sessions that are

            connected to the same endpoint are removed from the

            pool, if connection pooling is used.

          + Connection killed notice: If the connection being

            killed from another client session,

            Connector/Node.js closes the connection when it

            receives the notice in an active session or while a

            new session is being created. An attempt to use the

            invalid session returns the “Connection closed.

            Reason: connection killed by a different session”

            error message.

Bugs Fixed

     * The getSession() method now executes release() if a

       getSession() exception is raised; as ot was not releasing

       the connection to the pool. (Bug #32366743, Bug #101928)

     * The Session.getDefaultSchema() method now returned

       ‘undefined’ instead of a valid Schema instance if a

       default schema is not set. (Bug #32136490)

On Behalf of the MySQL Engineering Team,

Sreedhar S