Documentation Home
MySQL 8.0 Release Notes
Related Documentation Download these Release Notes
PDF (US Ltr) - 4.2Mb
PDF (A4) - 4.3Mb


MySQL 8.0 Release Notes  /  Changes in MySQL 8.0.36 (2024-01-16, General Availability)

Changes in MySQL 8.0.36 (2024-01-16, General Availability)

Audit Log Notes

Compilation Notes

  • Microsoft Windows: MySQL did not compile correctly using Visual Studio 2022. (Bug #35967676)

  • Improved the -DWITH_ZLIB=system check. (Bug #35968195)

  • For compiling on Linux, changed the no-error=deprecated-declarations flag to no-deprecated-declarations for the OpenSSL 3 library.

    Our thanks to karry zhang for the contribution. (Bug #112209, Bug #35755328)

Optimizer Notes

  • The hashing algorithm employed yielded poor performance when using a HASH field to check for uniqueness. (Bug #109548, Bug #34959356)

Packaging Notes

  • Important Change: The GnuPG build key (A8D3785C) used to sign MySQL downloadable packages has been updated. The previous GnuPG build key (3A79BD29) expired on 2023-12-14. For information about verifying the integrity and authenticity of MySQL downloadable packages using GnuPG signature checking, or to obtain a copy of our public GnuPG build key, see Signature Checking Using GnuPG.

    Due to the GnuPG key update, systems configured to use repo.mysql.com may report a signature verification error when upgrading to MySQL 8.0.36 and higher or to MySQL 8.3.0 and higher using apt or yum. Use one of the following methods to resolve this issue:

    1. Manually reinstall the MySQL APT or YUM repository setup package from https://dev.mysql.com/downloads/.

    2. Download the MySQL GnuPG public key and add it your system GPG keyring.

Performance Schema Notes

  • When executing a stored program, the Performance Schema instrumentation caused some unnecessary overhead.

    As of this release, all stored procedure micro instructions (statement/sp/%), except statement/sp/stmt, are disabled by default. (Bug #27934653)

  • The performance of the Performance Schema statement instrumentation has been improved. Specifically, collecting MESSAGE_TEXT data is now more efficient. (Bug #112621, Bug #35916912)

Pluggable Authentication

  • Beginning with this release, the behavior of the AUTHENTICATION_PAM_LOG environment variable used in debugging the PAM authentication plugin is changed as follows:

    • Setting AUTHENTICATION_PAM_LOG to an arbitrary value (except as noted in the next item) no longer includes passwords in its diagnostic messages.

    • To include passwords in the diagnostic messages, set AUTHENTICATION_PAM_LOG=PAM_LOG_WITH_SECRET_INFO.

    For more information, see PAM Authentication Debugging. (Bug #74313, Bug #20042010)

Functionality Added or Changed

  • Important Change: For platforms on which OpenSSL libraries are bundled, the linked OpenSSL library for MySQL Server has been updated to version 3.0.12. Issues fixed in OpenSSL version 3.0.12 are described at https://openssl-library.org/news/openssl-3.0-notes/. (Bug #36033684)

Bugs Fixed

  • Performance; InnoDB: The hashing function used by the InnoDB adaptive hash index became more expensive as an unintended result of refactoring done in MySQL 8.0.30. (Bug #111538, Bug #35531293)

    References: This issue is a regression of: Bug #81814, Bug #16739204, Bug #23584861.

  • InnoDB: The hash function used by the adaptive hash index (AHI) was improved to increase performance. (Bug #35449386)

  • InnoDB: If change buffer entries are present during startup, a disabled innodb_validate_tablespace_paths option will no longer be enforced and instead the MySQL server will proceed to validate all tablespaces. Otherwise, secondary indexes could end up corrupted. (Bug #35208990)

  • InnoDB: During concurrent DDL and DML operations, DDL could fail if the online log grew too large. Buffer handling was improved to prevent this issue. (Bug #35115601)

  • Replication: An issue with calculating the current number of bytes used for Log_event events in Performance Schema memory instrumentation made it appear as though the sql/replica_sql thread on the replica grew endlessly and never decreased in size. (Bug #35546877)

  • Replication: Stopping replication while replicating CREATE TABLE AS SELECT caused the server to exit. (Bug #33934013)

  • Group Replication: A forced START GROUP_REPLICATION while a replication channel was in an error state could lead to an unplanned server exit. (Bug #34724344)

  • For building Enterprise Linux 8 RPMs, the build scripts now point to a newer strip command (under /opt/rh/gcc-toolset-12), and they now check that the corresponding dwz tool is available. (Bug #36086236)

  • In some cases, calling a loadable function installed by an improperly initialized plugin caused an unplanned shutdown. (Bug #35889261)

  • Found and fixed an assertion failure at handler::ha_index_end() in handler.cc. (Bug #35877600)

  • When the MYSQL_FIREWALL plugin failed to initialize properly during server startup, this led to errors in the server log and sometimes unplanned termination of mysqld. (Bug #35853298)

  • Some nested queries with GROUP BY were not handled correctly. (Bug #35846402, Bug #35945822)

    References: This issue is a regression of: Bug #32918400.

  • In limited cases, passing data to the MD5() encryption function could halt the server. (Bug #35764496)

  • Some subselects from views were not always handled correctly. (Bug #35738548)

  • While performing an operation such as the bulk renaming of many tables, simultaneously executing a data definition statement similar to CREATE TABLE ... SELECT could stop the server unexpectedly. (Bug #35735937)

  • UPDATE HISTOGRAM did not behave as expected in all cases.

    UPDATE HISTOGRAM did not behave as expected in all cases. (Bug #35710404)

  • EXPLAIN ANALYZE did not always produce the expected result. (Bug #35710383)

  • An error occurred during subquery resolution. (Bug #35710373)

    References: This issue is a regression of: Bug #35184353.

  • Refreshing of used table information is now postponed to the start of the next execution, just after tables have been opened, when we know that all table objects are in a proper state. (Bug #35710213, Bug #36030073)

  • Some HAVING queries did not produce expected results. (Bug #35710183)

  • Some recursive CTEs did not function as expected. (Bug #35654240)

  • Some queries using OVER (PARTITION ...) were not always executed successfully. (Bug #35627798)

  • Some subqueries with ROLLUP were not always handled correctly. (Bug #35621842, Bug #35804794)

  • Removed the CPACK_COMPONENT_GROUP_INFO_DISPLAY_NAME configuration option from the Windows installation MSI interface. Now the INFO_BIN and INFO_SRC files are always installed. (Bug #35529968)

  • Some queries using windowing functions were not always handled correctly. (Bug #35471471)

  • In debug builds, a case-altered column name could cause the server to exit. (Bug #35449266)

  • MySQL Server installation packages contained two copies of the INFO_SRC file. (Bug #35400142)

  • A SELECT statement within a prepared statement unexpectedly returned different results on successive executions. (Bug #35340987, Bug #35846585, Bug #35846873)

    References: This issue is a regression of: Bug #35060385.

  • Some SELECT DISTINCT queries were not always handled correctly. (Bug #33725447)

  • Removed an assertion failure in sql/field.cc. (Bug #112503, Bug #35846221)

  • Sme queries having the form SELECT AVG(...) OVER (PARTITION BY ...) were not always handled correctly. (Bug #112460, Bug #35710179, Bug #35845413)

  • Upgrading MySQL using an official MySQL Yum or SUSE repository always enables the MySQL service. Now it enables the service only after installing, and preserves (and does not edit) the existing value while upgrading. (Bug #112382, Bug #35823558)

  • For a query with a derived condition pushdown where a column in the condition needs to be replaced, a matching item could not found, even when known to be present, when the replacement item was wrapped in a ROLLUP while the matching item was not. (Bug #111665, Bug #35498378, Bug #35570065, Bug #35826171)

    References: This issue is a regression of: Bug #33349994.

  • Ordering a nested block where the ORDER BY contained a window function raised an assert in sql/sql_executor.cc. (Bug #111306, Bug #34856256, Bug #35471522)

  • Performing an arithmetic operation on the result over a window function in a stored procedure gave the correct result the first time the procedure was executed, but returned an incorrect result on all subsequent invocations. (Bug #110983, Bug #35380604)

    References: See also: Bug #110847, Bug #35340987.

  • MySQL did not build correctly using the musl version of libc.

    Our thanks to Sam James for the contribution. (Bug #110808, Bug #35330950)

  • In some cases, selecting from a view leaked a small amount of memory. (Bug #103133, Bug #32764586)