Skip to content

v2.1.21

Choose a tag to compare

@github-actions github-actions released this 18 Aug 02:28
· 14 commits to main since this release
Immutable release. Only release title and notes can be modified.
v2.1.21
c927225

Cartograph v2.1.21

Cartograph v2.1.21 contains failed automatic indexing before it can create an
unbounded generation backlog, makes large relation-free backlogs practical to
prune, and upgrades the managed PostgreSQL search runtime to ParadeDB 0.25.3.
This resolves
issue #142 and
incorporates the dependency update from
PR #141.

Auto-sync capacity containment

  • Generation-capacity failures now share a cross-revision circuit breaker.
    Five unresolved capacity failures suppress further automatic indexing even
    when editor activity continually changes the source revision.
  • Every failed automatic publication attempts the existing bounded
    terminal-generation retention path before returning. A persistent failure no
    longer retains one new PostgreSQL spill generation per retry.
  • Structured status reports the capacity failure count, circuit state,
    maxGenerationBytes limit, cartograph_process scope, and bounded recovery
    action. An explicit successful index clears the circuit.
  • cartograph serve --mcp --no-auto-sync disables both filesystem watching and
    periodic reconciliation for an operator-controlled recovery host.
    --no-startup-sync continues to disable only the initial catch-up.

Bounded backlog recovery

  • db prune --maximum-deletions is no longer silently capped at 64 generations
    when failed generations own no derived search relation. A requested batch can
    delete up to 10,000 such generations while relation-bearing work remains
    independently bounded to 64 online relation drops.
  • Candidate cascade rows, derived-relation presence, and physical bytes are
    measured in one bounded catalog query before selection. Current, leased,
    recent, and import-recovery generations retain their existing protections.
  • Lease heartbeats clamp backward wall-clock adjustments against their durable
    acquisition and heartbeat timestamps. A host clock correction can no longer
    turn a live exact-token heartbeat into a PostgreSQL constraint failure during
    import or publication recovery.
  • Documentation now separates logical retained generation data from shared
    heaps, indexes, TOAST allocation, and reusable physical space, and preserves
    backup-first guidance for explicit pruning and online B-tree compaction.

ParadeDB and dependency refresh

  • The managed, development, and live-CI image is ParadeDB 0.25.3 at one exact
    multi-architecture digest. Capability checks and managed upgrades now require
    pg_search 0.25.3; the image retains pgvector 0.8.4 and compatibility with
    existing bm25 derived relations.
  • Direct crates.io dependencies were audited against the current stable
    registry releases, and the lockfile refreshes all newer Rust 1.97.1-compatible
    transitive releases.
  • GitHub artifact provenance uses actions/attest-build-provenance 4.2.2 at its
    reviewed commit, and the pinned Rust/Trixie build and Debian 13 runtime image
    digests are refreshed.

Upgrade

Use the resumable project upgrade:

cartograph upgrade --apply --project-path <PATH> --json

Require completed: true. If project reconciliation requests a managed
database replacement, take the requested backup, use the exact confirmation
phrase, and rerun the same upgrade command to resume. Restart or reopen an
attached agent host only when the report says restartRequired: true.

Cartograph v2.1.21 remains native Rust and PostgreSQL-only. It does not bundle
PostgreSQL, ParadeDB, pgvector, a database, or a container image, and it has no
SQLite runtime, importer, optional feature, or fallback.

Full changelog: v2.1.20...v2.1.21