# v0.30.0 — Pre-GA Correctness & Stability Sprint

> **Full technical details:** [v0.30.0.md-full.md](v0.30.0.md-full.md)

**Status: Planned** | **Scope: Medium** (~7 weeks)

> A mandatory quality gate before the 1.0 stable release — no new features,
> but every known correctness defect, operational failure mode, and
> documentation gap is closed.

---

## What is this?

v0.30.0 is a *quality gate* release — no new user-visible features, but
a mandatory milestone before the 1.0 stable release. Its purpose is to close
every known correctness defect, operational failure mode, and documentation
gap so that v1.0.0 ships from a clean baseline.

---

## Correctness fixes

**Multi-table JOIN phantom rows (EC-01)**

A subtle edge case in multi-table JOIN differential updates can cause phantom
rows to appear or disappear in rare multi-cycle mutation sequences. The full
fix is completed here with a deterministic test that reproduces the issue on
demand.

**Atomic snapshot and restore**

Snapshot and restore operations are wrapped in a proper database
sub-transaction, so a crash partway through can no longer leave the database
in a partially-restored state (an orphan table or a truncated storage table).

---

## Stability and safety

**Bounded caches**

The internal caches that hold compiled query templates are now properly
bounded. Without eviction limits they can grow without bound during a
long-running session with many schema changes.

**Internationalisation-safe error classification**

Error classification logic that currently matches English text fragments
(and silently breaks on non-English PostgreSQL installations) is replaced
with standard five-character SQLSTATE codes. A test with
`lc_messages=fr_FR` confirms the fix.

---

## Documentation backfill

- The upgrade guide (`UPGRADING.md`) is extended to cover every version
  from v0.15.0 through v0.27.0.
- All configuration settings introduced since v0.23.0 are documented in
  `CONFIGURATION.md`.
- New error codes have clear explanations, hints, and remediation steps in
  `ERRORS.md`.
- A first-party Grafana dashboard JSON file ships in the repository.
- The SQL reference is completed for all snapshot, schedule-planner,
  cluster-observability, and metrics functions.

---

## Test coverage

- New fuzz targets exercise the WAL decoder, MERGE template generator, and
  snapshot SQL builder against random inputs for 24 hours without crashing.
- A multi-database soak test is promoted from a separate stability workflow
  into the standard CI pipeline.
- The deterministic EC-01 reproducer replaces the previously flaky TPC-H
  Q07 test.

---

## Scope

v0.30.0 is a medium-sized release — approximately seven weeks of work
weighted heavily towards test coverage and documentation rather than new
code. It is a prerequisite for v1.0.0 and cannot be skipped.

---

*Previous: [v0.29.0 — Relay CLI](v0.29.0.md)*
*Next: [v0.31.0 — Performance & Scheduler Intelligence](v0.31.0.md)*
