MySQL Connector/Node.js 8.0.15 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.15, 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.15 (2019-02-01, General Availability)

This release contains no functional changes and is published
to align version number with the MySQL Server 8.0.15 release.

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

MySQL Connector/C++ 8.0.15 has been released

Dear MySQL users,

MySQL Connector/C++ 8.0.15 is a new release version of the MySQL
Connector/C++ 8.0 series.

Connector/C++ 8.0 can be used to access MySQL implementing Document
Store or in a traditional way, using SQL queries. It allows writing
both C++ and plain C applications using X DevAPI and X DevAPI for C.
It also supports the legacy API of Connector/C++ 1.1 based on JDBC4.

To learn more about how to write applications using X DevAPI, see
“X DevAPI User Guide” at

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

See also “X DevAPI Reference” at

https://dev.mysql.com/doc/dev/connector-cpp/devapi_ref.html

and “X DevAPI for C Reference” at

https://dev.mysql.com/doc/dev/connector-cpp/xapi_ref.html

For generic information on using Connector/C++ 8.0, see

https://dev.mysql.com/doc/dev/connector-cpp/

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

To download MySQL Connector/C++ 8.0.15, see the “Generally Available (GA)
Releases” tab at

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

==================================================

Changes in MySQL Connector/C++ 8.0.15 (2019-02-01, General
Availability)

This release contains no functional changes and is published
to align version number with the MySQL Server 8.0.15 release.

Enjoy and thanks for the support!

On Behalf of Oracle/MySQL Release Engineering Team,
Piotr Obrzut

MySQL Connector/ODBC 5.3.12 has been released

Dear MySQL users,

MySQL Connector/ODBC 5.3.12, a new version of the ODBC driver for the
MySQL database management system, has been released.

The available downloads include both a Unicode driver and an ANSI
driver based on the same modern codebase. Please select the driver
type you need based on the type of your application – Unicode or ANSI.
Server-side prepared statements are enabled by default. It is suitable
for use with any MySQL version from 5.5.

This is the sixth release of the MySQL ODBC driver conforming to the
ODBC 3.8 specification. It contains implementations of key 3.8
features, including self-identification as a ODBC 3.8 driver,
streaming of output parameters (supported for binary types only), and
support of the SQL_ATTR_RESET_CONNECTION connection attribute (for the
Unicode driver only).

The release is now available in source and binary form for a number of
platforms from our download pages at

http://dev.mysql.com/downloads/connector/odbc/5.3.html

For information on installing, please see the documentation at

http://dev.mysql.com/doc/connector-odbc/en/connector-odbc-installation.html



Changes in MySQL Connector/ODBC 5.3.12 (2019-01-28, General Availability)

Functionality Added or Changed


     * A new ENABLE_LOCAL_INFILE connection option was added to
       the connection string, DSN, and GUI. Disabled by default,
       set ENABLE_LOCAL_INFILE=1 to enable LOAD DATA operations.
       This toggles the MYSQL_OPT_LOCAL_INFILE mysql_options()
       option.
       The connection string overrides the DSN value if both are
       set.

