MySQL Community Server 5.7.25 has been released

Surabhi Bhat <[email protected]> Mon, 21 Jan 2019 22:21:40 +0530
Newsgroups gmane.comp.db.mysql.announce
Message-ID <fdc7ce41-3941-8f5a-56b2-07e5763adefe__6979.85152234963$1548090397$gmane$org@oracle.com>
Dear MySQL users,

MySQL Server 5.7.25, a new version of the popular Open Source Database
Management System, has been released. MySQL 5.7.25 is recommended for
use on production systems.

For an overview of what's new in MySQL 5.7, please see

http://dev.mysql.com/doc/refman/5.7/en/mysql-nutshell.html

For information on installing MySQL 5.7.25 on new servers, please see
the MySQL installation documentation at

http://dev.mysql.com/doc/refman/5.7/en/installing.html

MySQL Server 5.7.25 is available in source and binary form for a number
of platforms from our download pages at

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

MySQL Server 5.7.25 is also available from our repository for Linux
platforms, go here for details:

http://dev.mysql.com/downloads/repo/

Windows packages are available via the Installer for Windows or .ZIP
(no-install) packages for more advanced needs. The point and click
configuration wizards and all MySQL products are available in the
unified Installer for Windows:

http://dev.mysql.com/downloads/installer/

5.7.25 also comes with a web installer as an alternative to the full
installer.

The web installer doesn't come bundled with any actual products and
instead relies on download-on-demand to fetch only the products you
choose to install. This makes the initial download much smaller but
increases install time as the individual products will need to be
downloaded.

We welcome and appreciate your feedback, bug reports, bug fixes,
patches, etc.:

http://bugs.mysql.com/report.php

The following link lists the changes in the MySQL 5.7 since the release
of MySQL 5.7.24. It may also be viewed online at

http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-25.html

Enjoy!

Changes in MySQL 5.7.25 (2019-01-21, General Availability)


      * Deprecation and Removal Notes

      * Pluggable Authentication

      * Security Notes

      * Functionality Added or Changed

      * Bugs Fixed

Deprecation and Removal Notes


      * The resolveip and resolve_stack_dump utilities are now
        deprecated and will be removed in MySQL 8.0. nslookup, host, or
        dig can be used instead of resolveip. Stack traces from official
        MySQL builds are always symbolized, so there is no need to use
        resolve_stack_dump.

