Updates
Even death stars have an exhaust vent.
Stops recurring renderer restarts and adds portable feed reading with durable PWA intent delivery
Features
- Authenticated portable feed reader
- Durable PWA intent outbox
- Library Core SQLite item-detail reads
Fixes
- Accept in-band release approval
- Stop blocked preflight renderer crash loop
- Bind Library Core control to manifest ID
Follow-ups
- Authenticate Library Core operation admission
- PWA portable checkpoint store
- Portable Library Core checkpoints
- Import exact Library Core manifests
- Library Core Google Drive adapter
- Define Library Core writer reassignment
- Coordinate immutable Library Core publication
Builds:v26.7.3100-devDev
Cuts peak memory while building the SQLite-backed feed by reusing the renderer snapshot instead of traversing the full Automerge library twice
Features
- The ordinary All Content feed now reads exact, source-bound pages from the verified SQLite projection, capped at 128 rows per page and a 2 MiB native cache
- Freed Desktop keeps at most 512 SQLite-backed feed cards in React and cancels stale page work when the source changes
- The PWA and native browse-generation foundations now support the same bounded paging contract without activating a PWA cutover
Fixes
- SQLite browse generations are sealed, pinned, and tied to the exact Automerge source frontier before a page can be returned
- A stale or divergent SQLite result falls back to the existing Automerge feed instead of replacing authoritative data
- The macOS menu bar now uses the correct monochrome template icon, the card-density menu no longer shows a stray divider, and nightly tooling tests shard independently
- The SQLite feed materializer now reuses the plain library snapshot already produced at startup
- Incremental item patches preserve exact source order without another full Automerge traversal
- Migration still sends only bounded 128-row pages into SQLite and falls back safely if the source changes
Follow-ups
- Automerge remains the authority, full corpus, and fallback. SQLite does not accept user or provider writes in this build
- If bounded-feed parity, responsiveness, or memory regresses, the local freed.libraryCore.feedBrowseReaderV1.disabled flag restores the Automerge reader
- This activation changes only local storage reads. It adds no provider requests, navigation, cookies, headers, retries, or cadence
Adds the source-faithful Starship and Dark Star themes, polishes theme controls across Freed, and expands the dormant Library Core without activating a new storage writer
Features
- Starship and Dark Star bring AubOS-inspired color, type, radius, shadow, and map treatments to every main Freed surface
- Theme previews and shared Theme and Zoom controls now appear at the top of the expanded right-side menu in Unified Feed, Friends, and Map
- The dormant Library Core now includes a native authoritative journal, actor enrollment, signed transaction verification, projection receipts, and bounded feed queries
Fixes
- Theme changes no longer bounce through the previous persisted setting before settling on the new theme
- Settings blur, spacing, shadows, active tile borders, hover outlines, button fills, feed fades, and right-side panel placement now stay consistent across themes
- Release and publication tools now find the GitHub CLI in non-interactive shells, with hermetic authority tests on GitHub's Linux runners
- The Friends graph regression contract now preserves the intended edge-to-edge canvas while keeping floating sidebars inset
- Automerge saves are fenced to an exact storage revision, and the Friends performance gate is deterministic
- Feed pages now use an indexable sort key while the active Automerge writer stays unchanged
Builds:v26.7.2901-devDev
Makes startup memory attribution reliable across app restarts and establishes the guarded path for moving the saved library out of the renderer
Features
- Startup memory reports now bind the pre-hydration baseline to both the app process and renderer process, preventing comparisons across launches or reused process IDs
- The new Library Core contract defines how saved items, indexes, projections, migrations, rollback, and deletion must behave before storage moves out of renderer memory
- A release activation manifest now makes any future storage transition explicit and reviewable instead of allowing runtime migration by accident
Fixes
- Old or cross-process baselines are rejected instead of being reported as current renderer growth
- Local runtime-health telemetry can attribute startup memory without changing provider requests, navigation, cookies, headers, retries, or cadence
- Dev validation now scopes tooling checks to changed paths and skips unrelated tooling for generated release notes, while retaining full application integration proof and exhaustive nightly coverage
- Release validation now follows the recorded product receipt boundary and verifies exact ancestry against GitHub when a CI checkout reports an incomplete local graph
- Production updater metadata already promoted from main is recognized during backflow validation, while novel or rolled-back content still fails closed
Builds:v26.7.2800-devDev
Lays the measured foundation for moving the corpus out of the renderer, reduces cloud merge overhead, and hardens sync and automation
Features
- Adds renderer memory attribution against a pre-hydration shell baseline
- Defines item locality and deletion semantics with a lossless flat feed projection
- Moves cloud merges off the main thread and replaces JSON number arrays with compact IPC bodies
Fixes
- Runs archive pruning after cloud reconciliation instead of skipping it
- Stabilizes local AI health, runtime health, and renderer recovery accounting
- Hardens automation control, release validation, and dependency safety
- Keeps Friends Galaxy labels live during motion
- Publishes complete macOS updater metadata and rejects partial platform manifests
- Retries release tag verification after GitHub accepts a new tag
- Lets cancelled metadata-only validation inherit its exact green parent without weakening real failure gates
Follow-ups
- Facebook and Instagram may still pause at the WebKit memory gate. The corpus remains resident in Automerge until the storage migration removes it from the renderer