Changelog

Stable

The actual changes in the SPG99 user contract: soft basebackup, the minimal pod disk, and the new writer autoscaler.

Updated: March 21, 2026

The changelog is useful not only for “product news,” but also as a working source of information before updating an application, automation, or operational procedures.

2026-03-21 — serverless runtime update

This is the key update of the current SPG99 contract.

1. Soft basebackup was introduced

The new cold-start and restart path no longer relies on restoring a full local user PGDATA.

What changed:

  • Pageserver now serves a soft basebackup / thin startup image;
  • the startup minimum for PostgreSQL is materialized locally;
  • user relation files are no longer treated as a required part of the startup snapshot;
  • missing pages can be fetched through Pageserver via read-through.

What this gives:

  • a shorter bootstrap path;
  • less data to prepare during startup;
  • a more predictable restart after idle and relocation.

2. Data placement on the pod was redesigned

The compute pod now keeps only the minimal local set required for fast PostgreSQL startup.

Practical meaning:

  • the pod disk no longer looks like a “full local durable copy of the database”;
  • local PGDATA now matches the role of a working cache even more closely;
  • durability is still provided by the Pageserver + Safekeeper + object-storage chain.

3. A new writer autoscaler was introduced

The runtime now includes a safe autoscale handoff between profiles.

What matters:

  • the current active autoscaler contract works for L1 <-> L2;
  • the platform prepares a candidate generation on the new profile;
  • then performs a controlled handoff: prepare -> freeze -> drain -> promote -> switch -> cooldown;
  • this is safer and more predictable than trying to live-resize an already active writer.

What this gives the user:

  • smooth profile changes without a “manual move”;
  • clear runtime fields in the API and Console;
  • fast handoff thanks to the warm pool.

4. The PAYG model is prepared more broadly than the current runtime contract

On the product side, the L1–L5 size scale and the standard_payg plan id are already prepared.

It is important to distinguish honestly between:

  • runtime autoscaler todayL1/L2;
  • the product/pay-as-you-go model — already prepared for L1–L5.

How the user should read this change

For the normal user scenario, the main path now looks like this:

create db -> connect through Gateway -> the platform starts the writer on its own ->
if needed, changes the profile through autoscale handoff ->
when idle, frees compute again

This makes SPG99 faster at startup, leaner in terms of local pod disk usage, and significantly stronger in terms of writer-profile manageability.