=====================================================
MySQL Connector/Node.JS 8.0 - Release Notes & Changes
=====================================================

MySQL Connector/Node.JS
Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.

Full release notes:
 http://dev.mysql.com/doc/relnotes/connector-nodejs/en/

v8.0.11
=======

- Replace protobuf.js library with the official google-protobuf npm package
- Add new "SHA256_MEMORY" authentication mechanism for MySQL 8.0.11 "caching_sha2_password" authentication plugin
- Introduce new auto-generated document id format (which is now generated on the server)
- Add "NOWAIT" and "SKIP_LOCKED" modes for both shared and exclusive row locks
- Add support for sorting results on CollectionFind, CollectionRemove and CollectionModify operations
- Update Session.getSchemas(), Schema.getCollections() and Schema.getTables() to return an array of instances
- Introduce performance improvements on Collection.add()
- Fix parsing issues with escape characters in expressions
- Fix precision loss issues with the use of MySQL BIGINT type in expressions
- Update result set interface to use JavaScript Date objects for representing the MySQL DATE type
- Update result set interface to apply rounding mask for the MySQL FLOAT type
- Fix decoding issues with the MySQL UNSIGNED INTEGER and BIT types
- Fix decoding issues with large documents or document properties

v8.0.9
======

- Rollout a new and improved expression parser
- Partial rollout of a protobuf message encoder using stubs compiled by the official vendor compiler
- Add support for creating and deleting collection indexes using the DevAPI
- Add support for working with transaction savepoints via the DevAPI
- Add support for modifying multiple document properties in bulk, using the `patch()` method
- Remove relational (table and view) DDL API
- Remove persistent session configuration management API
- Fix all known expression parsing issues and caveats
- Fix duplicate UUID generation issues
- Fix document property projection issues, using the `fields()` method

v8.0.8
======

- Add support for `collection.find()` and `table.select()` row locking
- Add document-specific CRUD methods (`replaceOne()`, `addOrReplaceOne()`, `getOne()` and `removeOne()`)
- Add support for automatic or manual selection of authentication mechanisms
- Remove some dead or non-supported feature code
- Fix some flaky test cases and other some small issues in the test suite
- Refactor the database entity and operation architecture
- Add support for the SQL "IN" operator for matching values against argument lists
- Add support for using the "IN" operator to check if values exist in arrays or objects
- Fix a few pressing bugs on the existing expression parser (empty quoted strings, `NULL`, negation, zeros)

v8.0.7
======

- Add support for server connections using local UNIX sockets
- Add failover support when creating sessions by providing multiple server/router addresses
- Normalize multiple session types into a single `Session` entity
- Enable SSL/TLS on server connections by default
- Introduce a new mysql-specific UUID format for document ids
- Fix issue preventing document ids to be set to `0`
- Fix protocol issue preventing the addition of a large number of documents to a collection
- Prevent behavior of implicitely removing entire tables and collections
- Fix issue with `bind()` usage for removing documents from a collection
- Normalize dropX() methods and restrict them to the proper scope
- Fix protocol issue preventing SHA256 password users of picking the `PLAIN` authentication mechanism in MySQL 8
- Add high-level management interface to support persistent session configurations

v1.0.6
======

- Added support for single array or multiple argument function calls on the public API
- Updated behavior of `collection.add([])` to avoid confusing exceptions
- Fixed issues with `collection.bind()`
- Fixed parsing issues on URI and connection string corner-cases
- Added support for creating IPv6 sessions with a URI or connection string
- Added support for creating TLS sessions with a URI or connection string
- Added support for validating the server certificate with a given CA and/or CRL

v1.0.5
======

- Added Table creation API.
- Added APIs for Transaction handling

v1.0.4
======

- Changed package name from `mysqlx` to `@mysql/xdevapi`
- Added View DDL support
- Added support for Common URI format
- Added Collection.count() and Table.count()
- Added Schema.getCollectionAsTable()
- Added xdevapi.getVersion()

v1.0.3
======

- Improved handling of fragmented TCP packages
- BUG#23118665:C/NODEJS FAILS TO WORK WHEN SSL IS ENABLED

v1.0.2
======

- Initial public release
- Support for X DevAPI 1.0.4