Bugs Fixed


     * Dynamic linking (-DCLIENT_STATIC_LINKING:BOOL=false) was
       not functioning, and updating to the most recent MySQL
       Server 5.7 headers restored this functionality. 
       (Bug #28609434, Bug #92319, Bug #91841)

     * Calling SQLBulkOperations with no_ssps set to 0 and
       cursortype set to SQL_CURSOR_DYNAMIC would cause an
       unexpected halt when using the generic Linux binaries.
       (Bug #28289320)


On Behalf of Oracle/MySQL Release Engineering Team,
Balasubramanian Kandasamy

MySQL Connector/NET 8.0.14 has been released

Dear MySQL users,
 
MySQL Connector/NET 8.0.14 is the second version to support
Entity Framework Core 2.1 and the fourth general availability release
of MySQL Connector/NET to add support for the new XDevAPI, which
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.
 
To learn more about how to write applications using the XDevAPI, see
http://dev.mysql.com/doc/x-devapi-userguide/en/index.html. For more
information about how the XDevAPI is implemented in Connector/NET, see
http://dev.mysql.com/doc/dev/connector-net. NuGet packages provide functionality at a project level. To get the full set of features available in Connector/NET such as availability in the GAC, integration with Visual Studio's Entity Framework Designer
and integration with MySQL for Visual Studio, installation through
the MySQL Installer or the stand-alone MSI is required.
 
Please note that the XDevAPI 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.
 
To download MySQL Connector/NET 8.0.14, see
http://dev.mysql.com/downloads/connector/net/
 
Installation instructions can be found at
https://dev.mysql.com/doc/connector-net/en/connector-net-installation.html

Changes in MySQL Connector/NET 8.0.14 (2019-01-21)


On Behalf of MySQL Release Engineering Team,
Surabhi Bhat

MySQL Connector/C++ 8.0.14 has been released

Dear MySQL users,

MySQL Connector/C++ 8.0.14 is a new release version of the MySQL Connector/C++ 8.0 series.

Connector/C++ 8.0 can be used to access MySQL implementing Document Store or in a traditional way, using SQL queries. It allows writing both C++ and plain C applications using X DevAPI and X DevAPI for C. It also supports the legacy API of Connector/C++ 1.1 based on JDBC4.

To learn more about how to write applications using X DevAPI, see “X DevAPI User Guide” at

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

See also “X DevAPI Reference” at

https://dev.mysql.com/doc/dev/connector-cpp/devapi_ref.html

and “X DevAPI for C Reference” at

https://dev.mysql.com/doc/dev/connector-cpp/xapi_ref.html

For generic information on using Connector/C++ 8.0, see

https://dev.mysql.com/doc/dev/connector-cpp/

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

To download MySQL Connector/C++ 8.0.14, see the “Generally Available (GA) Releases” tab at

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

Enjoy and thanks for the support!

On Behalf of Oracle/MySQL Release Engineering Team,
Kent Boortz

MySQL Connector/ODBC 8.0.14 has been released

Dear MySQL users,

MySQL Connector/ODBC 8.0.14 is a new version in the MySQL Connector/ODBC 8.0 series,
the ODBC driver for the MySQL Server.

The available downloads include both a Unicode driver and an ANSI driver based on the
same modern codebase. Please select the driver type you need based on the type of your
application – Unicode or ANSI. Server-side prepared statements are enabled by default.
It is suitable for use with any MySQL server version from 5.5.

This release of the MySQL ODBC driver is conforming to the ODBC 3.8 specification.
It contains implementations of key 3.8 features, including self-identification
as a ODBC 3.8 driver, streaming of output parameters (supported for binary types
only), and support of the SQL_ATTR_RESET_CONNECTION connection attribute (for the
Unicode driver only).

The release is now available in source and binary form for a number of platforms
from our download pages at

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

For information on installing, please see the documentation at

https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-installation.html

Changes in MySQL Connector/ODBC 8.0.14 (2019-01-21, General Availability)

Functionality Added or Changed

* A new ENABLE_LOCAL_INFILE connection option was added to
the connection string, DSN, and GUI. Disabled by default,
set ENABLE_LOCAL_INFILE=1 to enable LOAD DATA operations.
This toggles the MYSQL_OPT_LOCAL_INFILE mysql_options()
option.
The connection string overrides the DSN value if both are
set.

* MySQL Connector/ODBC is now compatible with MSVC 2017,
while retaining compatibility with MSVC 2015:

+ Previously, Connector/ODBC binary distributions were
compatible with projects built using MSVC 2015.
Binary distributions now are compatible with
projects built using MSVC 2017 or 2015.

+ Previously, Connector/ODBC source distributions
could be built using MSVC 2015. Source distributions
now can be built using MSVC 2017 or 2015.

+ Previously, the MSI installer accepted the Visual
C++ Redistributable for Visual Studio 2015. The MSI
installer now accepts the Visual C++ Redistributable
for Visual Studio 2017 or 2015.

* Two informative text files were added: INFO_BIN contains
information about the build environment used to produce
the distribution, and INFO_SRC provides information about
the product version and the source repository from which
the distribution was produced. Source distributions
include the INFO_SRC file only.

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

MySQL Connector/Node.js 8.0.14 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.14, 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.14 (2019-01-21, General Availability)

Functionality Added or Changed

* Removed deprecation notices from the count() methods.

* Setting the default schema via the connection now sets
the default schema on the server; meaning, subsequent
queries executed using session.sql() do not need to
specify the schema.

Bugs Fixed

* Setting the default schema with the connection URI using
a schema name that contained special characters (that
would need to be percent-encoded) would result in the
percent-encoded name being used instead of the original
one (e.g. “%25%26%5E*%5E_” instead of “%&^*^_”). (Bug
#28990682)

* An error is once again thrown if sslOption’s ‘ca’ is
different than the certificate authority used to sign the
server certificate, or if the server certificate has been
revoked. (Bug #28977649)

* Attempting to use false-like values such as 0, false,
null, and undefined would emit errors when updating or
inserting documents in a collection or rows in a table.
Additionally, now boolean values become numeric values
(true=1, false=0) while null and undefined are converted
to MySQL’s NULL type. (Bug #28970727, Bug #93315)

* Collection.existsInDatabase() always returned true if any
other collection existed in the database. (Bug #28745240)

* Configuring a default schema from the connection string
would create the schema if it did not exist. Now, an
“Unknown database” error is thrown instead.

* An unexpected notice could result in an unexpected halt
of the client.

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

MySQL Connector/C++ 8.0.13 has been released

Dear MySQL users,

MySQL Connector/C++ 8.0.13 is a new release version of the MySQL
Connector/C++ 8.0 series.

Connector/C++ 8.0 can be used to access MySQL implementing Document Store or in a traditional way, using SQL queries. It allows writing both C++ and plain C applications using X DevAPI and X DevAPI for C. It also supports the legacy API of Connector/C++ 1.1 based on JDBC4.

To learn more about how to write applications using X DevAPI, see “X DevAPI User Guide”

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

See also “X DevAPI Reference” at

https://dev.mysql.com/doc/dev/connector-cpp/devapi_ref.html

and “X DevAPI for C Reference” at

https://dev.mysql.com/doc/dev/connector-cpp/xapi_ref.html

For generic information on using Connector/C++ 8.0, see

https://dev.mysql.com/doc/dev/connector-cpp/

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

To download MySQL Connector/C++ 8.0.13, see the “Generally Available (GA)
Releases” tab at

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



Changes in MySQL Connector/C++ 8.0.13 (2018-10-22, General Availability)

* Character Set Support

* Packaging Notes

* X DevAPI Notes

* Functionality Added or Changed

* Bugs Fixed

Character Set Support


* For connections to the server made using the legacy JDBC
API (that is, not made using X DevAPI or X DevAPI for C),
the default connection character set is now utf8mb4
rather than utf8. Connections to the server made using X
DevAPI or X DevAPI for C continue to use the connection
character set determined by the server. (Bug #28204677)

Packaging Notes


* Connector/C++ 32-bit MSI packages are now available for
Windows. These 32-bit builds enable use of the legacy
JDBC connector.

* Connector/C++ compressed tar file packages are now
available for Solaris.
It is also possible to build Connector/C++ from source on
Solaris. For platform-specific build notes, see Building
Connector/C++ Applications: Platform-Specific Considerations
(http://dev.mysql.com/doc/connector-cpp/8.0/en/connector-cpp-apps-platform-considerations.html).


X DevAPI Notes


* Connector/C++ now provides connection pooling for
applications using X Protocol. This capability is based
on client objects, a new type of X DevAPI object. A
client can be used to create sessions, which take
connections from a pool managed by that client. For a
complete description, see Connecting to a Single MySQL
Server Using Connection Pooling
(http://dev.mysql.com/doc/x-devapi-userguide/en/connecting-connection-pool.html).
X DevAPI example:
using namespace mysqlx;

Client cli("user:password@host_name/db_name", ClientOption::POOL_MAX_SIZE, 7);
Session sess = cli.getSession();

// use sess as before

cli.close();  // close session sess

X DevAPI for C example:
char error_buf[255];
int  error_code;

mysqlx_client_t *cli
= mysqlx_get_client_from_url(
"user:password@host_name/db_name", "{ \"maxSize\": 7 }", error_buf, &error_code);
mysqlx_session_t *sess = mysqlx_get_session_from_client(cli);

// use sess as before

mysqlx_close_client(cli);  // close session sess


* For X DevAPI, a new connect-timeout option can be
specified in connection strings or URIs to indicate a
connection timeout in milliseconds. The
SessionSettings::Options object supports a new
CONNECT_TIMEOUT option.
For X DevAPI for C, the mysqlx_opt_type_t constant is
MYSQLX_OPT_CONNECT_TIMEOUT together with the
OPT_CONNECT_TIMEOUT() macro.
If no timeout option is specified, the default is 10000
(10 seconds). A value of 0 disables the timeout. The
following examples set the connection timeout to 10
milliseconds:
X DevAPI examples:
Session sess("user@host/db?connect-timoeut=10");

Session sess(..., SessionOption::CONNECT_TIMEOUT, 10, ...);

Session sess(
...,
SessionOption::CONNECT_TIMEOUT, std::chrono::milliseconds(10),
...
);

X DevAPI for C example:
mysqlx_session_options_t *opt = mysqlx_session_options_new();
mysqlx_session_option_set(opt, ..., OPT_CONNECT_TIMEOUT(10), ...);

Functionality Added or Changed


* JSON: Connector/C++ now uses RapidJSON for improved
performance of operations that involve parsing JSON
strings. There are no user-visible API changes for X
DevAPI or X DevAPI for C.

Bugs Fixed


* On SLES 15, Connector/C++ installation failed if
libmysqlcppcon7 was already installed. (Bug #28658120)

* Applications that were statically linked to the legacy
JDBC connector could encounter a read access violation at
exit time due to nondeterministic global destruction
order. (Bug #28525266, Bug #91820)

* Configuring with -DCMAKE_BUILD_TYPE=Release did not work
on Linux. (Bug #28045274)

* Field references in .having() expressions could be
interpreted incorrectly and produce errors.
(Bug #26310713)


Enjoy and thanks for the support!

On Behalf of Oracle/MySQL Release Engineering Team,
Balasubramanian Kandasamy

MySQL Connector/Node.js 8.0.13 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.13, 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.13 (2018-10-22, General availability)

Functionality Added or Changed

* To go with the existing asynchronous
mysqlx.getSession(conn_str) method, a new synchronous
mysqlx.getClient(conn_str, options) method was added that
creates a connection pool handler that provides an
asynchronous getSession() method to create and retrieve
connections from the pool. The collection pooling options
are:

+ enabled: enables or disables connection pooling;
boolean and defaults to true.

+ maxSize: maximum number of connections available in
the pool; positive integer and defaults to 25.

+ maxIdleTime: maximum number of milliseconds a
connection can be idle in the queue before being
closed; integer >= 0 and defaults to 0 (infinite).

+ queueTimeout: maximum number of milliseconds a
request will wait for a connection to become
available; integer >= 0 and defaults to 0
(infinite).
This is different than connectTimeout that’s used
for non-pooling. In a pooling scenario, there might
already be connections in the pool and queueTimeout
controls how long to wait for a connection in the
pool.
Example usage:
var mysqlx = require(‘@mysql/xdevapi’)
var client = mysqlx.getClient(
{ user: ‘root’, host: ‘localhost’, port: 33060 },
{ pooling: { enabled: true, maxIdleTime: 5000, maxSize: 25, queueTimeout: 20000 } }
);

client.getSession()
.then(session => {
console.log(session.inspect())
return session.close() // the connection becomes idle in the client pool
})
.then(() => {
return client.getSession()
})
.then(session => {
console.log(session.inspect())
return client.close() // closes all connections and destroys the pool
})

Closing a session attached to the pool makes the
connection available in the pool for subsequent
getSession() calls, while closing (destroying) the pool
effectively closes all server connections.

* Added a connection timeout query parameter. This defines
the length of time (milliseconds) the client waits for a
MySQL server to become available in the given network
addresses. It was added to both the mysqlx.getSession()
(non-pooling sessions) and mysqlx.getClient() (pooling
sessions) interfaces. This option defaults to 10000 (10
seconds). The value 0 disables the timeout so the client
will wait until the underlying socket (platform
dependent) times out.
Similar to other option formatting rules, this option
defined as connection-timeout (kebab-case) for URI
definitions and connectionTimeout (camelCase) for plain
JavaScript configuration objects.
Example usage:
const mysqlx = require(‘@mysql/xdevapi’);
var client = mysqlx.getClient(‘root@localhost?connect-timeout=5000’)
client.getSession()
.catch(err => {
console.log(err.message) // “Connection attempt to the server was aborted. Timeout of 5000 ms was exceeded.”
})

// Or

const mysqlx = require(‘@mysql/xdevapi’);
var client = mysqlx.getClient(‘mysqlx://root:passwd@[localhost:33060, 127.0.0.1:33060]?connect-timeout=5000’)
client.getSession()
.catch(err => {
// connection could not be established after 10 seconds (5 seconds for each server)
console.log(err.message); // All server connection attempts we re aborted. Timeout of 5000 ms was exceeded for each selected server.
});

In a multi-host scenario, the connect-timeout value
applies to each individual host.

Bugs Fixed

* Improved the handling of X Protocol global notices by
properly logging and then ignoring non-fatal errors, and
making the connection unusable for subsequent operations
in the case of a fatal error. (Bug #28653781)

* Calling getCollationName() on non-textual fields, such as
INT, threw the following error “TypeError: Cannot read
property ‘collation’ of undefined”. (Bug #28608923)

* The fields() method did not function with valid
expressions generated by the expr() method. (Bug
#28409639)

* The returned Session.inspect() object now includes the
‘user’ property in addition to the ‘dbUser’ property but
containing the same value. (Bug #28362115)

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

MySQL Connector/ODBC 8.0.13 has been released

Dear MySQL users,

MySQL Connector/ODBC 8.0.13 is a new version in the MySQL Connector/ODBC 8.0 series, the ODBC driver for the MySQL Server.

The available downloads include both a Unicode driver and an ANSI driver based on the same modern codebase. Please select the driver type you need based on the type of your application – Unicode or ANSI. Server-side prepared statements are enabled by default. It is suitable for use with any MySQL server version from 5.5.

This release of the MySQL ODBC driver is conforming to the ODBC 3.8 specification. It contains implementations of key 3.8 features, including self-identification as a ODBC 3.8 driver, streaming of output parameters (supported for binary types only), and support of the SQL_ATTR_RESET_CONNECTION connection attribute (for the Unicode driver only).

The release is now available in source and binary form for a number of platforms from our download pages at

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

For information on installing, please see the documentation at

https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-installation.html

Changes in MySQL Connector/ODBC 8.0.13 (2018-10-22, General Availability)

Functionality Added or Changed

  • Added dynamic libmysql linking support via the -DMYSQLCLIENT_STATIC_LINKING:BOOL=TRUE|FALSE option; defaults to FALSE to enable dynamic linking.

Bugs Fixed

  • Fixed column metadata handling with Microsoft Access.
    (Bug #28670725, Bug #91856)
  • The following obsolete options were removed: NO_SCHEMA (use NO_CATALOG instead), DISABLE_SSL_DEFAULT (use SSLMODE instead), and SSL_ENFORCE (use SSLMODE instead). (Bug #28407520)
  • The ODBC Driver returned 0 for the SQL_MAX_SCHEMA_NAME_LEN attribute, and now returns 64 as the maximum length for a MySQL schema name.
    (Bug #28385722)
  • Because the MySQL ODBC driver ignored the SQL_RD_OFF value for the SQL_ATTR_RETRIEVE_DATA attribute, it incorrectly kept writing into the data buffers. This led to write access violation errors when data was written into the buffer when the user application explicitly requested not to write there.
    (Bug #28098219, Bug #91060)

On Behalf of Oracle/MySQL Release Engineering Team,
Kent Boortz