Changelog

v0.4.0: Notes on disk

  • added notes live as Markdown files in a notes folder (~/Writ by default); the first launch moves existing notes there and keeps a rollback copy of the database for ten launches.
  • added New note creates a dated .md file at once; renaming a tab renames the file, Delete moves it to the Trash, Save a Copy writes an opened file into the folder.
  • added a Notes section in Settings: the folder's path, Show in Finder, Copy path and Move, which takes every note along.
  • added open a note by name with Cmd+Shift+O.
  • added the notes folder is watched and indexed, so search follows files that change outside Writ.
  • added the writ command writes piped input as a note in the notes folder.
  • added Writ refuses to start with its data folder inside iCloud Drive, Dropbox, Google Drive, OneDrive or a Syncthing folder, and says where to point WRIT_DATA_DIR.
  • changed a save that would overwrite a newer file on disk is refused and the unsaved text is written beside the note as a dated conflict copy.
  • changed YAML frontmatter is hidden in the preview and round-trips on save.
  • changed autosave waits one second after the last keystroke; losing focus, hiding the window or quitting writes at once.
  • fixed quitting inside the autosave window no longer drops the last second of typing.
  • fixed saving a/index.md no longer hides a real change to b/index.md.
  • removed the private copies of notes Writ kept under its data folder; every note is its file.

v0.3.5

  • added .sql files highlight; the language was detected and named in the status bar, but no grammar was registered.
  • changed failures that only reached the developer console now say so in the app: a config that will not read, a settings write that fails, a file that will not open, a palette section whose search throws.
  • changed a workspace search that fails reports as failed instead of as no matches.
  • fixed showing the sidebar keeps the caret in the editor, and a collapsed sidebar takes no clicks or focus.
  • fixed Escape closes a dialog after a click inside it.
  • fixed context menus close on Escape or on typing, and use the readable foreground colour.
  • fixed the status bar drops fields as the window narrows instead of clipping them.
  • fixed mermaid diagrams follow the document's light or dark theme, and an HTML preview without its own styles follows the light theme.
  • fixed the sidebar toggle in a fresh config defaults to Cmd+\.
  • fixed the inbox header no longer reads "Inbox ยท Inbox".
  • fixed the AI connection row in Settings hides while a search filters to other sections.

v0.3.4

  • fixed the database no longer grows without limit: recovery snapshots write only on change, and a bloated database is compacted once at startup.
  • fixed a save that fails keeps the text queued and retries; closing the tab asks before discarding it, and the message names the file and the reason.

v0.3.3

  • fixed edits to a file opened from disk save back to that file; since 0.3.0 they only reached Writ's internal copy.
  • fixed a saved file keeps its permissions, and a file whose contents changed on disk reloads when reopened.
  • changed Cmd+S saves the active tab right away; the sidebar toggle moves to Cmd+\.

v0.3.2

  • added Arabic and right-to-left writing: each editor line takes its direction from its first strong character, so Arabic reads right-to-left and Latin left-to-right in the same document.
  • added preview paragraphs, headings, lists, and tables resolve their direction the same way; code blocks stay left-to-right.
  • added Arabic text renders in the platform's Arabic fonts instead of fallback glyphs.

v0.3.1

  • added a Writ menu on the Windows and Linux titlebar: open file, new tab, close tab, the command palette, and the update check, each with its shortcut.
  • added Windows 11 snap layouts open from the maximize button.
  • changed the Windows window controls follow the Windows 11 caption treatment, and the maximize button shows restore while the window is maximized.
  • changed the command palette is wider with a larger input and sizes to its results; modal shadows lighten across the app.
  • fixed pressing the icon inside a titlebar button clicks the button instead of dragging the window.
  • fixed closing the command palette no longer leaves a focus ring on the active tab.
  • fixed on Windows, the window no longer grows across launches or reopens larger than the screen, and a window closed maximized reopens maximized on the same monitor.