Pluggable Authentication


      * If the LDAP port number is configured as 636 or 3269, the
        plugin now uses LDAPS (LDAP over SSL) instead of LDAP.  The port
        number is settable using the authentication_ldap_sasl_server_port
        or authentication_ldap_simple_server_port system variable.
        (LDAPS differs from startTLS.) (Bug #28743563)

      * Previously, for LDAP authentication with proxying, LDAP
        authentication plugins used the first group name returned by the
        LDAP server as the MySQL proxy user account name.  The
        authentication string for a MySQL account now can specify a list
        of groups to match, in preference order, and can optionally map
        the matching group name to a specified MySQL proxy user name. See
        LDAP Pluggable Authentication
        
(http://dev.mysql.com/doc/refman/5.7/en/ldap-pluggable-authentication.html). 


Security Notes


      * The linked OpenSSL library for the MySQL Commercial
        Server has been updated to version 1.0.2q. Issues fixed in the
        new OpenSSL version are described at
http://www.openssl.org/news/vulnerabilities.html. This change
        does not affect the Oracle-produced MySQL Community build of
        MySQL Server, which uses the yaSSL library instead. (Bug
        #28988091)

Functionality Added or Changed


      * Microsoft Windows: The access control granted to clients
        on the named pipe created by the MySQL server now is set to the
        minimum necessary for successful communication on Windows. Newer
        MySQL client software can open named pipe connections without any
        additional configuration. If older client software cannot be
        upgraded immediately, the new named_pipe_full_access_group server
        system variable can be used to give a Windows group the necessary
        permissions to open a named pipe connection. Membership in the
        full-access group should be restricted and temporary.

Bugs Fixed


      * InnoDB: A dangling pointer caused a memory leak. (Bug
        #28693568)

      * InnoDB: An ON DELETE CASCADE operation on table with a
        foreign key constraint and an indexed virtual column caused the
        server to exit. (Bug #28470805)

      * InnoDB: An incorrectly written DML log involving a
        virtual column value raised an assertion. (Bug #28448853)

      * InnoDB: Using the O_DIRECT_NO_FSYNC innodb_flush_method
        setting could cause the system to hang due to file system
        metadata becoming unsynchronized. To prevent this issue from
        occurring in O_DIRECT_NO_FSYNC mode, InnoDB now calls fsync()
        after creating a new file, after increasing file size, and after
        closing a file. The fsync() system call is still skipped after
        each write operation.  With the changes described above,
        O_DIRECT_NO_FSYNC mode can now be safely used on EXT4 and XFS
        file systems. (Bug #27309336)

      * InnoDB: An assertion was raised when attempting to write
        to a tablespace file greater than 4GB in size on a 64-bit Windows
        system. The failure was due to a narrowing cast.  (Bug #26636815,
        Bug #87423)

      * Partitioning: Repeated ALTER TABLE statements on
        partitioned tables containing BLOB or TEXT columns were not
        always handled correctly. (Bug #28491099)

      * Partitioning: ALTER TABLE ... EXCHANGE PARTITION did not
        work when the partitioned table had one or more partition
        definitions using the DATA DIRECTORY option. This fix supports
        partitioned tables using the InnoDB storage engine only. (Bug
        #19730200)

      * Replication: When adding a new member to a group, if the
        certification information was too big to transmit, an event was
        generated that caused failures in all group members. To avoid
        this situation, now if the certification information is too large
        an error is generated which makes the joining member leave the
        group.  (Bug #28900691, Bug #28443958)

      * Replication: When stopping replication, any channels that
        had pending transactions could cause a deadlock in Group
        Replication. (Bug #28636768, Bug #28365855)

      * Replication: A patch to correct the handling of quotes
        for identifiers in ROLLBACK TO SAVEPOINT statements in the binary
        log was not correctly applied to subsequent MySQL versions. (Bug
        #28569645)

      * Replication: Following a patch in MySQL 5.7.23, LOAD DATA
        INFILE statements stopped statement-based replication from a
        MySQL 5.7.22 master to a replication slave at a later release.
        The problem has now been fixed. (Bug #28541204, Bug #92132)

      * Replication: In some circumstances, the CHANGE MASTER TO
        statement could not be used on a replication slave if the master
        info log had been changed from a table
        (master_info_repository=TABLE) into a file
        (master_info_repository=FILE). (Bug #28529558)

      * Replication: When the system variables
        binlog_transaction_dependency_tracking and
        binlog_transaction_dependency_history_size were set or read, the
        types of lock that were required could result in a deadlock
        scenario, because the same locks were also required for working
        with the active binary logs. A new lock type is now used instead
        for access to the transaction dependency tracking system
        variables, so that this deadlock cannot occur. (Bug #28511326,
        Bug #91941, Bug #28537209, Bug #92108)

      * Replication: The PURGE BINARY LOGS TO 'log_name'
        statement failed for binary log files that had been moved to
        another location using mysqlbinlogmove. Such files are still
        listed in the binary log index file, but they are listed using an
        absolute path, rather than a path relative to the directory where
        the binary log files are normally stored. MySQL Server can now
        locate and purge moved binary log files successfully. (Bug
        #28284624)

      * Replication: If autocommit was set to 0 for a replication
        slave or Group Replication group member where GTIDs were in use
        and super_read_only=ON was set, server shutdown was prevented by
        a transaction that did not complete. The transaction was
        attempting to save GTIDs to the mysql.gtid_executed table, but
        the update failed because super_read_only=ON was set. (With
        autocommit set to 1, the transaction would complete in this
        situation, and the mysql.gtid_executed table would instead be
        updated at server startup.) Now, the check for the
        super_read_only setting is skipped for this task, so the
        transaction is able to save the GTIDs to the mysql.gtid_executed
        table and complete regardless of the combination of
        super_read_only and autocommit settings. (Bug #28183718)

      * Replication: An assertion was raised in debug builds if
        an XA ROLLBACK statement was issued for an unknown transaction
        identifier when the gtid_next value had been set manually. The
        server now does not attempt to update the GTID state if an XA
        ROLLBACK statement fails with an error. (Bug #27928837, Bug
        #90640)

      * Replication: The value returned by a SHOW SLAVE STATUS
        statement for the total combined size of all existing relay log
        files (Relay_Log_Space) could become much larger than the actual
        disk space used by the relay log files. The I/O thread did not
        lock the variable while it updated the value, so the SQL thread
        could automatically delete a relay log file and write a reduced
        value before the I/O thread finished updating the value. The I/O
        thread then wrote its original size calculation, ignoring the SQL
        thread's update and so adding back the space for the deleted
        file. The Relay_Log_Space value is now locked during updates to
        prevent concurrent updates and ensure an accurate calculation.
        (Bug #26997096, Bug #87832)

      * Replication: If the relay log index file was temporarily
        locked for viewing by a backup process for a replication slave,
        and MySQL Server also attempted to access the file at that time
        for rename or delete operations, the backup completed with
        warnings, but MySQL Server experienced an unexpected halt. MySQL
        Server now retries the file access operation a number of times in
        case this or a similar scenario is the explanation and the file
        becomes available again before long. (Bug #25839610)

      * Replication: With sync_binlog=1 set, if the binary log
        was rotated during a commit before the binary log end position
        was updated, replication stopped on the slave because the server
        attempted to use the old binary log end position with the new
        binary log file. The server now compares the binary log file name
        with the active binary log file when updating the binary log end
        position, so that the issue does not occur. (Bug #22252394, Bug
        #25524203, Bug #84752)

      * The keyring_aws plugin was missing from Commercial
        packages for macOS.  The supported macOS versions for this plugin
        now are macOS 10.13 and 10.14. (Bug #29051838)

      * MySQL Enterprise Firewall did not work well if the
        audit_log plugin was installed. (Bug #28930885, Bug #93184)

      * The server permitted creation of databases with the same
        name as redo log files, which could result in unexpected server
        behavior. Such names are no longer permitted as database names.
        (Bug #28867993)

      * Removal of Sun RPC and XDR from glibc into a separate
        libtirpc library caused problems with libasan on some platforms.
        (Bug #28785835, Bug #92762, Bug #28897799, Bug #93116)

      * In LDAP group search filter values, special characters
        were not escaped. Special characters in the user DN now are
        escaped with their hexadecimal equivalant as follows:
        *  =>  \2a
        (  =>  \28
        )  =>  \29
        \  =>  \5c
        \0 =>  \00(Bug #28743525)

      * A memory leak was caused by GET_LOCK() calls with a zero
        timeout that failed due to concurrent connections holding the
        same user-level lock. (Bug #28714367)

      * mysqlpump did not free all allocated resources when it
        encountered an error, resulting in memory leaks. (Bug #28538971,
        Bug #92131)

      * For debug builds, the server could exit when attempting
        to roll back CREATE USER statements. (Bug #28536312)

      * Mishandling of deprecated system variables could cause
        output from queries on the Performance Schema variables_by_thread
        table to be incorrect. (Bug #28515475, Bug #92049)

      * On a GTID-enabled server, concurrent statements on the
        INFORMATION_SCHEMA.COLUMNS table could deadlock. (Bug #28293047,
        Bug #91548)

      * Comparing log file names as strings using the memcmp()
        function resulted in uninitialized memory read errors.  The
        comparison now uses the strncmp() function. Thanks to Zsolt
        Parragi and Laurynas Biveinis for their contributions. (Bug
        #28178776, Bug #90238)

      * The optimizer skipped the second column in a composite
        index when executing an inner join with a LIKE clause against the
        second column. (Bug #28086754)

      * CREATE TABLE ... SELECT could create date columns with
        "zero" date default values when it should have created them
        without a default value. (Bug #28022129)

      * The transformation of IN subquery predicates into
        semijoins was not handled correctly for a very large number of
        tables. (Bug #28004674)

      * Server mishandling of SIGHUP signals could result in a
        server exit. (Bug #27966483, Bug #90742)

      * When the character set of one string comparison operand
        was a superset of the character set of the other operand, some
        comparisons were disallowed that should be permitted by
        converting the operand with the "smaller" character set to the
        "larger" character set. utf8mb4 and utf32 are considered to be a
        superset of any other encoding. (Bug #27897053, Bug #25642319,
        Bug #85224)

      * Improper memory handling by account management statements
        could result in server misbehavior. (Bug #27820277)

      * Executing a prepared statement to do a multiple-row
        insert with large number of placeholders consumed excessive
        memory and could execute slowly. (Bug #27703912)

      * The parser accepted invalid SET statement syntax in
        trigger definitions that could result in a server exit. (Bug
        #27595603)

      * The server failed to start if the keyring_encrypted_file
        plugin keyring file was invalid. (Bug #27588064)

      * Keyring migration failed with source and destination
        keyring plugins of keyring_okv and keyring_encrypted_file,
        respectively. (Bug #27493970)

      * When executing a prepared statement with a procedure call
        with the CURSOR_TYPE_READ_ONLY flag set, the client library hung
        if the procedure performed a SELECT that returned an empty result
        set. (Bug #27443252, Bug #89214)

      * The parser performed some out-of-memory checks
        incorrectly. (Bug #25633994)

      * When a subquery contained a UNION, the count of the
        number of subquery columns was calculated incorrectly. (Bug
        #24899924)

      * When binlog_format is ROW or MIXED, operations on
        temporary tables are not logged. Previously, the exception to
        this rule was that when the connection was terminated at the end
        of the session, the statement DROP TEMPORARY TABLE IF EXISTS was
        logged for any temporary tables that had been opened in the
        session. For row-based replication, this behavior caused an
        unnecessary write to the binary log, and added a transaction
        sequence number for the GTID where these were enabled. Now, when
        a temporary table is created in a session, the binary logging
        format is tracked. The DROP TEMPORARY TABLE IF EXISTS statement
        is only logged at the end of the session if statement-based
        format was in effect when the temporary table was created, so the
        CREATE TEMPORARY TABLE statement was logged. If row-based or
        mixed-format binary logging was in use when the table was
        created, the DROP TEMPORARY TABLE IF EXISTS statement is not
        logged.  Thanks to Laurynas Biveinis for the patch. (Bug
        #24670909, Bug #83003, Bug #28606948)

      * DML statements using IGNORE were not always handled
        correctly on tables having generated columns. (Bug #22990029)

      * A query employing a dynamic range and an index merge
        could use more memory than expected. (Bug #89953, Bug #27659490)

On Behalf of MySQL Release Engineering Team,
Surabhi Bhat


-- 
MySQL Announce Mailing List
For list archives: http://lists.mysql.com/announce
To unsubscribe:    http://lists.mysql.com/announce