v1.5.0
Released: 2026-09-29
Feature release: dedicated Settings experience and simplified header (#199).
Features
- Settings workspace: new Settings button in the header opens a dedicated workspace with left-side category navigation (General · Editor · Writing · Preview) and a clear return to the editor. Built on the Library panel pattern — the editor is hidden, not disconnected, so autosave, undo history, and pending state survive round-trips. Settings and Library are mutually exclusive panes; note selection returns to the editor from both.
- All persistent preferences migrated into Settings: theme, language (pickers relocated unchanged — Omarchy polling and translation loading intact), editor font/size/width, line numbers, indentation, typewriter mode, Vim mode, scroll sync, and preview zoom. Font and size now apply live on change. Keyboard shortcuts unchanged.
- Header simplified to editing chrome: sidebar toggle, current path, save/draft status, preview toggle, Library and Settings. Vim/scroll-sync/typewriter toggles and theme/language pickers moved into Settings; the old editor-customization dialog is consolidated into Settings and removed. Net −636 lines.
Compatibility & security
- Persistence contract unchanged:
PATCH /configremains the single write path (UI_KEYS-only enforcement); no parallel stores, no localStorage; sensitive configuration never surfaced. - Editor-config endpoint and tests preserved; apply-behavior ported with its assertions; 54 new settings-controller tests plus workspace round-trip coverage.
Test Coverage
- 926 Ruby tests (3,194 assertions), 1,908 JavaScript tests; hosted CI green on the release tree (all five jobs including
test_ruby).