What vitessio/vitess shipped
Written by FoxPlug from the repository's own releases; not affiliated with Vitess. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/vitessio/vitess; Vitess did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.
Get a weekly update like this for your product, free
Week of November 2, 2026
What shipped
- Semi-sync durability is now preserved when an old primary is demoted, a tablet is drained, or a replica is promoted. Pull request #21409
- Vtgate no longer takes process-wide locks on each query's tablet selection and stats lookup. Pull request #21852
- A race on the session last insert id is fixed for parallel and streamed scatter routes. Pull request #21639
- Vtgate now stops routing to replicas whose lag crosses the high lag threshold slowly instead of treating the change as trivial. Pull request #21882
- Sql_select_limit for a UNION is now applied to the UNION statement rather than injected into each branch. Pull request #21235
- VTTablet's query throttler gains a TABLET_THROTTLER strategy that rejects a share of incoming queries based on lag or loadavg. Pull request #19919
- TabletManager stops the background keyspace rebuild and shard sync goroutines when Start fails. Pull request #21052
- TryLock now fails fast with NodeExists instead of checking and then locking in etcd2, zk2 and consul topo. Pull request #21590
- MoveTables SwitchTraffic with --initialize-target-sequences now registers the backing sequence tables named by qualified sequence references. Pull request #21834
- SwitchTraffic with --initialize-target-sequences now looks up sequence tables in the VSchema the way VTGate does. Pull request #21891
Why it matters
This week's changes cut contention on the query path, with per-query tablet selection locks removed and TryLock made fail fast, and they close a session race on streamed routes. Correctness fixes land for UNION limits, sequence VSchema lookup and semi-sync durability during demotion, draining and promotion. Replication and backup paths also become more predictable when contexts end, hooks run, or startup fails.
Changelog entry
- Preserve semi-sync durability when demoting an old primary, draining a tablet, or promoting a replica. Pull request #21409
- Remove global locks from per-query tablet selection and stats lookup in vtgate. Pull request #21852
- Fix a race on SafeSession.LastInsertId for parallel and single streamed scatter routes. Pull request #21639
- Stop routing to replicas whose lag slowly grows past the high lag threshold. Pull request #21882
- Apply
sql_select_limitto the UNION statement, not to each UNION branch. Pull request #21235 - Add the TABLET_THROTTLER strategy to VTTablet's incoming query throttler. Pull request #19919
- Stop background goroutines when TabletManager.Start fails. Pull request #21052
- Make TryLock fail fast with NodeExists instead of check-then-lock. Pull request #21590
- Fix qualified sequence VSchema registration in MoveTables SwitchTraffic with --initialize-target-sequences. Pull request #21834
- Match sequence VSchema names as VTGate does when switching traffic with --initialize-target-sequences. Pull request #21891
- Return from replication reads and pooled calls in mysqlctl when the context ends. Pull request #21668
- Run replication hooks under the caller's context and stop waiting for their children. Pull request #21669
Weekly in Vitess: tablet selection no longer takes process-wide locks per query, semi-sync durability holds through demotion and promotion, UNION limits apply to the statement, and TryLock fails fast. Plus a session insert-id race fix and a new TABLET_THROTTLER strategy.
This week in Vitess: per-query tablet selection and stats lookup no longer take process-wide locks, and TryLock now fails fast instead of check-then-lock. Semi-sync durability is preserved through old-primary demotion, draining and promotion. sql_select_limit on a UNION now applies to the statement rather than each branch, and a session last insert id race is fixed for parallel and streamed scatter routes. MoveTables SwitchTraffic with --initialize-target-sequences matches sequence VSchema names the way VTGate does. VTTablet's query throttler gains a TABLET_THROTTLER strategy based on lag or loadavg, and TabletManager stops its background goroutines when Start fails.
Week of October 26, 2026
What shipped
- BackupShard can now be told which tablet type to back up from instead of always picking the lowest lag among REPLICA, RDONLY and SPARE. Pull request #21302
- Vtbackup now checks for errant GTIDs so it cannot hold a transaction that a newly promoted primary will never have. Pull request #21742
- Vtbackup stops catch-up at the primary's committed position, so it no longer applies transactions still waiting for an AFTER_SYNC acknowledgement. Pull request #21795
- JSON equality is fixed in both the compiled and interpreted evalengine paths. Pull request #21205
- Vtctld RPCs that take a list of shards now act once on each shard even when the list repeats one, covering vtctldclient, VTAdmin and direct gRPC callers. Pull request #21814
- Vtctldclient Workflow update now honors the --shards flag instead of restarting every stream on every target primary. Pull request #21771
- Vtgate reports planned REPLACE statements as REPLACE instead of INSERT. Pull request #21692
- VReplication runs ANALYZE TABLE on target tables created with
stats_auto_recalcdisabled, which otherwise keep empty statistics. Pull request #21751 - UpdateVReplicationWorkflow now encodes config override keys and values when building its
json_setandjson_removestatement. Pull request #21829 - Log calls in vreplication, vdiff and binlogplayer now use constant messages with values in structured attributes. Pull request #21794
Why it matters
This week fixes several correctness problems that affect running clusters: vtbackup no longer risks errant GTIDs or replicating uncommitted transactions, vtctld stops double-acting on repeated shards, and vtgate labels REPLACE correctly. Workflow users get --shards honored and safer config override handling, while backup and table stats handling become configurable and predictable. Security and CI upkeep also reached the release branches.
Changelog entry
- BackupShard: choose the tablet type to back up from Pull request #21302
- VTBackup: errant GTID checks Pull request #21742
- Vtbackup: stop catch-up at the primary's committed position Pull request #21795
- Evalengine, mysql/json: fix JSON equality in compiled and interpreted paths Pull request #21205
- Vtctld: act once on each shard when a request repeats one Pull request #21814
- Vtctldclient Workflow update honors --shards Pull request #21771
- Vtgate: report REPLACE statements as REPLACE Pull request #21692
- VReplication: ANALYZE TABLE when
stats_auto_recalcdisabled Pull request #21751 - VReplication: encode config override keys and values in workflow updates Pull request #21829
- Vreplication, vdiff, binlogplayer: constant log messages with structured attributes Pull request #21794
- Vstreamer: constant log messages with structured attributes Pull request #21754
- Logutil: tighten ThrottledLogger tests Pull request #21753
This week: BackupShard can pick the tablet type to back up from, vtbackup catches errant GTIDs and stops at the committed position, vtctld acts once per shard on repeated lists, and vtgate reports REPLACE as REPLACE.
This week in Vitess: BackupShard can now be asked for a specific tablet type instead of always choosing by replication lag. vtbackup adds errant GTID checks and stops catch-up at the primary's committed position, so it no longer applies transactions that are not yet in gtid_executed. vtctld RPCs that take a shard list now act once per shard even when a shard repeats, which applies to vtctldclient, VTAdmin and direct gRPC callers, and vtctldclient Workflow update honors --shards. JSON equality is fixed in compiled and interpreted evalengine paths, vtgate reports planned REPLACE statements as REPLACE, and VReplication runs ANALYZE TABLE on targets created with stats_auto_recalc disabled.
Week of October 19, 2026
What shipped
- Added an opt-in include-binlogs flag to vtbackup and the vtctldclient Backup and BackupShard commands so a full builtin backup can also carry the source's binary logs. Pull request #21616
- Vtgate now handles row comparisons against multi-column subqueries that cannot be merged, instead of binding a single argument to the first column of each row. Pull request #21634
- SplitMarginComments now keeps trailing comments in place before a statement terminator so they no longer stay in the query passed to VTGate. Pull request #21550
- Reshard now refreshes target shards concurrently when switching reads, instead of refreshing their tablets one shard at a time under the keyspace lock. Pull request #21663
- Tablets the primary does not probe now keep their on-demand heartbeats running rather than relying on a once-a-minute stimulus. Pull request #21686
- Vtctldclient with server=internal now registers the gRPC tabletconn dialer, which vtctld already linked, so writes switched in process work. Pull request #21661
- CreateTableEntity.Apply() no longer changes the diff it is given, so the alter options and moved column, index and partition nodes stay as they were. Pull request #21424
- ERS now only proceeds without the primary during its stop-replication step, instead of assuming the tablet left behind is always the dead primary. Pull request #21658
- The bootstrap image is now built from one multi-stage Dockerfile, fixing the missed cache on the flavor image's own step on every CI run. Pull request #21596
- Each upgrade and downgrade version mix now runs in its own CI job instead of two passes running one after the other in a single job. Pull request #21642
Why it matters
This week improves query planning for row comparisons and comment handling, makes backups optionally carry binary logs so a restored server can serve binlog streams, and speeds up Reshard read switches. It also fixes several operational edges: on-demand heartbeats for unprobed tablet types, vtctldclient with server=internal, and ERS stop-replication.
Changelog entry
- Backup: add opt-in --include-binlogs to vtbackup and vtctldclient Backup and BackupShard Pull request #21616
- Vtgate: support row comparisons with subqueries that cannot be merged Pull request #21634
- Sqlparser: keep trailing comments before a statement terminator Pull request #21550
- VReplication: refresh target shards concurrently when switching reads Pull request #21663
- Throttler: keep on-demand heartbeats running on tablets the primary does not probe Pull request #21686
- Vtctldclient: register the gRPC tabletconn dialer for --server=internal Pull request #21661
- Schemadiff: leave the diff unchanged in CreateTableEntity.Apply() Pull request #21424
- ERS: only go on without the primary when stopping replication Pull request #21658
- Docker/bootstrap: build every image from one multi-stage Dockerfile Pull request #21596
- Ci: run each upgrade/downgrade version mix in its own job Pull request #21642
- Backup: run the include-binlogs BackupShard e2e test under mysqlctld too Pull request #21649
- Vstreamer: use constant log messages with structured attributes Pull request #21538
This week: optional --include-binlogs for full builtin backups, vtgate row comparisons with subqueries it can't merge, trailing comments kept before statement terminators, concurrent target shard refresh on Reshard read switches, and fixes for on-demand heartbeats and vtctldclien
This week's changes: full builtin backups can optionally include binary logs via --include-binlogs on vtbackup and vtctldclient Backup and BackupShard, so a restored server can serve binlog streams. vtgate now supports row comparisons with multi-column subqueries it cannot merge, and trailing comments before a statement terminator are kept out of the query. Reshard refreshes target shards concurrently when switching reads. Fixes cover on-demand heartbeats on tablets the primary does not probe, vtctldclient --server=internal dialing, ERS stop-replication, and a single multi-stage Dockerfile for the bootstrap image.
Week of October 12, 2026
What shipped
- VTAdmin now requires an execute permission for VExplain modes that run the statement, including QUERIES, ALL and TRACE, and for VEXPLAIN MYSQLPLAN where the statement's functions may be called. Pull request #21396
- VReplication now cancels the switch when reading the source positions fails during SwitchTraffic or ReverseTraffic, so writes on the source are no longer left stopped without routing being restored. Pull request #21531
- VTOrc no longer repairs a replica whose MySQL state it can no longer read, avoiding a repair triggered by a stale
read_onlyvalue when mysqld is down. Pull request #21534 - VStream adds a projected
after_data_columnsbitmap and maps partial row images onto target expressions, so the bitmap follows the target table's column order. Pull request #21157 - The SQL parser now quotes charset, collation, storage engine, tablespace, index type and fulltext parser names when writing them back out. Pull request #21435
- The SQL parser now finds margin comments with its tokenizer, correctly identifying which opening marker closes a trailing comment and handling line comments and string literals. Pull request #21387
- The throttler now finds the primary to stimulate from the shard record instead of reading tablet records one at a time. Pull request #21535
- VReplication removes the Lagging stream state, which was never reported because of a faulty timestamp comparison. Pull request #21532
- CI now compiles the e2e tests with the same build flags as make build, enabling reuse of the build cache. Pull request #21603
- The binaries, mini and vttestserver Dockerfiles now use the ENV key=value form, removing the legacy format warning on image builds. Pull request #21569
Why it matters
This week brings a security tightening in VTAdmin, safer traffic switching in VReplication, and a VTOrc fix for replicas whose MySQL state cannot be read. Alongside the v23.0.8 and v24.0.5 releases, parser and VStream changes affect how names are written back out and how partial row images are reported. Test and CI cleanups also cut time spent on waits that check nothing and on duplicate e2e builds.
Changelog entry
- VTAdmin: VExplain modes that run the statement now require an execute permission. Pull request #21396
- VReplication: cancel the switch when reading the source positions fails. Pull request #21531
- VTOrc: don't repair a replica whose MySQL state can no longer be read. Pull request #21534
- VStream: add projected
after_data_columnsbitmap and map partial images onto target expressions. Pull request #21157 - Sqlparser: quote charset, collation and engine names when writing them back out. Pull request #21435
- Sqlparser: find margin comments with the parser's tokenizer. Pull request #21387
- Throttler: find the primary to stimulate from the shard record. Pull request #21535
- VReplication: remove the Lagging stream state that was never reported. Pull request #21532
- Release: Vitess v23.0.8. Release
- Release: Vitess v24.0.5. Release
- Docker: use ENV key=value in the remaining Dockerfiles. Pull request #21569
- Ci: compile the e2e tests with the same flags as make build. Pull request #21603
This week: VTAdmin requires execute permission for VExplain modes that run the statement, VReplication cancels the switch when reading source positions fails, VTOrc stops repairing replicas with unreadable MySQL state, and v23.0.8 and v24.0.5 are out.
This week in Vitess: VTAdmin now requires an execute permission for VExplain modes that run the statement. VReplication cancels the traffic switch when reading source positions fails, so writes are no longer left stopped on the source. VTOrc no longer repairs a replica whose MySQL state it can no longer read. The VStream after_data_columns bitmap is now projected onto target expressions, and the SQL parser quotes charset, collation and engine names when writing them back out. Releases v23.0.8 and v24.0.5 are available.
Week of October 5, 2026
What shipped
- Sqltypes, vtgate and vttablet now reject bind variables that are not single SQL literals. Pull request #21386
- Vitess now only accepts ASCII-safe MySQL connection character sets. Pull request #21392
- VTTablet accepts user variables and safe collation IDs in connection character set checks. Pull request #21465
- Sqlparser rewrites // comments to #/ before statement text reaches MySQL. Pull request #21410
- VTGate deprecates // comments and counts their use under the VtGateWarnings metric. Pull request #21411
- Vtgate buffer creates each shard buffer only once. Pull request #21403
- Vtgate buffer no longer loses the timeout thread's queue-not-empty wakeup. Pull request #21402
- Tableacl shares the all-roles ACL of a table group across plans. Pull request #21420
- VTAdmin only accepts POST for API routes that change cluster state. Pull request #21397
- VTAdmin checks RBAC in ReloadSchemaShard and forwards its keyspace and shard. Pull request #21394
Why it matters
This week hardens SQL correctness and connection safety: bind variables that are not single literals are rejected, only ASCII-safe character sets are accepted, and // comments are rewritten before reaching MySQL. VTAdmin routes that change cluster state now require POST and check RBAC, and buffer fixes reduce lost wakeups and duplicate shard buffers. These changes matter to anyone running Vitess because they reduce the chance of malformed statements, unsafe connections and inconsistent cluster state.
Changelog entry
- Sqltypes, vtgate and vttablet now reject bind variables that are not single SQL literals. Pull request #21386
- Vitess now only accepts ASCII-safe MySQL connection character sets. Pull request #21392
- VTTablet accepts user variables and safe collation IDs in connection character set checks. Pull request #21465
- Sqlparser rewrites // comments to #/ before statement text reaches MySQL. Pull request #21410
- VTGate deprecates // comments and counts their use under the VtGateWarnings metric. Pull request #21411
- Vtgate buffer creates each shard buffer only once. Pull request #21403
- Vtgate buffer no longer loses the timeout thread's queue-not-empty wakeup. Pull request #21402
- Tableacl shares the all-roles ACL of a table group across plans. Pull request #21420
- VTAdmin only accepts POST for API routes that change cluster state. Pull request #21397
- VTAdmin checks RBAC in ReloadSchemaShard and forwards its keyspace and shard. Pull request #21394
- Evalengine removes every repeated remstr in TRIM. Pull request #21237
- Sqlparser escapes the user, host and engine names that SHOW statements print. Pull request #21464
This week in Vitess: bind variables that are not single SQL literals are rejected, only ASCII-safe connection character sets are accepted, // comments are rewritten before reaching MySQL, VTAdmin state-changing routes require POST with RBAC, and buffer fixes avoid lost wakeups.
This week in Vitess: bind variables that are not single SQL literals are now rejected, and only ASCII-safe MySQL connection character sets are accepted, reducing risk from malformed statements and unsafe connections. VTGate rewrites // comments to #/ before statement text reaches MySQL and counts their use. VTAdmin state-changing API routes now require POST and check RBAC, including ReloadSchemaShard. In the buffer, each shard buffer is created only once and the timeout thread's queue-not-empty wakeup is no longer lost. Plan caches also share the all-roles ACL of a table group.
Week of September 28, 2026
What shipped
- Vitess v24.0.4 released with lz4 backup engine upgrade to pierrec/lz4/v4 fixing broken block decoding on amd64. Release
- Vitess v23.0.7 released with the same lz4 backup engine library upgrade and compression-level mapping improvements. Release
- EmergencyReparentShard now accepts --required-position to prevent promoting stale replicas when candidates have lost relay logs. Pull request #21143
- VTOrc passes the last stored primary position to EmergencyReparentShard to ensure promotion of candidates with required replication position. Pull request #21144
- ORCA QPS metric now reported as gRPC messages sent per second to satisfy gRPC A51 requirements for weighted round robin load balancing. Pull request #21233
- MySQL ER_LOCK_NOWAIT errors now correctly mapped to DEADLINE_EXCEEDED instead of UNKNOWN in vttablet error reporting. Pull request #21325
- VDiff now accepts target primary keys that extend unique source keys, enabling validation of partitioned tables. Pull request #21275
- VTGate no longer pins sessions to reserved connections for USE and EXPLAIN statements when SET_VAR hints are present. Pull request #21281
- Cgroup CPU utilization reporting now measures against the cgroup's CPU limit for accurate load reporting in ORCA metrics. Pull request #21267
- Fixed data race in VaultCredentialsServer where cache-expiry goroutine modified cacheValid without acquiring the lock. Pull request #21311
Why it matters
Two releases shipped this week with critical backup engine fixes and improved emergency reparenting safety. The addition of required-position checks prevents stale replica promotion in data loss scenarios, while the ORCA QPS metric implementation enables better load balancing in gRPC environments. Numerous fixes improve reliability in replication, connection management, and locking scenarios.
Changelog entry
- Servenv: don't publish the baseline cgroup CPU sample for ORCA metrics Pull request #21269
- Updated flag references to use dashed names in help texts and error messages Pull request #21339
- Servenv: report gRPC messages sent per second as ORCA QPS Pull request #21233
- Fixed LDAP credential refresh latch not clearing on connection or search errors Pull request #21341
- Map MySQL ER_LOCK_NOWAIT to DEADLINE_EXCEEDED in vttablet error reporting Pull request #21325
- Add --required-position flag to EmergencyReparentShard Pull request #21143
- Fixed data race in VaultCredentialsServer.GetUserAndPassword on cacheValid Pull request #21311
- VDiff accepts target primary keys extending unique source keys Pull request #21275
- Measure cgroup CPU utilization against cgroup CPU limit Pull request #21267
- VTGate: prevent USE and EXPLAIN from pinning sessions to reserved connections Pull request #21281
Vitess v24.0.4 and v23.0.7 released with lz4 backup engine fixes, emergency reparenting safeguards, and ORCA load balancing improvements.
Vitess v24.0.4 and v23.0.7 are now available. These releases include a critical upgrade to the lz4 backup engine library fixing amd64 decoding issues, enhanced emergency reparenting with required-position validation to prevent stale replica promotion, ORCA QPS metric reporting for gRPC load balancing, and numerous reliability improvements across replication, connection management, and locking scenarios.
Week of September 21, 2026
What shipped
- EmergencyReparentShard no longer counts divergent tablets as semi-sync ackers, fixing promotion candidate validation. Pull request #21188
- SHOW VARIABLES and SHOW GLOBAL VARIABLES in shard-targeted sessions now return correct VTGate-owned system variable values. Pull request #21185
- VTTablet now resets
foreign_key_checksandunique_checksto global values instead of opposite values after SET SESSION DEFAULT. Pull request #21167 - VTTablet table ACL checks now cover reads embedded in CREATE TABLE AS SELECT, EXPLAIN ANALYZE, SHOW WHERE, and SET statements. Pull request #21139
- VTTablet discards pooled connections after CALL statements to prevent stored procedure session state leaks. Pull request #21062
- Smartconnpool rechecks capacity after CAS to prevent connection leaks when capacity is lowered concurrently. Pull request #21190
- VTAdmin now sends non-empty:authority header so gRPC calls work behind proxies that validate HTTP/2 headers. Pull request #21191
- VDiff fixes PK column ordering and index mapping in getSourcePKCols to correctly handle source table primary keys. Pull request #20603
- VTTablet and VTGate now reject server-side CRL configuration when TLS certificate and key flags are not set. Pull request #21153
- Sqlparser fixes panic when WITH clause is immediately followed by a parenthesized query. Pull request #21125
Why it matters
This week includes fixes for reparenting safety, system variable handling correctness, security in stored procedures, and table ACL enforcement. Connection pooling and gRPC proxy compatibility improvements address reliability issues. These changes strengthen operational correctness and security across core Vitess components.
Changelog entry
- EmergencyReparentShard: stop counting divergent tablets as semi-sync ackers Pull request #21188
- Vtgate: fix SHOW VARIABLES in shard-targeted sessions and SHOW GLOBAL VARIABLES Pull request #21185
- Vttablet: reset
foreign_key_checksandunique_checkssettings to the global value Pull request #21167 - VTTablet: check the reads embedded in CREATE TABLE AS SELECT, EXPLAIN ANALYZE, SHOW WHERE and SET under table ACL Pull request #21139
- VTTablet: Discard the pooled connection after CALL so procedure session state cannot leak Pull request #21062
- Smartconnpool: re-check capacity after getNew's CAS Pull request #21190
- Vtadmin: send a non-empty:authority so gRPC works behind a proxy Pull request #21191
- Fix(vdiff): map source PK columns to their SELECT positions in getSourcePKCols Pull request #20603
- Vttls: Refuse a server-side CRL when the server is not configured for TLS Pull request #21153
- Sqlparser: fix panic on WITH followed by parenthesized query Pull request #21125
Vitess ships fixes for reparenting validation, system variables in sessions, stored procedure state isolation, table ACL coverage, connection pooling safety, and gRPC proxy compatibility.
This week's Vitess releases address critical operational and security improvements: EmergencyReparentShard now correctly validates promotion candidates, session variables return accurate values, stored procedures can no longer leak state, table ACLs cover more statement types, and connection pooling handles concurrent capacity changes safely. VTAdmin also now works reliably behind proxies.
Week of September 14, 2026
What shipped
- VTTablet now fails closed under strict table ACL when a statement's table set cannot be determined, fixing a security gap where DO, CALL, REPAIR, OPTIMIZE and LOAD DATA statements bypassed ACL checks. Pull request #21053
- VTTablet table ACL now derives permissions the same way MySQL resolves CTE names, fixing a security issue where common table expressions could be used to bypass access controls. Pull request #21091
- VTTls now enforces certificate revocation lists in all SSL modes and on resumed TLS sessions, preventing revoked certificates from reconnecting. Pull request #21054
- VTTablet fixed a data race in transaction timeout handling that was causing all
e2e_racetest failures. Pull request #21024 - VTAdmin fixed a crash in the tablet info dialog and resolved multiple type errors from dependency API changes in react-query, react-router and headlessui. Pull request #21131
- CI replaced MinIO server with MicroCeph RGW for S3 backup tests after MinIO archived its community releases. Pull request #21086
- CI bumped Apache ZooKeeper to 3.9.6 since 3.9.5 is no longer available on the distribution site. Pull request #21099
- Removed a write-only timestamp field from LRUCache entries that had not been read since 2021. Pull request #21080
- VTAdmin declared children and JSX types that React 19 removed from its type definitions. Pull request #21130
- VTAdmin fixed project configuration errors that prevented TypeScript type checking from running. Pull request #21129
Why it matters
This week addresses three security vulnerabilities in table ACL enforcement and TLS certificate validation, plus a data race causing test failures. Infrastructure updates keep CI working as upstream projects archive old releases, and frontend improvements prepare VTAdmin for current tooling versions.
Changelog entry
- VTTablet: fail closed under strict table ACL when a statement's table set cannot be determined Pull request #21053
- VTTablet: derive table ACL permissions the way MySQL resolves CTE names Pull request #21091
- VTTls: Enforce CRLs in every SSL mode and on resumed TLS sessions Pull request #21054
- VTTablet: fix data race in transaction timeout publishing Pull request #21024
- VTAdmin: fix tablet info dialog crash and type errors from dependency API changes Pull request #21131
- CI: Replace MinIO server with MicroCeph RGW for S3 backup tests Pull request #21086
- CI: bump Apache ZooKeeper to 3.9.6 Pull request #21099
- Cache: remove unused timestamp field from LRUCache entries Pull request #21080
Shipped: table ACL and TLS security fixes, resolved e2e_race test failures, updated CI infrastructure for current ZooKeeper and S3 services.
This week's releases include important security fixes: VTTablet now properly enforces table ACL for all statement types, CTE name resolution matches MySQL behavior, and TLS certificate revocation checks work across all SSL modes and resumed sessions. We also fixed a data race in transaction timeouts and updated CI infrastructure as upstream projects archive releases.