MySQL Connector/C++ Release Notes
        Previously, for client applications that use the legacy JDBC API
        (that is, not X DevAPI or X DevAPI for C), 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 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. (WL #14425)
For connections made using X Plugin, if client with a connection to a server remains idle (not sending to the server) for longer than the relevant X Plugin timeout setting (read, write, or wait timeout), X Plugin closes the connection. If any of these timeouts occur, the plugin returns a warning notice with the error code ER_IO_READ_ERROR to the client application.
For such connections, X Plugin now also sends a warning notice if a connection is actively closed due to a server shutdown, or by the connection being killed from another client session. In the case of a server shutdown, the warning notice is sent to all authenticated X Protocol clients with open connections, with the ER_SERVER_SHUTDOWN error code. In the case of a killed connection, the warning notice is sent to the relevant client with the ER_SESSION_WAS_KILLED error code, unless the connection was killed during SQL execution, in which case a fatal error is returned with the ER_QUERY_INTERRUPTED error code.
If connection pooling is used and a connection close notice is received in a session as a result of a server shutdown, all other idle sessions that are connected to the same endpoint are removed from the pool.
Client applications can use the warning notices to display to users, or to analyze the reason for disconnection and decide whether to attempt reconnection to the same server, or to a different server. (WL #13946)
        Connector/C++ packages now include sasl2 modules due to connection
        failures for accounts that use the
        authentication_ldap_sasl authentication
        plugin.
       (Bug #32175836)
For platforms on which OpenSSL libraries are bundled, the linked OpenSSL library for Connector/C++ has been updated to version 1.1.1k. Issues fixed in the new OpenSSL version are described at https://www.openssl.org/news/cl111.txt and https://www.openssl.org/news/vulnerabilities.html. (Bug #32719727)
References: See also: Bug #32680637.
        Upon connecting to the server, Connector/C++ executed a number of
        SHOW [SESSION] VARIABLES statements to
        retrieve system variable values. Such statements involve locking
        in the server, so they are now avoided in favor of
        SELECT @@
        statements.
      var_name
        Additionally, Connector/C++ was trying to fetch the value of the
        max_statement_time system variable, which has
        been renamed to
        max_execution_time. Connector/C++ now
        uses the correct variable name, with the result that
        getQueryTimeout() and
        setQueryTimeout() now work properly for both
        Statement and Prepared
        Statement objects.
       (Bug #28928712, Bug #93201)
        DatabaseMetaData.getProcedures() failed when
        the metadataUseInfoSchema connection option
        was false.
       (Bug #24371558)