Release history
Changelog
Version history from the repo CHANGELOG.md — evidence-named releases, not marketing blurbs. Full notes live under GitHub.
v1.5.2
Feel Fast
- **Route navigation warmup** — `route-navigation-warmup.ts`, expanded prefetch policy, idle preload for community home from Network.
- **Relay standby probe schedule** — deferred first probe, capped concurrency, visibility-aware cadence (`relay-standby-probe-schedule.ts`).
- **Vault two-phase media load** — sync index aggregation first, bounded async local URL resolve (`vault-media-aggregator.ts`).
- **Community confirmation routes** — `/groups/block`, `/groups/purge` (with leave/block/purge dedicated pages).
- Regression tests in `release:test-pack` for nav warmup, relay schedule, vault aggregator, and group action routes.
- App shell page transitions shortened (150ms) with `motion-reduce` respect.
- Network dashboard: `startTransition` tab switches; `GroupDiscovery` lazy-loaded behind `Suspense`.
- Vault grid skeleton only when empty; 8 placeholders instead of 15.
- Desktop updater uses GitHub Releases API for artifact checks (avoids dev WebView CORS noise).
- First install still pays one-time chunk download per route.
- Vault IndexedDB full-message scan remains; local file verification is deferred, not removed.
- Cooperative recall / delete-for-everyone UI remains off.
v1.5.1
Honest Hide
- **Hide on this device** — durable suppression across refresh/restore; **Show again on this device** reversal.
- Dedicated routes: `/groups/leave`, `/groups/block`, `/groups/purge` for destructive community actions.
- Sidebar/route **navigation warmup** (prefetch + dynamic chunk preload, including community home when Network warms).
- Regression tests in `pnpm release:test-pack` for hide flags, blocklist safety, group action routes, and nav warmup.
- Removed **Recall for everyone** from product UI (`DM_RECALL_FOR_EVERYONE_UI_ENABLED === false`); cooperative delete UI remains off.
- Network dashboard tab switches use `startTransition`; reduced tab panel animation duration.
- Desktop updater checks streaming artifacts via GitHub Releases API (avoids CORS-noisy direct download fetches in dev WebView).
- Community block flow uses `useNetwork().blocklist` (profile-scoped) instead of the DM blocklist hook.
- Hide is **local/device-scoped**; not network erasure — see `docs/messaging/deletion-roster-limitations.md`.
- Streaming update policy manifest still requires native or same-origin fetch for full parsing in desktop shell.
v1.5.0
Gateway & Membership
- **ClientGateway (R0–R2):** DM conversation materialization, suppression preparation, and community roster routing through `getResolvedClientGateway()`.
- **Profile runtime:** `ProfileMessageBus`, `getResolvedProfileId()` migration, same-process profile isolation tests.
- **Community Phase 3:** `community-membership-ingress`, coordinator-owned ledger mutations, provisional invite join, terminal decline paths.
- **Cooperative redaction infrastructure (experimental, UI off):** display gate, thread redaction owner, `pnpm verify:dm-redaction`.
- **Documentation restructure:** `/docs` root is navigation-only; encyclopedia, program, gateway, messaging, and archive shelves — see `docs/README.md`, `docs/program/PROGRAM.md`, `docs/releases/v1.5.0-release.md`.
- DM read path favors account projection when read cutover is enabled.
- Membership mutations converge on evidence-backed ingress (legacy DM-driven authoritative joins reduced).
- **DM cooperative redaction UI** — not shipped; see `docs/messaging/redaction-v1.5-deferred.md` and `docs/messaging/cooperative-redaction-future.md`.
- Some dual-publish paths (`window` + profile bus) remain during migration.
- Phase 3 M5 live gossip A/B may require manual closure per `docs/program/v1.5.0-phase3-scope.md`.
v1.4.11
Relay Resilience
- **DM Operation Ledger** (Shadow Mode): Foundation for message deletion reliability
- **DM Message Queue**: Retry resilience for unreliable relays
- **Send with Retry**: Drop-in replacement for send pipeline
- 37 DM Ledger tests passing (reducer correctness, idempotency, anti-resurrection)
- TypeScript: 0 errors
- Non-invasive: existing behavior unchanged, ledger runs in shadow mode
v1.4.7
M3 Stabilization
- **M1 Verification Diagnostics**: Comprehensive diagnostics for all M1 goals
- **M1 Replay Tests**: Runtime replay verification suite
- **Goal 2: CAS Media Recovery**: Restore convergence for missing media blobs
- **Goal 4: Security Integration**: Wire security services to production flows
- **Goal 5: Relay Capability Badges**: Community mode and relay tier display
v1.4.6
- **Key Verification**: Visual fingerprint/identicon for cross-device identity verification
- **Key Change Detection**: Security alerts for unexpected identity key changes
- **Relay Trust Scoring**: Dynamic relay reputation system
- **Security Audit Logging**: Local encrypted security event log
v1.4.5
- **Android/mobile build compilation error** in profile isolation code:
v1.4.4
- **Proof-of-Work (PoW) account creation** to prevent automated bot signups:
- **B→A DM visibility gap** - messages from Account B not appearing in real-time for Account A: