MySQL Connector/NET 8.0.24 has been released

Dear MySQL users,

MySQL Connector/NET 8.0.24 is the latest General Availability release
of the MySQL Connector/NET 8.0 series. This version supports .NET 5.0
and the X DevAPI, 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 X DevAPI, see

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

For more information about how the X DevAPI 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 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

To download MySQL Connector/NET 8.0.24, 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.24 (2021-04-20, General
Availability)

Functionality Added or Changed

   * The IgnorePrepare connection-string option was deprecated
     in the Connector/NET 8.0.23 release and removed in the
     Connector/NET 8.0.24 release.
     The removed option instructed Connector/NET to ignore all
     calls to MySqlCommand.Prepare() that were made using the
     classic MySQL protocol. (Bug #31872906)

   * Improved server disconnection handling of X Protocol
     connections now creates a log entry and returns an error
     message, as needed, after Connector/NET receives a
     connection-close notice from the server. Connector/NET
     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/NET 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/NET 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/NET 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.

   * If a classic MySQL protocol connection experiences a
     server timeout, Connector/NET now reports more precise
     disconnection information to affected .NET applications
     when the server provides improved error messages.

   * Previously, Connector/NET added client support for the
     MySQL Enterprise Edition SASL LDAP authentication plugin
     with SCRAM-SHA-1 and SCRAM-SHA-256 as authentication
     methods. Connector/NET now also supports GSSAPI/Kerberos
     as an alternative authentication method for classic MySQL
     protocol connections. SASL-based LDAP authentication does
     not apply to clients running macOS.

   * The SSH Tunneling (port forwarding) feature, which was
     added to support MySQL products in making secure
     connections on Windows, is no longer needed by other
     products. Now, using an alternative such as OCI or
     SSH.NET to create a tunnel is preferred. The related
     connection options (SshHostName, SshKeyFile,
     SshPassPhrase, SshPassword, SshPort, and SshUserName) are
     no longer valid when making Connector/NET connections,
     starting with this release.

Bugs Fixed

   * Pound symbols in JSON columns were interpreted improperly
     when using accent-sensitive collation. (Bug #32429236)

   * Several data types could not be mapped by running
     Scaffold-DbContext on valid MySQL tables. This fix
     upgrades Microsoft Entity Framework libraries to the
     latest and also adds all previously excluded mappings to
     the EFCore and EFCore5 projects. (Bug #32424742, Bug
     #102381)

   * Constructing a regular expression for each read
     diminished the performance of Connector/NET. This fix
     limits the construction to one instance, which now is
     reused. (Bug #32386454, Bug #101714)

   * A data table declared using valid database.table syntax
     within an Entity Framework model could have extra
     database names in the generated query (for example,
     database.database.table). (Bug #32358174, Bug #101236)

   * Incomplete GUID mapping in the Entity Framework Core
     implementation caused an error when the Contains method
     was used to filter records. (Bug #32173133, Bug #93398)

   * Additional error codes now prevent unexpected exceptions
     after a query. Thanks to Stanislav Revin for the patch.
     (Bug #32150115, Bug #101592)

   * An exception was thrown if any CHAR(36) columns
     containing a NULL value were referenced in a query. New
     validation now checks for NULL values when the
     MySqlDbType member is Guid. (Bug #32049837, Bug #101252)

On Behalf of Oracle/MySQL Engineering Team,
Tvarita Jain

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

MySQL Connector/ODBC 8.0.24 has been released

Dear MySQL users,

MySQL Connector/ODBC 8.0.24 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 the latest MySQL server version 8.0.

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 out (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

Enjoy and thanks for your support!


Changes in MySQL Connector/ODBC 8.0.24 (2021-04-20, General Availability)

Functionality Added or Changed


     * Previously, if the connection to the server was not used
       within the period specified by the wait_timeout system
       variable and the server closed the connection, the client
       received no notification of the reason. Typically, the
       client would see Lost connection to MySQL server during
       query (CR_SERVER_LOST) or MySQL server has gone away
       (CR_SERVER_GONE_ERROR).
       In such cases, the server now writes the reason to the
       connection before closing it, and the client receives a
       more informative error message: The client was
       disconnected by the server because of inactivity. See
       wait_timeout and interactive_timeout for configuring this
       behavior. (ER_CLIENT_INTERACTION_TIMEOUT).
       The previous behavior still applies for client
       connections to older servers and connections to the
       server by older clients.

     * If a classic MySQL protocol connection experiences a
       server timeout, Connector/ODBC now reports more precise
       disconnection information from the server.

Bugs Fixed


     * The ODBC SQLProcedureColumns function returns incomplete
       results, fetches after usage would only return the first
       40 parameters.
       The workaround was to increase the group_concat_max_len
       size, for example ‘group-concat-max-len = 1000000’ under
       [mysqld]. (Bug #32504915, Bug #102589)

     * MySQL 8.0.24 added a new ER_CLIENT_INTERACTION_TIMEOUT
       error code, and it caused the ODBC driver to report the
       wrong SQLSTATE HY000 instead of 08S01 after the
       connection is terminated on the server by
       wait_/_interactive timeout. The ODBC driver is now linked
       against libmysqlclient 8.0.24 to handle this situation.
       (Bug #32394545)

On Behalf of Oracle/MySQL Engineering Team,
Gipson Pulla

MySQL Connector/Python 8.0.24 has been released


Dear MySQL users,

MySQL Connector/Python 8.0.24 is the latest GA release version of the
MySQL Connector Python 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.

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/Python, and its usage, see

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

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

To download MySQL Connector/Python 8.0.24, see the “General Availability
(GA) Releases” tab at

  http://dev.mysql.com/downloads/connector/python/

Enjoy!

Changes in MySQL Connector/Python 8.0.24 (2021-04-20, General Availability)

Functionality Added or Changed

  • Removed Python 2.7 and 3.5 support, and added Python 3.9
    support. (Bug #32144255, Bug #32192619, Bug #32001787)
  • Improved server disconnection handling of X Protocol
    connections now creates a log entry and returns an error
    message, as needed, after Connector/Python receives a
    connection-close notice from the server. Connector/Python
    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/Python 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/Python 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/Python 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.
  • If a classic MySQL protocol connection experiences a
    server timeout, Connector/Python now reports more precise
    disconnection information from the server.

Bugs Fixed

  • For the C-extension, executing prepared statements
    emitted errors when placeholders were defined without
    associated parameters. Now they are not executed. (Bug 32497631)
  • For prepared statements any type or argument was
    accepted, which could produce undesired results. Now the
    use of list or type objects for the argument is enforced,
    and passing in other types raise an error. (Bug 32496788)
  • Added Django 3.2 support while preserving compatibility
    with Django 2.2, 3.0, and 3.1. (Bug #32435181)
  • Added context manager support for pooled connections; a
    feature added to standard connections in 8.0.21. (Bug 32029891)
  • Replaced the deprecated PyUnicode_GetSize with
    PyUnicode_GET_LENGTH to fix the casting of Python’s
    unicode to std::string. (Bug #31490101, Bug #99866)
  • Binary columns were returned as strings instead of
    ‘bytes’ or ‘bytearray’. (Bug #30416704, Bug #97177)


Enjoy and thanks for the support!

On Behalf of the MySQL Engineering Team,
Balasubramanian Kandasamy

MySQL Connector/ODBC 8.0.23 has been released

Dear MySQL users,

MySQL Connector/ODBC 8.0.23 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 the latest MySQL server version 8.0.

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 out (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

Enjoy and thanks for your support!

Changes in MySQL Connector/ODBC 8.0.23 (2021-01-18, General Availability)

Bugs Fixed

* Using the commercial glib package
(authentication_ldap_sasl) with auth using GSSAPI
(authentication_ldap_sasl_auth_method_name=’GSSAPI’) did
not function. Added the missing sasl2 modules package.
(Bug #32175842)

* On Debian based systems, the post-installation script
uses dpkg-architecture ODBC drivers path, so the
associated dpkg-dev package was added as a runtime
dependency. (Bug #32157740)

* Microsoft Access halted when opening a linked table with
only a JSON column. The JSON column type is now
supported, and JSON data is only editable if another
column is used as a primary key. Because JSON is a long
data type with the maximum length of 4GB, it can’t be
used as a primary key by Microsoft Access and therefore
tables having only JSON columns are only available in
read-only mode. (Bug #32114901)

* Removed the mysql-client-plugins dependency. It remains
required for connections using commercial MySQL server
accounts with LDAP authentication, so must be manually
installed for that situation. The mysql-client-plugins
package has conflicts with MySQL server versions before
8.0.21, so earlier versions (such as MySQL 5.7) require
an 8.0 server upgrade to use it. (Bug #31875490)

* On macOS, Connector/ODBC would not report an error if
SQL_ATTR_PARAMSET_SIZE was set but not supported; instead
the setting was ignored. (Bug #29862441, Bug #95608)

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

MySQL Connector/Python 8.0.23 has been released

Dear MySQL users,

MySQL Connector/Python 8.0.23 is the latest GA release version of the MySQL Connector Python 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.

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/Python, and its usage, see

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

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

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

To download MySQL Connector/Python 8.0.23, see the “General Availability (GA) Releases” tab at

http://dev.mysql.com/downloads/connector/python/

Enjoy!

Changes in MySQL Connector/Python 8.0.23 (2021-01-18, General Availability)

Functionality Added or Changed

  • Deprecated Python 2.7 support; a warning was added to describe Python 2.7 support being removed in Connector/Python 8.0.24.

    Previously, Connector/Python added client support for the MySQL Enterprise Edition SASL LDAP authentication plugin with SCRAM-SHA-1 as an authentication method. Connector/Python now also supports SCRAM-SHA-256 as an alternative authentication method for classic MySQL protocol connections. SASL-based LDAP authentication does not apply to clients running macOS.

  • Added SASL authentication protocol support using the GSSAPI (Kerberos) authentication method for the pure python implementation (this is not available for the c-ext version of Connector/Python).

    This functionality requires the GSSAPI pypi module, which provides both low-level and high-level wrappers around the GSSAPI C libraries. The GSSAPI pypi module requires MIT kerberos installed opn the system to function and request tickets to authenticate Connector/Python with the MySQL server when the user is IDENTIFIED WITH authentication_ldap_sasl and the authentication_ldap_sasl plugin is configured to use the GSSAPI mechanism.

    This also adds a new krb_service_principal option, which must be a string in the form “primary/instance@realm” such as “ldap/ldapauth@MYSQL.COM” where “@realm” is optional. The “@realm” defaults to the default realm, as configured in the krb5.conf file.

Bugs Fixed

  • Fixed the AttributeError raised when getting the connection ID from a closed CMySQLConnection. (Bug #31882419, Bug #100825)

  • Fixed support for named tuple (an invalid exception was generated) and dictionary cursors (incorrect type of result was returned). (Bug #29195610)

  • Fixed cursor.fetchone() and cursor.fetchmany() to comply with PEP 249, which specifies that an exception must be raised if the previous call to cursor.execute*() does not produce any result set or no call was issued yet. (Bug #26834307, Bug #87815)

  • Fixed the microsecond conversion from MySQL datetime to Python datetime when using fractional values with the C extension enabled. For example, 2016-10-20 15:40:23.8 from MySQL resulted in datetime.datetime(2016, 10, 20, 15, 40, 23, 8) instead of datetime.datetime(2016, 10, 20, 15, 40, 23, 800000). Thanks to Vilnis Termanis for the patch. (Bug #24938411, Bug #83479)

MySQL Connector/Node.js 8.0.23 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.23, 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.23 (2021-01-18, General Availability)

* Functionality Added or Changed
* Bugs Fixed

Functionality Added or Changed

* Added custom debug functionality using the NODE_DEBUG
environment 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.

Bugs Fixed

* 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)

* Improved consistency for method argument error handling
when an argument is not set or uses JavaScript’s
“undefined”. (Bug #31709879)

* Refactored code to disable all debugging utilities when
debug mode is off. (Bug #31584269)

On Behalf of MySQL Release Engineering Team,
Surabhi Bhat

MySQL Connector/NET 8.0.23 has been released

Dear MySQL users,

MySQL Connector/NET 8.0.23 is the latest General Availability release
of the MySQL Connector/NET 8.0 series. This version supports .NET 5.0
and the X DevAPI, 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 X DevAPI, see

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

For more information about how the X DevAPI 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 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

To download MySQL Connector/NET 8.0.23, 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

Enjoy!

Changes in MySQL Connector/NET 8.0.23 (2021-01-18, General
Availability)


Functionality Added or Changed

     * Connector/NET updates to SSH ciphers and algorithms are:

          + Encryptions: aes192-cbc, aes256-cbc (deprecated);
            3des-cbc, blowfish-cbc, twofish-cbc, twofish128-cbc,
            twofish192-cbc, twofish256-cbc (invalid)

          + Host Key Algorithms: ssh-rsa (deprecated); sh-dss
            (invalid)

          + Key Exchange Algorithms:
            diffie-hellman-group-exchange-sha1 (invalid)

          + Keyed Hash Message Authentication Codes:
            hmac-ripemd160,hmac-ripemd160@openssh.com,
            hmac-sha1-96 (invalid)

       For a complete list, see SSH Ciphers in Connector/NET
       https://dev.mysql.com/doc/connector-net/en/connector-net-ssh-ciphers.html
       (Bug #31917057)

     * The IgnorePrepare connection-string option is deprecated
       in this release and the default value, which was true, is
       now false. When set to true, the option instructs
       Connector/NET to ignore any calls to
       MySqlCommand.Prepare() made with the classic MySQL
       protocol. The option is scheduled for removal in the next
       release. (Bug #31872906)

     * ASP.NET applications using the MySQL provider model
       (MySql.Web) can now target .NET Framework 4.8.
       (Bug #31799902)

     * The following synonyms for the Server connection string
       option were deprecated in Connector/NET 8.0.22 and
       removed in 8.0.23: address, addr, and network address.
       (Bug #31248601)

     * Previously, Connector/NET added client support for the
       MySQL Enterprise Edition SASL LDAP authentication plugin
       with SCRAM-SHA-1 as an authentication method.
       Connector/NET now also supports SCRAM-SHA-256 as an
       alternative authentication method for classic MySQL
       protocol connections. SCRAM-SHA-256 is similar to
       SCRAM-SHA-1 but is more secure. SASL-based LDAP
       authentication does not apply to clients running macOS.

     * With the availability of Entity Framework Core 5.0 in
       addition to Entity Framework Core 3.1, Connector/NET now
       provides two distinct EF Core packages. The split enables
       the connector to support both feature sets as they
       diverge. Initially, Connector/NET supports a partial EF
       Core 5.0 feature set (equivalent to EF Core 3.1) in this
       release. For more information, see Entity Framework Core
       Support
       https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework-core.html
       Breaking change: all MySql.Data.EntityFrameworkCore.xxx
       namespaces are renamed to MySql.EntityFrameworkCore.xxx.
       New EF Core package naming for Connector/NET 8.0.23:

          + 5.0.0-m8.0.23
          + 3.1.10-m8.0.23

Bugs Fixed

     * If a prepared statement had no parameters, Connector/NET
       included in the COM_STMT_EXECUTE packet structure a byte
       corresponding to new-params-bound-flag instead of sending
       the byte only when the number of parameters was greater
       than zero. (Bug #32208427)

     * Incomplete validation limited the expected range of
       values that a stored procedure with a parameter of type
       Boolean could assign using the MySqlParameter.MySqlDbType
       property. (Bug #32066024, Bug #101302)

     * Stronger validation was applied to information contained
       in the certificate store for connections made using
       SslMode. (Bug #31954655)

     * A connection timeout was added to prevent the
       MySqlConnection.Open method from waiting indefinitely for
       a response after MySQL Router restarted unexpectedly.
       (Bug #31945397, Bug #100692)

     * A cast made with the wrong data type during a valid EF
       Core operation returned an exception.
       (Bug #31860492, Bug #100773)

     * Connector/NET used the value of -1 internally to ensure
       that a parameter without an index was added to the end of
       the parameter list. However, if an index with an actual
       value of -1 was passed in, the collection was interpreted
       as having no index and the argument did not generate an
       out-of-range exception. (Bug #31754599, Bug #100522)

     * Without validation, an underlying 64-bit enumeration
       value passed in as a MySQL command parameter defaulted to
       type Int32 and produced an overflow exception.
       (Bug #25467610, Bug #84701)

Enjoy and thanks for the support!

On behalf of the MySQL Release Team,
Nawaz Nazeer Ahamed

MySQL Connector/C++ 8.0.23 has been released

Dear MySQL users,

MySQL Connector/C++ 8.0.23 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.23, see the “General Availability (GA)
Releases” tab at

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

Changes in MySQL Connector/C++ 8.0.23 (2021-01-18, General Availability)

     * Legacy (JDBC API) Notes

     * Functionality Added or Changed

     * Bugs Fixed

Legacy (JDBC API) Notes

    * Previously, to build or run applications that use the
       legacy JDBC API, it was necessary to have Boost
       installed. Boost is no longer required for such
       applications. The API has not changed, so no code changes
       are required to build applications. However, in
       consequence of this change, the ABI version has increased
       from 7 to 9. To run applications, a version of
       Connector/C++ built with the same ABI must be installed:

          + Applications built using the new ABI require a
            version of Connector/C++ also built using the new
            ABI.

          + Applications built using the old ABI require a
            version of Connector/C++ also built using the old
            ABI.
       To build the legacy connector itself from source, it is
       still necessary to have Boost installed.

Functionality Added or Changed


     * All calls that allow a column name, such as findColumn(),
       getString(), and getInt(), are now case-sensitive. (Bug
       #30126457, Bug #96398)

     * The developer documentation was improved regarding how to
       decode the bytes received by mysqlx_get_bytes(). Thanks
       to Daniël van Eeden for pointing at the missing
       documentation. (Bug #29115299, Bug #93641)

     * Thanks to Daniël van Eeden, who contributed various
       corrections to the developer documentation. (Bug
       #29038157, Bug #93549)

     * A dependency on the mysql-client-plugins package was
       removed. This package now is required only on hosts where
       Connector/C++ applications make connections using
       commercial MySQL server accounts with LDAP
       authentication. In that case, additional libraries must
       also be installed: cyrus-sasl-scram for installations
       that use RPM packages and libsasl2-modules-gssapi-mit for
       installations that use Debian packages. These SASL
       packages provide the support required to use the
       SCRAM-SHA-256 and GSSAPI/Kerberos authentication methods
       for LDAP.
       If Connector/C++ applications do not use LDAP
       authentication, no additional packages are required.

Bugs Fixed


     * Connector/C++ 8.0 RPM packages could not be installed on
       a system where MySQL 5.7 RPM packages were installed.
       (Bug #32142148)

     * Establishing a connection using a ConnectOptionsMap
       object could fail due to differences in std::string
       implementations. (Bug #32039929)

     * Commercial Connector/C++ RPM packages were missing
       provides information. (Bug #31775733)

On Behalf of MySQL Release Engineering Team,
Tvarita Jain

MySQL Connector/J 8.0.23 has been released

Dear MySQL users,

MySQL Connector/J 8.0.23 is the latest General Availability release of
the MySQL Connector/J 8.0 series. It is suitable for use with MySQL
Server versions 8.0, 5.7, and 5.6. It supports the Java Database
Connectivity (JDBC) 4.2 API, and implements the X DevAPI.

This release includes the following new features and changes, also
described in more detail on

https://dev.mysql.com/doc/relnotes/connector-j/8.0/en/news-8-0-23.html

As always, we recommend that you check the “CHANGES” file in the
download archive to be aware of changes in behavior that might affect
your application.

To download MySQL Connector/J 8.0.23 GA, see the “General Availability
(GA) Releases” tab at http://dev.mysql.com/downloads/connector/j/

Enjoy!

Changes in MySQL Connector/J 8.0.23 (2021-01-18, General Availability)

Deprecation and Removal Notes

* As an implementation of the MySQL Terminology Updates (https://mysqlhighavailability.com/mysql-terminology-updates/),
connection properties and public method names have
been adjusted in the following manners:

  • Changing “master” to “source”: For example, the
    connection property queriesBeforeRetryMaster becomes
    queriesBeforeRetrySource, and the method
    isMasterConnection() becomes isSourceConnection()

  • Changing “slave” to “replica”: For example, the
    connection property allowSlavesDownConnections
    becomes allowReplicaDownConnections, and the method
    getSlaveHosts() becomes getReplicaHosts()

  • Changing “blacklist” to “blocklist”: For example,
    the connection property loadBalanceBlacklistTimeout
    becomes loadBalanceBlocklistTimeout.

Old names have been deprecated—though they are still
usable for now, they are to be removed eventually in
future releases; users are therefore encouraged to switch
to the new names.

See the MySQL Connector/J 8.0 Developer Guide
(https://dev.mysql.com/doc/connector-j/8.0/en/), the
Connector/J API documentation (generated by Javadoc), and
the MySQL Connector/J X DevAPI Reference for information
on any new property and method names.

Functionality Added or Changed

* While a java.sql.TIME instance, according to the JDBC
specification, is not supposed to contain fractional
seconds by design, because java.sql.TIME is a wrapper
around java.util.Date, it is possible to store fractional
seconds in a java.sql.TIME instance. However, when
Connector/J inserted a java.sql.TIME into the server as a
MySQL TIME value, the fractional seconds were always
truncated. To allow the fractional seconds to be sent to
the server, a new connection property,
sendFractionalSecondsForTime, has been introduced: when
the property is true (which is the default value), the
fractional seconds for java.sql.TIME are sent to the
server; otherwise, the fractional seconds are truncated.
Also, the connection property sendFractionalSeconds has
been changed into a global control for the sending of
fractional seconds for ALL date-time types. As a result,
if sendFractionalSeconds=false, fractional seconds are
not sent irrespective of the value of
sendFractionalSecondsForTime.
(Bug #20959249, Bug #76775)

* Connector/J now supports the following authentication
methods for LDAP Pluggable Authentication
(https://dev.mysql.com/doc/refman/8.0/en/ldap-pluggable-authentication.html)
with the MySQL Enterprise Server:

  • The GSSAPI/Kerberos Authentication Method:
    (https://dev.mysql.com/doc/refman/8.0/en/ldap-pluggable-authentication.html#ldap-pluggable-authentication-gssapi)
    A new connection property,
    ldapServerHostname, has been introduced for
    specifying the LDAP service host principal as
    configured in the Kerberos key distribution centre
    (KDC). See the description for ldapServerHostname in
    the MySQL Connector/J 8.0 Developer Guide
    (https://dev.mysql.com/doc/connector-j/8.0/en/) for details.

  • The SCRAM-SHA-256 method.

Bugs Fixed

* Storing a java.time.LocalDateTime object onto the server
as a TIMESTAMP value using a batched PreparedStatement
failed with the complaint that java.time.LocalDateTime
could not be cast to java.sql.Timestamp. With this fix,
the casting works again.
(Bug #32099505, Bug #101413)

* Using the setObject() method to set a
ByteArrayInputStream instance for a PreparedStatement
resulted in a SQLException. (Bug #32046007, Bug #101242)

* The returned value for a TIMESTAMP was incorrect when a
temporal interval expression
(https://dev.mysql.com/doc/refman/8.0/en/expressions.html#temporal-intervals)
was used in the SQL statement for
the query. (Bug #31074051, Bug #99013)

* After upgrading from Connector/J 5.1 to 8.0, the results
of saving and then retrieving DATETIME and TIMESTAMP
values became different sometimes. It was because while
Connector/J 5.1 does not preserve a time instant by
default, Connector/J 8.0.22 and earlier tried to so by
converting a timestamp to the server’s session time zone
before sending its value to the server. In this release,
new mechanisms for controlling timezone conversion has
been introduced—see Preserving Time Instants
(https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-time-instants.html)
for details. Under this new
mechanism, the default behavior of Connector/J 5.1 in
this respect is preserved by setting the connection
property preserveInstants=false. (Bug #30962953, Bug
#98695, Bug #30573281, Bug #95644)

* Conversion of a MySQL DATETIME or TIMESTAMP value to a
Java OffsetDateTime using the getObject(i,
OffsetDateTime.class) method failed with a “Conversion
not supported for type …” error. It was because the
OffsetDateTime.parse() method on DATETIME and TIMESTAMP
values yielded an unexpected string format. With this
patch, conversions between OffsetDateTime and the DATE,
TIME, DATETIME, TIMESTAMP, and YEAR data types are now
possible, and an instant point on the timeline is
preserved as such during a conversion, when
possible—see Preserving Time Instants
(https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-time-instants.html)
for details. (Bug #29402209, Bug #94457)

* When the server’s session time zone setting was not
understandable by Connector/J (for example, it was set to
CEST), a connection could not be established with the
server unless Connector/J specified the correct IANA time
zone name in the serverTimezone connection property. This
happened even if there was actually no need to use any
date-time functionality in Connector/J. The issue was
fixed by the new connection properties for Connector/J
that control date-time handling—see Preserving Time Instants
(https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-time-instants.html)
for details. The following now
happens with respect to the above-mentioned situation:

  • If the new connection property connectionTimeZone is
    set to LOCAL or a specified time zone, the time_zone
    variable on the server is no longer checked

  • If connectionTimeZone=SERVER, the check for the
    time_zone variable is delayed until date-time driver
    functionality is first invoked, so that an
    unrecognizable server time zone does not prevent
    connection to be established. However, when
    date-time functionality is invoked and the value of
    time_zone cannot be recognized by Connector/J, an
    exception is thrown.

(Bug #21789378)

Enjoy and thanks for the support!

On behalf of the MySQL Release Team,
Balasubramanian Kandasamy