release: cut v0.8.1 to finish what v0.8.0 published #49

Merged
PerishFire merged 1 commit from land/repo/v0-8-1-prep into main 2026-08-19 07:59:25 +00:00
Owner

Why

v0.8.0 published every object, rewrote both managers, reported activation, and
left stable naming v0.7.0. Its lanes came from Plumb v0.26.0, which shifted
the managers and never advanced the channel pointer (PerishLab/plumb#346, fixed
in v0.27.0).

That release cannot be completed, and each reason is independent:

  • its line is frozen, so the repaired lanes cannot be picked onto it;
  • a stamped point never moves, so the version cannot be re-pointed at a
    repaired head;
  • plumb release activate needs the capsule that run built, and this forge no
    longer serves the artifact.

Rebuilding that capsule by hand would need Plumb v0.26.0 and every original
input reproduced byte for byte. verify::published checks a capsule against
itself, not against the published seal, so a near miss would write a pointer
naming a seal digest nobody can match, with no gate to catch it. That is the
one property worth protecting here, and the tooling does not protect it.

So the repair is a version, not a rescue.

What

  • crates/cli 0.8.0 -> 0.8.1. crates/core is unchanged and stays 0.7.0.
  • docs/CHANGELOG/v0.8.1/{en,zh}/{INDEX.md,MIGRATION.md}. The migration notes
    carry no new demand and send the reader to v0.8.0's, because anyone tracking
    stable moves from v0.7.0 straight to v0.8.1 and still owes that migration —
    the channel never named v0.8.0.

v0.8.0's objects stay published and sealed. An exact seal is create-only, and a
channel that never moved pointed nobody at them.

Tests

cargo fmt --check, clippy -D warnings, cargo check --release,
cargo test --workspace, pnpm biome ci, pnpm -r test, ectropy .,
plumb doctor . — all clean.

Compatibility

None beyond v0.8.0's, which this release inherits in full.

## Why v0.8.0 published every object, rewrote both managers, reported activation, and left `stable` naming v0.7.0. Its lanes came from Plumb v0.26.0, which shifted the managers and never advanced the channel pointer (PerishLab/plumb#346, fixed in v0.27.0). That release cannot be completed, and each reason is independent: - its line is frozen, so the repaired lanes cannot be picked onto it; - `a stamped point never moves`, so the version cannot be re-pointed at a repaired head; - `plumb release activate` needs the capsule that run built, and this forge no longer serves the artifact. Rebuilding that capsule by hand would need Plumb v0.26.0 and every original input reproduced byte for byte. `verify::published` checks a capsule against itself, not against the published seal, so a near miss would write a pointer naming a seal digest nobody can match, with no gate to catch it. That is the one property worth protecting here, and the tooling does not protect it. So the repair is a version, not a rescue. ## What - `crates/cli` 0.8.0 -> 0.8.1. `crates/core` is unchanged and stays 0.7.0. - `docs/CHANGELOG/v0.8.1/{en,zh}/{INDEX.md,MIGRATION.md}`. The migration notes carry no new demand and send the reader to v0.8.0's, because anyone tracking `stable` moves from v0.7.0 straight to v0.8.1 and still owes that migration — the channel never named v0.8.0. v0.8.0's objects stay published and sealed. An exact seal is create-only, and a channel that never moved pointed nobody at them. ## Tests `cargo fmt --check`, `clippy -D warnings`, `cargo check --release`, `cargo test --workspace`, `pnpm biome ci`, `pnpm -r test`, `ectropy .`, `plumb doctor .` — all clean. ## Compatibility None beyond v0.8.0's, which this release inherits in full.
release: cut v0.8.1 to finish what v0.8.0 published
All checks were successful
guard / guard (pull_request) Successful in 1m27s
88932b1bad
## Why

v0.8.0 published every object, rewrote both managers, reported activation, and
left `stable` naming v0.7.0. Its lanes came from Plumb v0.26.0, which shifted
the managers and never advanced the channel pointer (PerishLab/plumb#346, fixed
in v0.27.0).

That release cannot be completed, and each reason is independent:

- its line is frozen, so the repaired lanes cannot be picked onto it;
- `a stamped point never moves`, so the version cannot be re-pointed at a
  repaired head;
- `plumb release activate` needs the capsule that run built, and this forge no
  longer serves the artifact.

Rebuilding that capsule by hand would need Plumb v0.26.0 and every original
input reproduced byte for byte. `verify::published` checks a capsule against
itself, not against the published seal, so a near miss would write a pointer
naming a seal digest nobody can match, with no gate to catch it. That is the
one property worth protecting here, and the tooling does not protect it.

So the repair is a version, not a rescue.

## What

- `crates/cli` 0.8.0 -> 0.8.1. `crates/core` is unchanged and stays 0.7.0.
- `docs/CHANGELOG/v0.8.1/{en,zh}/{INDEX.md,MIGRATION.md}`. The migration notes
  carry no new demand and send the reader to v0.8.0's, because anyone tracking
  `stable` moves from v0.7.0 straight to v0.8.1 and still owes that migration —
  the channel never named v0.8.0.

v0.8.0's objects stay published and sealed. An exact seal is create-only, and a
channel that never moved pointed nobody at them.

## Tests

`cargo fmt --check`, `clippy -D warnings`, `cargo check --release`,
`cargo test --workspace`, `pnpm biome ci`, `pnpm -r test`, `ectropy .`,
`plumb doctor .` — all clean.

## Compatibility

None beyond v0.8.0's, which this release inherits in full.

Land-Source: repo/v0-8-1-prep@253ce5f49c
PerishFire force-pushed land/repo/v0-8-1-prep from 88932b1bad
All checks were successful
guard / guard (pull_request) Successful in 1m27s
to ae25c64809
All checks were successful
guard / guard (pull_request) Successful in 1m31s
guard / guard (push) Successful in 1m27s
2026-08-19 07:57:48 +00:00
Compare
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
PerishFire/sidecar!49
No description provided.