Skip to content

Commit a372722

Browse files
[Doc] Release notes for - PS 8.4.10-10 (#745)
* [Doc] Release notes for - PS 8.4.10-10 new file: docs/pgo.md new file: docs/release-notes/8.4.10-10.md modified: docs/release-notes/release-notes-index.md modified: docs/templates/pdf_cover_page.tpl modified: mkdocs-base.yml modified: variables.yml * Update 8.4.10-10.md
1 parent 84fbd03 commit a372722

7 files changed

Lines changed: 186 additions & 7 deletions

File tree

docs/installation.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ The following guides describe the installation process for using the official Pe
1212

1313
[Install Percona Server for MySQL on Debian and Ubuntu](apt-repo.md){.md-button} [Install Percona Server for MySQL on Red Hat Enterprise Linux](yum-repo.md){.md-button}
1414

15+
Starting with [Percona Server for MySQL 8.4.10-10](release-notes/8.4.10-10.md), packages may be PGO or non-PGO builds depending on your platform. See [Profile-Guided Optimization (PGO) and non-PGO builds](pgo.md) for benefits, considerations, and which build you receive.
16+
1517
## Other installation methods
1618

1719
[Install Percona Server for MySQL from Binaries](binary-tarball-install.md){.md-button} <br> [Compile Percona Server for MySQL from Source](source-tarball.md){.md-button} <br> [Run Percona Server for MySQL in a Docker container](docker.md){.md-button}

docs/pgo.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Profile-Guided Optimization (PGO) and non-PGO builds
2+
3+
Starting with [Percona Server for MySQL {{release}}](release-notes/{{release}}.md), Percona publishes a mixture of Profile-Guided Optimization (PGO) and non-PGO builds. With PGO, the compiler uses profiling data from representative workloads to guide optimization, which can improve throughput and reduce latency for typical database workloads compared with non-PGO builds.
4+
5+
To install Percona Server for MySQL, see [Install Percona Server for MySQL from repositories](installation.md).
6+
7+
## Benefits of PGO builds
8+
9+
PGO builds are a good default when they are available for your platform. Advantages include the following:
10+
11+
* **Higher performance for typical workloads** — Hot code paths are optimized using profiling data from representative database workloads, which can improve query throughput and reduce latency compared with non-PGO builds.
12+
13+
* **No application changes** — PGO is a compile-time optimization. You install and run Percona Server for MySQL the same way as a non-PGO build; no extra configuration is required.
14+
15+
* **Production-oriented packaging** — When Percona publishes PGO builds for a platform, they are intended for production use where performance matters.
16+
17+
## Considerations for non-PGO builds
18+
19+
A non-PGO build is not inferior by design. You may receive or choose one for reasons such as the following:
20+
21+
* **Platform availability** — Percona does not yet publish a PGO build for every operating system, architecture, or installation method. In those cases, the non-PGO package is the supported option.
22+
23+
* **Consistency with an existing environment** — Use a non-PGO build when you need to match binaries in a test, staging, or support scenario that already runs a non-PGO package (for example, before validating an upgrade path).
24+
25+
* **Custom source builds** — If you compile Percona Server for MySQL yourself, you control whether PGO is enabled. A non-PGO build may be appropriate when you are not using Percona’s profiling workflow or when you need a simpler reproducible build for development.
26+
27+
* **Workload mismatch (uncommon)** — PGO optimizes for the workloads used during profiling. If your workload is highly unusual and differs sharply from typical OLTP-style database traffic, performance gains may be smaller. This is uncommon in practice; most production deployments still benefit from PGO when it is available.
28+
29+
When both PGO and non-PGO builds are published for the same platform, prefer the PGO build for production unless one of the considerations above applies.
30+
31+
## Which build you receive
32+
33+
In most cases, you do not choose PGO or non-PGO at install time. The build type depends on how Percona packages Percona Server for MySQL for your operating system, architecture, and installation method (APT, DNF/YUM, binary tarball, or Docker). Some platforms ship PGO-enabled packages; others ship non-PGO builds while PGO support is rolled out across the release matrix.
34+
35+
See the [Percona downloads :octicons-link-external-16:](https://www.percona.com/downloads/Percona-Server-{{vers}}/) page and the [Percona Software and Platform Lifecycle :octicons-link-external-16:](https://www.percona.com/services/policies/percona-software-platform-lifecycle#mysql) page for supported platforms for this release.
36+
37+
## Build from source
38+
39+
To control whether PGO is used, compile Percona Server for MySQL yourself. See [Compile Percona Server for MySQL from Source](compile-percona-server.md).

docs/release-notes/8.4.10-10.md

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
# Percona Server for MySQL 8.4.10-10 (2026-06-30)
2+
3+
!!! note ""
4+
5+
Percona Server for MySQL 8.4.9-9 was not released; 8.4.10-10 is the next build in this series. This release includes enhancements and bug fixes from MySQL 8.4.9 and MySQL 8.4.10.
6+
7+
Get started with [Quickstart Guide for Percona Server for MySQL].
8+
9+
[Percona Server for MySQL 8.4.10-10 :octicons-link-external-16:](https://www.percona.com/software/mysql-database/percona-server) includes all the features and bug fixes available in the MySQL 8.4.10 Community Edition in addition to enterprise-grade features developed by Percona.
10+
11+
## Release highlights
12+
13+
### MySQL 8.4.10
14+
15+
Improvements and bug fixes introduced by Oracle for MySQL 8.4.10 and included in Percona Server for MySQL are the following:
16+
17+
* Connection attribute parsing could read a length-encoded size field before verifying that the complete field was present in the packet, leading to an out-of-bounds read. A size check is now performed before reading the field. (Bug #39116965)
18+
19+
* A regression in row size estimation for `ROW_FORMAT=COMPRESSED` tables could cause `CREATE TABLE` to fail with `Row size too large` for tables that were accepted in earlier releases. (Bug #39129182, Bug #120323)
20+
21+
* Under certain circumstances, when calculating the maximum possible index record size, an assertion failure could occur. (Bug #85060, Bug #25579578)
22+
23+
Find the complete list of bug fixes and changes in the [MySQL 8.4.10 release notes :octicons-link-external-16:](https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-10.html).
24+
25+
## Security updates
26+
27+
This release addresses the following security vulnerabilities:
28+
29+
* [CVE-2026-46850](https://www.cve.org/CVERecord?id=CVE-2026-46850): A vulnerability in MySQL Shell (Shell for VS Code) allows a low-privileged attacker with network access via HTTP to compromise MySQL Shell, with potential scope change impact on additional products (CVSS 3.1 Base Score 9.9).
30+
31+
* [CVE-2026-46860](https://www.cve.org/CVERecord?id=CVE-2026-46860): A vulnerability in MySQL Router allows an unauthenticated attacker with network access via HTTP to compromise MySQL Router (CVSS 3.1 Base Score 9.8).
32+
33+
* [CVE-2026-46861](https://www.cve.org/CVERecord?id=CVE-2026-46861): A vulnerability in MySQL NDB Cluster (NDB Operator) allows a low-privileged attacker with network access via HTTP to access or modify critical data, with potential scope change impact (CVSS 3.1 Base Score 9.6).
34+
35+
* [CVE-2026-46862](https://www.cve.org/CVERecord?id=CVE-2026-46862): A vulnerability in MySQL Router allows an unauthenticated attacker with network access via TLS to cause a hang or repeatable unexpected exit of MySQL Router (CVSS 3.1 Base Score 7.5).
36+
37+
* [CVE-2026-46863](https://www.cve.org/CVERecord?id=CVE-2026-46863): A vulnerability in MySQL Server connection handling allows an unauthenticated attacker with network access via multiple protocols to cause a hang or repeatable unexpected exit of the server (CVSS 3.1 Base Score 7.5).
38+
39+
* [CVE-2026-46869](https://www.cve.org/CVERecord?id=CVE-2026-46869): A vulnerability in MySQL Shell (Dump and Load) allows an unauthenticated attacker with network access to access critical data when user interaction is required (CVSS 3.1 Base Score 6.5).
40+
41+
* [CVE-2026-46870](https://www.cve.org/CVERecord?id=CVE-2026-46870): A vulnerability in MySQL Shell (Shell for VS Code) allows a low-privileged attacker with network access to compromise MySQL Shell, with potential scope change impact (CVSS 3.1 Base Score 8.5).
42+
43+
* [CVE-2026-46871](https://www.cve.org/CVERecord?id=CVE-2026-46871): A vulnerability in MySQL Shell (Shell for VS Code) allows a low-privileged attacker with network access via multiple protocols to access critical data (CVSS 3.1 Base Score 6.5).
44+
45+
## New features
46+
47+
* [PS-10070](https://perconadev.atlassian.net/browse/PS-10070): Integrated the new Key Management Interoperability Protocol (KMIP) library into the key management component.
48+
49+
* [PS-10083](https://perconadev.atlassian.net/browse/PS-10083): Enhances Thread Pool statistics by adding new status variables for queue monitoring and wait time analysis. The new metrics report the number of requests waiting in normal and high-priority queues, the number of requests not yet entered into a queue, and aggregate queue wait time statistics, including average, minimum, maximum, and standard deviation wait times. These additions provide greater visibility into thread pool workload and queueing behavior.
50+
51+
* [PS-10989](https://perconadev.atlassian.net/browse/PS-10989): Adds JSONL (JSON Lines) output format for Audit Log Filter.
52+
53+
## Improvements
54+
55+
* [PS-8867](https://perconadev.atlassian.net/browse/PS-8867): Increases the verbosity of the data dictionary upgrade process, making it easier to diagnose issues that occur during upgrade.
56+
57+
* [PS-9774](https://perconadev.atlassian.net/browse/PS-9774): The Audit Log Filter `table_access` class and `read` and `insert` subclasses now log statements in the audit log.
58+
59+
* [PS-10312](https://perconadev.atlassian.net/browse/PS-10312): The audit log buffer is now flushed on server shutdown when the `ASYNCHRONOUS` logging strategy is in use, preventing the loss of buffered events.
60+
61+
* [PS-10331](https://perconadev.atlassian.net/browse/PS-10331): Reduces memory pressure in the Audit Log Filter component caused by VFS buffering.
62+
63+
* [PS-10339](https://perconadev.atlassian.net/browse/PS-10339): Resolves an inconsistency in `audit_log_filter.format=NEW` between the 8.0 plugin and the 8.4 component.
64+
65+
* [PS-11161](https://perconadev.atlassian.net/browse/PS-11161): Optimizes performance for `mem_root_deque`.
66+
67+
## Bug Fixes
68+
69+
* [PS-8670](https://perconadev.atlassian.net/browse/PS-8670): InnoDB could exit unexpectedly on startup while resuming an interrupted `ALTER TABLESPACE` encryption operation because progress was persisted before affected pages were flushed to disk in the target encryption state.
70+
71+
* [PS-9773](https://perconadev.atlassian.net/browse/PS-9773): The Audit Log Filter `audit_log_read()` function always showed `"null"` instead of the bookmarked and current information.
72+
73+
* [PS-9791](https://perconadev.atlassian.net/browse/PS-9791): The `audit_log_filter` component generated audit records that did not include complete user, host, and query information in a single event, making the logs difficult to analyze and process.
74+
75+
* [PS-10228](https://perconadev.atlassian.net/browse/PS-10228): An audit log filter defined with no value did not log any events.
76+
77+
* [PS-10338](https://perconadev.atlassian.net/browse/PS-10338): `audit_log_filter_set_filter()` returned `OK` for filters that referenced unknown field names instead of reporting the error.
78+
79+
* [PS-10348](https://perconadev.atlassian.net/browse/PS-10348): The Audit Log Filter did not support filtering by integer fields.
80+
81+
* [PS-10351](https://perconadev.atlassian.net/browse/PS-10351): Reduced the number of events emitted by the Audit Log Filter to improve performance.
82+
83+
* [PS-10378](https://perconadev.atlassian.net/browse/PS-10378): With the MeCab plugin, a boolean-mode full-text query that used `LIMIT` still computed ranking scores for all matches, preventing the limit-based optimization from being applied.
84+
85+
* [PS-10435](https://perconadev.atlassian.net/browse/PS-10435): The `general_query.str` event field in audit log filters could not be replaced.
86+
87+
* [PS-10448](https://perconadev.atlassian.net/browse/PS-10448): A prepared `INSERT` statement failed to write rows across partitions.
88+
89+
* [PS-10481](https://perconadev.atlassian.net/browse/PS-10481): Fixed the issue where the range optimizer could fall back to a full table scan instead of using an index range scan for IN() predicates on non-binary UTF-8 collations when oversized values were present. This behavior could negatively impact query performance. The optimizer now correctly handles oversized values and continues to use index range scans when appropriate.
90+
91+
* [PS-10589](https://perconadev.atlassian.net/browse/PS-10589): Added support for building Percona Server with GCC 15, Clang 21, and Clang 22. Fixed compilation issues identified by newer Clang compiler versions.
92+
93+
* [PS-10593](https://perconadev.atlassian.net/browse/PS-10593): The audit log plugin could exit unexpectedly with a segmentation fault when configured with the `PERFORMANCE` logging strategy and audit buffering enabled.
94+
95+
* [PS-10853](https://perconadev.atlassian.net/browse/PS-10853): The `audit_log_filter` plugin exited unexpectedly because throwing calls were made from filesystem functions declared `noexcept`.
96+
97+
* [PS-10872](https://perconadev.atlassian.net/browse/PS-10872): Corrected event subclass naming in the Audit Log Filter and aligned its JSON output with the upstream format.
98+
99+
* [PS-10873](https://perconadev.atlassian.net/browse/PS-10873): The legacy audit log MTR test `audit_log_charset` failed in Percona Server for MySQL 8.0.
100+
101+
* [PS-10951](https://perconadev.atlassian.net/browse/PS-10951): `audit_log_filter_set_user()` incorrectly updated active sessions instead of only new connections.
102+
103+
* [PS-10987](https://perconadev.atlassian.net/browse/PS-10987): Improved Audit Log Filter message and connection events by suppressing nested general/status records in `audit_log_filter.event_mode=REDUCED`.
104+
105+
* [PS-11014](https://perconadev.atlassian.net/browse/PS-11014): Audit Log Filter replace-field rules returned `Parse 'function' arguments list must be an array` when `query_digest()` was specified as a plain JSON string.
106+
107+
* [PS-11073](https://perconadev.atlassian.net/browse/PS-11073): Tables with large rows that were originally created on earlier MySQL versions could not be created on MySQL 8.4.9.
108+
109+
* [PS-11241](https://perconadev.atlassian.net/browse/PS-11241): The debug `make_page_dirty` command logged generic byte updates for compressed index pages, violating redo parser invariants during crash recovery.
110+
111+
* [PS-11242](https://perconadev.atlassian.net/browse/PS-11242): Preallocated transaction IDs used by clone consistent snapshot could break the descending order of `rw_trx_list` and trigger a debug assertion during commit.
112+
113+
* [PS-11243](https://perconadev.atlassian.net/browse/PS-11243): Crash recovery could fail while replaying an unfinished tablespace encryption operation when Global Transaction Identifier (GTID) mode and binary logging were enabled.
114+
115+
## Builds and packaging
116+
117+
* Percona Server for MySQL releases include a mixture of PGO and non-PGO builds. Where Profile-Guided Optimization (PGO) is enabled, the compiler uses runtime profiling data from representative workloads to guide optimization, which can improve throughput and reduce latency compared with non-PGO builds.
118+
119+
* See [Profile-Guided Optimization (PGO) and non-PGO builds](../pgo.md) for benefits, considerations, and which build you receive for your platform.
120+
121+
## Additional resources
122+
123+
* Install [Percona Server for MySQL 8.4]
124+
125+
* The [Percona Server for MySQL GitHub repository :octicons-link-external-16:](https://github.com/percona/percona-server)
126+
127+
* Download product binaries, packages, and tarballs at [Percona Software Downloads :octicons-link-external-16:](https://www.percona.com/downloads)
128+
129+
* [Contribute to the documentation :octicons-link-external-16:](https://github.com/percona/psmysql-docs/blob/8.4/contributing.md)
130+
131+
* For [training :octicons-link-external-16:](https://www.percona.com/training), contact [Percona Training - Start learning now :octicons-link-external-16:](https://learn.percona.com/contact-me)
132+
133+
[Quickstart Guide for Percona Server for MySQL]: ../quickstart-overview.md
134+
135+
[Percona Server for MySQL 8.4]: ../installation.md

docs/release-notes/release-notes-index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Percona Server for MySQL {{vers}} release notes index
22

3+
* [Percona Server for MySQL 8.4.10-10 (2026-06-30)](8.4.10-10.md)
4+
35
* [Percona Server for MySQL 8.4.8-8 (2026-03-12)](8.4.8-8.md)
46

57
* [Percona Server for MySQL 8.4.7-7 (2025-12-22)](8.4.7-7.md)

docs/templates/pdf_cover_page.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
{% if config.site_description %}
88
<h1>{{ config.site_description }}</h1>
99
{% endif %}
10-
<h2>8.4.8-8 (March 12, 2026)</h2>
10+
<h2>8.4.10-10 (June 30, 2026)</h2>
1111
<!--<h3>Percona Technical Documentation Team</h3>-->

mkdocs-base.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ nav:
178178
- ps-or-pdps.md
179179
- Release notes:
180180
- Release notes index: release-notes/release-notes-index.md
181+
- release-notes/8.4.10-10.md
181182
- release-notes/8.4.8-8.md
182183
- release-notes/8.4.7-7.md
183184
- release-notes/8.4.6-6.md
@@ -242,8 +243,8 @@ nav:
242243
- Quickstart - Clean up your installation: quickstart-cleanup.md
243244
- Quickstart - Next steps: quickstart-next-steps.md
244245
- Install:
245-
246246
- Install Percona Server for MySQL from repositories: installation.md
247+
- Profile-Guided Optimization (PGO) and non-PGO builds: pgo.md
247248
- Before you start:
248249
- download-instructions.md
249250
- Use APT:

variables.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# variables for HTML output
22

3-
release: '8.4.8-8'
3+
release: '8.4.10-10'
44
version: '8.4'
55
vers: '8.4' # we are going to use it instead of version
66
pkg: 'ps-84-lts'
7-
tag: '8.4.8' # used in quickstart documents
8-
arm_tag: '8.4.8-aarch64' # used in quickstart documents
7+
tag: '8.4.10' # used in quickstart documents
8+
arm_tag: '8.4.10-aarch64' # used in quickstart documents
99
year_tag: '2026' # used in quickstart documents
10-
release_date: '2026-03-12'
11-
title_date: '2026-03-12'
10+
release_date: '2026-06-30'
11+
title_date: '2026-06-30'

0 commit comments

Comments
 (0)