github akitaonrails/FrankMD v1.5.0

2 hours ago

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 /config remains 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).

Don't miss a new FrankMD release

NewReleases is sending notifications on new releases.