MySQL Connector/Node.js 8.0.12 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.12, 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.12 (2018-07-27, General availability)

X DevAPI Notes

* For compliance with the Core DevAPI, these
Connector/Node.js changes were made:

+ Collection: Deprecated: count(). Changed:
getSchema() now returns a Schema instance instead of
the schema name.

+ CollectionModify: Deprecated: limit(x, y)’s second
parameter, and arrayDelete().

+ CollectionFind: Deprecated: limit(x, y)’s second
parameter. Added: limit(x).offset(y).

+ CollectionRemove: Deprecated: limit(x, y)’s second
parameter.

+ Table: Deprecated: count() and insert(Document) API.
Updated: getSchema() now returns a Schema instance
instead of the Schema name. Removed: as().

+ TableSelect: Deprecated: limit(x, y)’s second
parameter. Added: limit(x).offset(y).

+ TableDelete: Deprecated: limit(x, y)’s second
parameter, and delete(x)’s parameter in favor of
using where(x) instead.

+ TableUpdate: Deprecated: limit(x, y)’s second
parameter, and update(x)’s parameter in favor of
using where(x) instead.

+ SqlExecute: Deprecated: sqlExecute() in favor of
sql(). Added: bind().

+ Column: Added isNumberSigned(), getCollationName(),
getCharacterSetName(), and isPadded()

Bugs Fixed

* The Promise returned by the session.sql().execute()
method resolved to a plain JavaScript object rather than
a proper Result instance. This meant it lacked access to
the API with methods such as getAffectedItemsCount() and
getWarnings(). (Bug #28146988)

* Retrieving rows with NULL fields would emit an unexpected
AssertionError. (Bug #27978594)

* The session.close() method is now asynchronous by
returning a JavaScript Promise, when before it returned
immediately. (Bug #27893001)

* The right-padding mechanism was improved. (Bug #27839295)

* While calling getSession() without arguments yields an
“Invalid parameter.” error, passing in ‘{}’ yielded a
“Cannot read property ‘length’ of undefined.” error. Now
‘{}’ is allowed, and getSession() defaults to using ” as
the user name. (Bug #27730748)

* Improved performance for expression parsing and protocol
message encoding.

On Behalf of the MySQL/Oracle Release Engineering Team,
Hery Ramilison