Release history
Changelog
Version history from the repo CHANGELOG.md — evidence-named releases, not marketing blurbs. Full notes live under GitHub.
v1.5.7
Governance hardening + publish copy
- **U3** — `getRelayPublishFailureUserMessage` maps `failed`, `retry_scheduled`, upload-related reason codes, and `storage_unavailable` to explicit user-facing strings (still falls back to `error` when provided).
- **G2** — Governance proposal TTL **72h** (was 7d); **tie votes** (`approve === reject` at quorum) close as rejected; duplicate `governance.resolved` with the same resolution is idempotent in the reducer.
- **G1** — Manual matrix: [docs/assets/demo/v1.5.7/README.md](docs/assets/demo/v1.5.7/README.md).
- **U3** audit of all publish call sites not fully closed (continues in v1.5.8).
- Phase 1 manual sign-off (G1 matrix) may still be pending maintainer execution.
v1.8.0
Open v1.8.x band
- **Version line** — Minor bump `1.7.x` → `1.8.x`; feature work proceeds in `v1.8.1+` patches per program roadmap.
v1.8.5
- **CI** — `docs-check`, `release:test-pack` (AppShell relay banner mock, storage-health IDB policy, message-queue in-memory reset, standby latency timer jitter).
- **Dev setup** — `apps/pwa/.env.example` for coordination URL (copy to `.env.local`).
- Greenfield planning docs moved to `docs/archive/greenfield/` (reference only).
- **REL-004** — Durable local leave + outbox retry.
- **Community invite DM** — `inviteId`, supersede, acceptance cards, inviter thread UX.
- **Membership truth** — Coordination-backed participant display (no ghost leavers).
- Relay join after DM accept (`Complete join on relay`) — **v1.8.6+**.
v1.8.4
tag only — no GitHub Release
- **REL-004** — Leave intent and ledger/outbox apply before relay publish; left communities do not resurrect on relay failure or offline windows.
- **MEM-002 (partial)** — Sealed `leftMembers` terminal evidence applied before widen-only discovery roster in participant surfaces; coordination directory truth for workspace participant display (no monotonic ghost roster when coordination is configured).
- **Outbox UX** — Pending leave publish surfaced on Network and group cards with honest retry/terminal copy.
- **Invite DM UX** — Outgoing invite cards show local avatar and readable timestamps; ledger synthetic rows carry sender pubkey.
- **Desktop dev** — `/groups/view` 404 under `dev:desktop:online` (static export + Suspense).
- **Invite thread** — Dedupe prefers hydrated rows over ledger synthetics; no `??` avatar on inviter cards.
- **CI** — `release:test-pack` green after IDB-excision test alignment (`app-shell`, storage-health, message-queue).
- Leave path audit and REL-001 intent guard tests; background outbox retry on runtime activation.
- **Community invite DM** — Stable `inviteId` on wire; unified invite pipeline/ledger; inviter DM thread shows outbound invites, superseded cards, and inbound **Acceptance recorded** responses.
- Relay-backed **group join after accept** (`Complete join on relay`) and full two-profile community chat E2E deferred to **v1.8.5+** (transport soak, not roster logic).
- Group chat on a community relay requires that relay writable in Settings; not a REL-004 claim.
v1.8.3
not published
- **REL-004** — Leave intent and ledger/outbox apply before relay publish; left communities do not resurrect on relay failure or offline windows.
- **MEM-002 (partial)** — Sealed `leftMembers` terminal evidence applied before widen-only discovery roster in participant surfaces; coordination directory truth for workspace participant display (no monotonic ghost roster when coordination is configured).
- **Outbox UX** — Pending leave publish surfaced on Network and group cards with honest retry/terminal copy.
- **Invite DM UX** — Outgoing invite cards show local avatar and readable timestamps; ledger synthetic rows carry sender pubkey.
- **Desktop dev** — `/groups/view` 404 under `dev:desktop:online` (static export + Suspense).
- **Invite thread** — Dedupe prefers hydrated rows over ledger synthetics; no `??` avatar on inviter cards.
- Leave path audit and REL-001 intent guard tests; background outbox retry on runtime activation.
- **Community invite DM (partial, on `main`)** — Stable `inviteId` on wire; unified invite pipeline/ledger; inviter DM thread shows outbound invites, superseded cards, and inbound **Acceptance recorded** responses (maintainer soak 2026-05-27).
- Relay-backed **group join after accept** (`Complete join on relay`) and full two-profile community chat E2E deferred to **v1.8.4** (transport soak, not roster logic).
- Group chat on a community relay requires that relay writable in Settings; not a REL-004 claim.
v1.8.2
Phase 4.2 — manage hub
- **C-4.2** — Tabbed **manage hub** as canonical community settings surface; group home stays daily-use focused.
- **C-4.2a** — Home copy: Personal controls vs full settings in manage hub.
- **C-4.2c** — Community mode badge and relay host in manage shell header.
- **Navigation warm-up** — Critical → context → idle background prefetch; cancels stale work on navigation.
v1.8.1
Phase 4.1 mode-aware create
- **C-4.1** — Managed Workspace create blocked when community relay host is public-default; gate assesses community relay only (not unrelated Settings relays).
- Create dialog shows relay gate copy and disables Create when managed mode cannot be honestly created.
- **Relay gate honesty** — `resolveManagedWorkspaceRelayGate` assesses the community relay host only (fixes false allow when Settings has private relays but community uses `nos.lol`).
- Create dialog mounts only while open (parity with management dialog).
v1.7.1
Phase 3 stabilization
- **Group home** — Mount `GroupManagementDialog` only while management is open (avoids Rules-of-Hooks churn and idle hook work on group home).
- **GroupManagementDialog** — `stewardPolicy` hooks ordered before `isOpen` early return (v1.7.0 carryover).
- Desktop A/B manual matrix signed off 2026-05-21; no client-side console errors reported.