Parameter listings now include a Requires update column for Postgres branches and for Neki configuration profiles, admins, and sidecars, and JSON output includes a requires_update field so scripts can detect the requirement. When an update is required, maintenance must be run on the branch or profile before the parameter can be changed.
PlanetScale Changelog
npx @buildinternet/releases get planetscale-changelogThe planetscale_neki_router resource now accepts a parameters block, though configuring it resets omitted customer-configurable parameters to their defaults, and the planetscale_databases data source supports filtering by kind. Postgres bouncer managers should upgrade before PgBouncer timeout parameters report their type as time instead of seconds, since earlier provider versions will fail to read bouncers; the release also stops persistent drift from locked Neki parameters.
Microsoft Azure is now available as a cloud provider, letting users create PlanetScale Postgres and Neki databases in Azure regions with the same features as other clouds, including high availability, branching, Query Insights, automated backups, and Metal clusters. Vitess databases are not currently available on Azure.
Deploy requests can now opt into Vitess aggressive cutover individually via the CLI and API using the --aggressive-cutover flag, changeable any time before the schema change is deployed. pscale deploy-request show and queue now display an aggressive cutover column.
The PlanetScale MCP server can now check database metrics via the planetscale_get_branch_metrics tool, pulling CPU, memory, disk, replication lag, and connections into your AI assistant for Vitess, Postgres, and Neki branches. The default summary covers the last hour, with memory utilization including page cache reported alongside RSS and cache.
Vitess deploy requests now offer a retry option for partially failed migrations: instead of restarting the entire deploy, retry restarts the migration for only the failed tables while tables that already completed keep their existing progress. Available from the deploy request page and via pscale deploy-request retry .
Organization administrators can set MCP query access in organization settings to no query access, read-only, or read and write. The limit applies the next time someone authorizes an MCP client, and already-authorized clients keep their existing access.
PlanetScale Postgres now supports independently configurable dedicated read replicas, created in the primary region or another region from the same cloud provider with their own cluster size, replica count, storage, and Postgres parameters. They can be managed from the dashboard, API, CLI, or Terraform.
The new pscale keyspace parameters command lets you view and change VTTablet and MySQL parameters of a Vitess keyspace from the terminal. pscale keyspace parameters list shows current and default values, pscale keyspace parameters changes list tracks each change as it rolls out, and --reset restores a parameter to its default.
Two new Prometheus metrics track planned and emergency reparents, split by planetscale_reparent_result and planetscale_component labels. The planetscale_vtorc_recovery_type metric now holds recovery names like RecoverDeadPrimary instead of the previously documented planned and unplanned values, so existing queries filtering on those need updating; on Vitess 23 and later, failed and successful recovery counters carry keyspace and shard labels.
Organization invitations now let you choose a member's role before sending, so new members join with the selected role instead of defaulting to Organization Member.
branch.schema_recommendation webhooks now fire for Postgres databases when PlanetScale creates a new schema recommendation. A custom Authorization header, sent as the HTTP Authorization header on every delivery, can automatically start Cursor or Devin agents.
Databases now have a configurable limit on development branches, set from the database Settings page, defaulting to 100 and adjustable between 1 and 5,000. Creating past the cap requires deleting unused branches or raising the limit.
TIN indexes can now be created with WITH (stemmer = 'en') to match inflected words as the same term, supporting 18 Snowball languages, and ranked searches can keep a bounded top-k scan by adding more ORDER BY keys after tin.score(ctid). Existing clusters update by restarting onto the new TIN library and running ALTER EXTENSION tin UPDATE; enabling or changing stemming on a populated index requires a REINDEX.
An existing MySQL database can now be imported into PlanetScale Vitess from the pscale CLI by connecting it to a production branch as an external keyspace and moving its tables with a Vitess MoveTables workflow. The source database keeps serving traffic during copy and replication, with reads then writes switched over when ready; progress is visible via pscale branch vtctl move-tables status or the dashboard Workflows page.
New pscale branch vtctl move-tables subcommands (list, create, status, start, stop, switch-traffic, reverse-traffic, complete, cancel) run Vitess MoveTables workflows directly from the CLI, with pscale branch vtctl vdiff to verify data before switching traffic. They replace the pscale workflow commands and /workflows API endpoints, which will be deprecated.
Organization administrators can review third-party OAuth apps with access to their org under Settings > OAuth applications, Installed tab, seeing each app, how many people authorized it, and when it was last authorized. Opening an app shows its permissions on the organization, databases, and branches plus who authorized it, and Revoke access removes that app's access to this organization only; dynamically registered apps like MCP clients are hidden unless Hide DCR apps is unchecked.
Added planetscale_pods_container_status_restarts_total, a counter that starts at 0 on pod creation and carries no reason or role label, and planetscale_pods_container_last_terminated_reason, a gauge reporting why a container was last terminated. The old planetscale_pods_container_restarts_total counter was buggy: its reason label described only the most recent termination and series splits caused rate() and increase() to report restarts that never happened or miss ones that did; it still works until a removal date is announced.
An existing MySQL database can now be attached as an external keyspace on a Vitess production branch, with PlanetScale running an external tablet against that source so it can be queried through Vitess without importing data first. External keyspaces can be created from the Clusters page on production branches or via the pscale keyspace create-external CLI command.
Neki extensions can now be enabled by name and configured with parameters in a single Terraform or pscale CLI update, with the extension list replacing the currently enabled set. Existing configurations that set preload libraries directly still work, but extensions cannot be combined with shared_preload_libraries or session_preload_libraries.


