å‘åøƒVitess 23.0.0

Source: CNCF

The Vitess team is excited to release Vitess 23.0.0 — the latest major version of Vitess — bringing new defaults, better operational tooling, and refined metrics.

This release builds on the strong foundation of version 22 and is designed to make deployment and observability smoother, while continuing to scale MySQL workloads horizontally with confidence

Why This Release MattersĀ 

For production users of Vitess, this release is meaningful in several ways:

  • Upgrading defaults:Ā Moving to MySQL 8.4 as default future-proofs deployments and signals forward compatibility.
  • Better metrics:Ā The added observability enables deeper insights into transaction routing, shard behavior, and recovery actions — making debugging and alerting more precise.
  • Clean-ups & deprecations:Ā Removing legacy metrics and APIs simplifies monitoring and avoids confusion.
  • Operational strength:Ā Enhanced VTOrc and topology controls reduce risk in large-scale fleets and tighten security boundaries.

What’s New in Vitess 23

Here are some of the standout changes you should know about:

New Default VersionsĀ 

  • The default MySQL version for theĀ vitess/lite:latestĀ image has been bumped fromĀ 8.0.40Ā toĀ 8.4.6.
    → PR #18569
  • VTGate now advertises MySQL version 8.4.6 by default (instead of 8.0.40). If your backend uses a different version, set theĀ mysql_server_versionĀ flag accordingly.
    → PR #18568
  • Important upgrade detail for operator users:
    When upgrading from MySQL 8.0 → 8.4 with the Vitess Operator, you must:
    1. AddĀ innodb_fast_shutdown=0Ā to your extra .cnf in the YAML.
    2. Apply the file and wait until all pods are healthy.
    3. Switch the image toĀ vitess/lite:v23.0.0.
    4. RemoveĀ innodb_fast_shutdown=0Ā and re-apply.
      This is only required once when crossing 8.0 → 8.4. See theĀ official release notes.

New & Improved MetricsĀ 

  • VTGate:Ā new metricĀ TransactionsProcessedĀ (dimensions: Shard, Type) counting transactions processed at VTGate by shard and transaction type.
    → PR #18408
  • VTOrc:Ā new metricĀ SkippedRecoveriesĀ (dimensions: RecoveryName, Keyspace, Shard, Reason) tracking how many recoveries were skipped and why.
    → PR #18405

These improvements strengthen observability and help operators track system behavior with finer granularity.

Deprecations & Removals

  • VTOrc metric rename:Ā DiscoverInstanceTimings → DiscoveryInstanceTimings.
    → PR #18406
  • Removed deprecated VTGate metrics:Ā QueriesProcessed,Ā QueriesRouted,Ā QueriesProcessedByTable,Ā QueriesRoutedByTable.
    → PR #17727
  • Removed VTOrc API endpoint:Ā /api/aggregated-discovery-metrics.
    → PR #18407

Topology & VTOrc EnhancementsĀ 

  • TheĀ --consul_auth_static_fileĀ flag nowĀ requires at least one credentialĀ in the provided JSON.
    → PR #18409
  • VTOrc now supportsĀ dynamic control of EmergencyReparentShard-based recoveries.
    → PR #18410
    These changes improve operational safety and resilience for cluster management.

VTTablet & CLI / Docker UpdatesĀ 

  • Managed MySQL configuration now defaults toĀ caching-sha2-password.
    → PR #18403
  • MySQL timezone environment propagation improved.
    → PR #18404
  • gRPC tabletmanager client error behaviors clarified.
    → PR #18402
  • Docker image workflows and flags updated for consistency.
    → PR #18411

Upgrade NotesĀ 

  • Review custom dashboards: if you relied on removed metrics, update them to new ones (TransactionsProcessed, etc.).
  • Operator users upgrading 8.0 → 8.4: follow theĀ four-step sequence.
  • If you overrideĀ mysql_server_versionĀ in VTGate, ensure it matches your backend MySQL version.
  • Test changes involving reparenting, recovery, or Consul integration in staging first.

What’s NextĀ 

We continue to evolve Vitess toward:

  • Deeper MySQL 8.4 compatibility.
  • Expanded observability across VReplication, MoveTables, and Resharding.
  • Ongoing Operator improvements for reliability and clarity.

Thanks & AcknowledgementsĀ 

This release was made possible by dozens of contributors from the Vitess community and the PlanetScale team.
Thank you for filing bugs, testing RCs, and helping keep Vitess robust and scalable.

Let’s keep scaling.


To explore every detail, see the
šŸ‘‰Ā Full Release Notes for Vitess 23.0.0