Release history

Changelog

Version history from the repo CHANGELOG.md — evidence-named releases, not marketing blurbs. Full notes live under GitHub.

  1. v1.9.14

    Latest

    Connection pool + transport presets

    • **Transport presets (P14-S)** — preset catalog, active/partial badges, apply confirm, Tor inline gate, template pre-fill
    • **Pool health UI (P14-P)** — readable pool / degraded connectivity signals (L3 soak optional for EXIT)
    • Honest client-crypto copy: networks carry ciphertext; encryption stays on the client
    • Settings transport surface aligned with Conduit Mesh pool owner (subtract dual-truth where touched)
    Release notes (docs)
  2. v1.9.13

    Vault LES cutover

    • **Local Encrypted Store (LES)** — desktop Vault data plane: encrypt-on-write, encrypted catalog, profile-scoped layout
    • **Chat Save → LES** + Secure Upload into one catalog
    • **Remove from Vault** — LES hard delete (V13-5)
    • **Preview stability** — Vault grid / lightbox after decrypt · close · reopen (R6b maintainer soak)
    • Legacy chat→vault flag path **superseded** by LES (do not re-enable old `VAULT_SAVE_FROM_CHAT` owner)
    • Vault UI reads LES catalog only on desktop shell
    Release notes (docs)
  3. v1.9.12

    Conduit Mesh + trust gates

    • Conduit Mesh C0–C14 (HTTP pull, mesh wire, long-poll, SSE, Tor SOCKS L1)
    • Dual-window L3 soaks: C7 WS, C10 HTTP, C14 SSE **PASS**; C13 Tor **BLOCKED** (env)
    • Trust link/export confirmation gates; voice-note player/waveform
    • Vault chat→save remains **disabled** (deferred to 1.9.13)
    Release notes (docs)
  4. v1.9.11

    Vault encryption sandbox Phases 1–5

    • **Phase 1 — Encrypt-on-write** — `encryptVaultBytesForWrite`, `VaultWriteEncryptionRequiredError`; refuse vault writes when PDK session absent.
    • **Phase 2 — Legacy migration** — migrate pre-v1.9.8 plaintext vault files to ciphertext on unlock.
    • **Phase 3 — Encrypted index** — vault metadata index in encrypted SQLite (replaces plaintext localStorage index for new layout).
    • **Phase 4 — Controlled decrypt surface** — export labeling, folder-only reveal, `vault-media-blob-lifecycle.ts` revoke on lock/preview close.
    • **Phase 5 — Per-profile layout** — `profiles/{profileId}/vault/` writes; layout migration; `data_root.rs` ensures profile vault dir.
    • **L3 runbook** — [vault-sandbox-l3-verification-2026-07.md](specs/backend/vault-sandbox-l3-verification-2026-07.md).
    • **Chat→vault save** — remains **disabled** (`VAULT_SAVE_FROM_CHAT_ENABLED = false`); Phase 6 investigation complete, no flag flip until G8.
    • **CodaCtrl lane D** — Obscur-side EXIT; download page `data-codactrl-sha256` hooks + agent runbook.
    • **Release gate** — Node 22 for Vitest 4.1 in CI.
    • **Vitest 4.1** — ESM config via `.mts`; transport parity + auth K4 mock stability.
    Release notes (docs)
  5. v1.9.10

    AUTH-SESSION-1 cancellation + version truth

    • **Desktop session policy** — `NATIVE_SECURE_SESSION_RESTORE_ENABLED` and `NATIVE_DEVICE_SESSION_CONSENT_ENABLED` disabled on desktop shell builds; manual unlock after F5/restart/lock is intentional product behavior.
    • **Consent gates** — `isDeviceSessionRestoreAllowed` and `resolveStaySignedIn` respect cancelled restore policy.
    • **UI honesty** — auth session policy notice, profile manager lock copy, device session settings panel hidden on desktop when restore is off.
    • **Version sync** — monorepo manifests, `version.json`, and program docs aligned to **1.9.10** (recovered bands 1.9.4–1.9.9 that shipped on `main` without semver bump).
    Release notes (docs)
  6. v1.9.9

    Storage resilience

    • **Data root health probe** — detect missing/slow/unreachable custom data roots without infinite hang.
    • **Recovery UX** — reconnect folder, choose new folder, offline webview recovery gate.
    • **Junction bind resilience** — dead junction heal; bind to alternate path after USB disconnect.
    Release notes (docs)
  7. v1.9.8

    Portable storage + encryption at rest

    • **Custom data root** — junction bind, migration, conflict/overwrite dialogs, `obscur.json` manifest.
    • **Encryption at rest** — PDK from device password; SQLite `.obscur-enc` envelope; vault ciphertext; encrypted removal archives (`.obscur-profile.enc.json`).
    • **UX-3** — honest lock-screen and Settings → Storage copy while locked.
    Release notes (docs)
  8. v1.9.7

    Auth subtraction

    • **Withdrawn local login assist** — removed Chrome-style autofill/save-prompt path (LLA charter withdrawn).
    • **Password-only return login** — device password unlock without username field on return visits.
    • **Device session diagnostics** — Settings panel for stay-signed-in / keychain status (mobile/native builds with restore enabled).
    • **Profile picker integration** — locked title bar switcher and auth gateway routing fixes.
    Release notes (docs)