v0.3.0

  • added search everywhere on Cmd+Shift+F: one palette over commands, settings, and every note, open or from history. with a workspace folder open it also matches file names and greps file contents, streaming results as you type. prefixes route the query: > commands, # content, : go to line.
  • added Cmd+click (Ctrl elsewhere) opens http, https, and mailto links from the editor; a relative link that resolves inside the workspace opens in Writ. a link clicked in the preview names its host and asks before opening.
  • added a Writ context menu in the editor: spelling corrections on a flagged word, link actions, clipboard verbs, rewrite actions on a selection, and a workspace search seeded with it.
  • added spelling corrections in place: double-click a flagged word to pick a suggestion or add that word to the dictionary.
  • added third-party licences readable from Settings.
  • added a startup failure shows a dialog and writes a report file before the app exits, instead of exiting silently.
  • changed requires macOS 12 or later. on macOS 11 or earlier stay on 0.2.0: this build will not launch there.
  • changed the macOS installer is signed and notarized end to end, so Gatekeeper opens it without a warning.
  • changed the Linux install script verifies its download against the published checksums and installs the CLI as the writ command.
  • fixed deb installs update themselves: the update feed serves the signed deb instead of an AppImage the package manager rejects.
  • fixed checking that a hosted rewrite endpoint is reachable asks for the same per-host consent as rewriting before the API key is sent.
  • fixed writ file.rs opens Writ on Linux and Windows instead of the system default editor, and /usr/bin/writ on the AUR package is the CLI, so piping works.
  • fixed writ --version reports the installed version; it printed 0.1.0 on every release since the CLI landed.

v0.2.0

  • added local spell check: wavy underlines on likely misspellings, with fix all and a per-word preview from the status bar. off by default, and code, URLs, and links stay unflagged.
  • added rewrite a selection to proofread, rephrase, or polish it, streamed into a side-by-side view you approve before it applies. off until you turn it on, with a local model by default or a hosted provider whose key stays in the OS keychain.
  • added line operations: duplicate, delete, move, and join lines, select a line, insert one above or below, select the next occurrence, and add a cursor above or below.
  • added installs from the Homebrew tap and the winget package.
  • changed Cmd+E deletes a line; toggling inline code moves to Cmd+Shift+E.
  • changed editor shortcuts fire only while the editor has focus, instead of from any focused text field.
  • changed editor commands appear in the command palette and can be rebound in the shortcut editor.
  • changed text transforms carry plain labels and a sentence describing what each one does.
  • fixed a file created in the same moment the watched folder started being watched no longer goes unnoticed.
  • fixed the writ command no longer reports itself installed when its link points at an app bundle that moved or was deleted.
  • fixed the AUR package installs its launcher entry and icons.

v0.1.0: first release

  • added split-pane live preview renders Markdown, HTML, Mermaid diagrams, and KaTeX math from bundled offline runtimes, with source and preview scroll in sync and find inside the preview.
  • added global hotkey brings the window up over anything: Cmd+Shift+Space on macOS, Ctrl+Shift+Space on Linux and Windows.
  • added tabbed CodeMirror 6 editor with language detection by extension and file content, live Markdown typography, and reopen-closed recovery.
  • added find and replace overlay with a live match count.
  • added full-text search across every note, with a results panel showing snippets and line numbers, backed by SQLite FTS5.
  • added command palette on double-tap Shift.
  • added settings window on Cmd+, with searchable settings and configurable shortcuts.
  • added editor and preview font zoom.
  • added status bar with language, encoding, and cursor position.
  • added prompt fill modal with placeholder variables, a live token estimate, and copy as prompt.
  • added text transforms: tidy whitespace, plus composable passes for trailing spaces, final newline, and punctuation spacing.
  • added open a folder as a workspace with a sidebar file tree; a watched folder lists new files and opens them as they arrive.
  • added large files open in a mode that keeps them responsive, and binary files open in a hex view.
  • added writ command-line tool for opening files from the terminal; set Writ as the default app on macOS for Markdown, plain text, config, and source files.
  • added app-wide light and dark themes, autosave with crash recovery, and self-update with signed manifests.
  • added builds for macOS, Windows, and Linux: .dmg, .msi, .deb, and AppImage.