Releases
v0.1.0
Compare
Sorry, something went wrong.
No results found
What's changed
Features
feat(site): make the demo editor continue lists and toggle checkboxes (#14 ) (21ec7f8 )
feat(editor): markdown writing experience (#15 ) (eeccf9d )
feat(settings): show the storage database path with reveal and copy (f23c5fc )
feat(settings): searchable settings with command palette indexing (#4 ) (7263547 )
feat(site): rebuild the landing and unify the site on one design system (#3 ) (a46f93a )
feat(site): rebuild the site (#162) (81ea026 )
feat(editor): editor and preview font zoom (3f013de )
feat(search): full-text results panel with snippets and line numbers (#160) (5010d36 )
feat(inbox): watched-folder files listed in the sidebar (#159) (0efa2d0 )
feat(prompt): variable count and live token estimate in the fill modal (#158) (e958ea1 )
feat(editor): add language, encoding, and cursor fields to the status bar (#157) (3dd735b )
feat(inbox): open new files from a watched folder as they arrive (#147) (8ec7d56 )
feat(files): file-size policy with large-file mode and binary hex view (#146) (90aab59 )
feat(files): one-click Make Writ default app for .md and .html (macOS) (#145) (dde18ea )
feat(cli): writ command-line surface (#144) (f0dae56 )
feat(workspace): open a folder as workspace with sidebar file tree (#143) (6affa2d )
feat(recovery): wire crash-recovery infrastructure into the running app (#142) (aeaa5c0 )
feat(prompt): token estimate, copy as prompt, fill placeholders (#140) (e032a7c )
feat(editor): live markdown typography for .md buffers (#141) (fd4e1f1 )
feat(settings): unified Settings modal with Cmd+, shortcut (#136) (b77f82c )
feat(theme): app-wide light theme across every surface (#132) (07c36f1 )
feat(ui): designed empty state for the cold sidebar (#133) (a00d14c )
feat(editor): find/replace overlay with live match count (#118) (f27a472 )
feat(preview): KaTeX math via bundled offline runtime (#121) (94f4e67 )
feat(preview): render mermaid diagrams from a bundled offline runtime (#116) (38e90fa )
feat(transforms): composite pipelines plus trailing-trim, final-newline, punctuation-spacing (#117) (af8c0e0 )
feat(preview): markdown renderer with theme inlining and empty-panel guard (#114) (79194a8 )
feat(preview): split-pane preview surface (iframe over writ-preview://) (#96) (c96365b )
feat(preview): rendering pipeline with HTML renderer and protocol handler (#93) (62cea1f )
feat(preview): per-window state, registry, and writ-preview:// substrate (#92) (527e6d1 )
feat(xplat): file-association open via argv + single-instance forwarding (#73 ) (87e8a20 )
feat(ui): app-wide typography pass with Inter for chrome (#52 ) (03abb67 )
feat(sidebar): IDE Active section + time-bucketed History, empty-buffer guard & reclaim (#51 ) (7730e0e )
feat: in-app updater (signed, consent-based, store-driven) (#50 ) (7a42c42 )
feat(statusbar): transient saved / persistent save-failed indicator (9595281 )
feat(sidebar): group history by Today / Yesterday / This Week / date (7854993 )
feat(search): leading icon, shortcut hint, and live result count (4920149 )
feat(tabbar): scrollable strip with readable min-width and accent active state (b869a13 )
feat(a11y): modal focus safety + destructive-action confirmation (8ef6721 )
feat(palette): usage-weighted ranking, recent section, inline shortcut editor, reactive statusbar chip (d5db314 )
feat(plugin): transform registry v1 with 4 built-in transforms + palette wiring (8856b35 )
feat(ui): theme system, integrated titlebar, palette polish, window fixes (82cdea7 )
feat(ui): polish statusbar, tabs, chrome, and command palette (83654bd )
feat(sidebar): docked Cmd+S toggle with persisted open state (ef7c23e )
feat(release): pkg installer with quit-then-install, dmg alongside (42e8694 )
feat(site): theme polish (bccbf5f )
feat(updater): trigger update check on launch (ac54f1f )
feat(updater): user-initiated update check shows result dialogs (ffbd019 )
feat(menu): add Writ application menu with Check for Updates (93d3b08 )
feat(site): add first-time install notes for unsigned mac and win (6e24e7b )
feat(site): real app icon, hero/proof screenshots, copy trim (416fc3b )
feat(site): OG images, /privacy and 404 page polish (f15aee5 )
feat(site): comparison and proof sections, /download and /changelog pages (fc94d2f )
feat(site): design system pass with four themes, FOUC script, motion islands (483c62e )
feat(packaging): manifests and release-bump workflow (c36bc8f )
feat(site): Astro landing site and GH Pages workflow (85b9a87 )
feat(updater): register tauri-plugin-updater in builder chain (e84a6d9 )
Fixes
fix(release): cover tauri v2 updater artifacts and staple the dmg (#31 ) (15be9f6 )
fix(settings): route the storage path copy through the storage store (e925dd6 )
fix(storage): log the reveal failure before returning the user message (4618e16 )
fix(editor): classify open mode by line shape to keep large opens responsive (2642c14 )
fix(window): log window-geometry persist failures (b34f4fe )
fix(site): describe the update check accurately (cbf77a4 )
fix(site): correct the 404 page pointers (d7b9614 )
fix(site): show only the real release history on the changelog (6e3a96f )
fix(site): resolve favicon links against the base path (dc6c990 )
fix(site): give the header ticker facts the page does not already say (fa5fce8 )
fix(app): log collect_buffer_contents failures in the periodic snapshot (90bb837 )
fix(cli): escape the sidecar path in the privileged install script (a3b0666 )
fix(open): keep Writ out of the default HTML and web-link path (#1 ) (e89edf5 )
fix(site): render the capability deck server-side (#163) (9b3ada2 )
fix(storage): atomic history clear, broader test coverage, doc parity (#153) (5592f18 )
fix(cross-platform): restore native watcher backends and gate the menu to macOS (#151) (dab5a92 )
fix(storage): harden persistence and write atomicity (#150) (f4358fc )
fix(inbox): align watcher with the file-size policy (#149) (2eec551 )
fix(input): make sidebar toggle global so Cmd+S works from the editor (#134) (1403dcd )
fix(input): scope app shortcuts to editor focus; drop dead double-tap engine (#130) (cd9aeed )
fix(preview): find inside the rendered preview (#129) (5cbf308 )
fix(preview): sync source and preview scrolling in split view (#128) (6961ffa )
fix(preview): stop the last-tab/close webview freeze and the watcher self-write echo storm (#127) (81ba414 )
fix(preview): stop stale-cache flash on tab switch by gating render on loaded buffer id (#126) (dd7dca5 )
fix(editor): stop tab double-click from also maximizing the window (#125) (8e30389 )
fix(preview): re-resolve layout when a rename changes a buffer's renderability (#123) (2abea77 )
fix(preview): stop tab-close freeze with the preview pane open (#124) (9f0f945 )
fix(window): grant window-action capabilities and add fullscreen control (#120) (4baafc2 )
fix(window): stop wry drag-drop nil-pasteboard panic (#113) (#115) (6f0331d )
fix(preview): render scratch buffers whose title carries a renderable extension (#98) (ae9f81c )
fix(window): persist window position and flush geometry on quit (#94) (ba4b599 )
fix(arch): uninstall keyboard handler on App cleanup (#90) (be5497b )
fix(a11y): announce toasts via aria-live container; role=alert on errors (#85) (7e75316 )
fix(a11y): aria-label + focus outline on TabBar close control (#83) (d362a5b )
fix(a11y): real button + focus-within reveal for sidebar row actions (#80) (3ffe21b )
fix(a11y): persistent aria-live regions for save status and update banner (#87) (f367154 )
fix(a11y): accessible name on toast dismiss button (#84) (3c04291 )
fix(a11y): accessible name on TabBar new-tab button (#82) (c1c3b31 )
fix(a11y): keyboard-operable sidebar rows (role=button, Enter/Space) (#78) (31f8f43 )
fix(security): gate open_file and save_to_source on server-side path origin (#86) (6798bc8 )
fix(security): sanitize buffer title and derive on-disk filename from UUID (#81) (dd6175d )
fix(autosave): persist empties on buffer-switch and flush on window-close (#79) (921f287 )
fix(hotkey): parse config chord with platform-aware CmdOrCtrl mapping (#70 ) (901e232 )
fix(watcher): content-fingerprint ignore stamps to prevent dropping real external edits (#68 ) (a455343 )
fix(storage): rename-into-place writes for buffer content + save_to_source (#67 ) (e1b4273 )
fix(buffers): flush autosave before close to prevent last-edit loss (#69 ) (8bbadd0 )
fix(events): load the buffer when opening a file via OS or dialog; restore search results for open buffers (#49 ) (5569fd8 )
fix(search): drop misleading borrowed shortcut hint from search box (bf7dfb2 )
fix(titlebar): add 12px left gutter so traffic lights clear the first tab (3df4ee5 )
fix(core): rename FTS handling, watcher ownership, mutex logging, event-bus bridge (f708757 )
fix(search): restore FTS5 content search and wire into palette (7f169df )
fix(ci): drop unsupported matrix reference in job-level if (ec3dca3 )
fix(release): gate APPLE_ID/APPLE_PASSWORD/APPLE_TEAM_ID on secrets too (2378f17 )
fix(release): only export APPLE_CERTIFICATE/WINDOWS_CERTIFICATE when set (8252091 )
fix(ci): collapse dependabot skip rule into a single-line if (91ffeac )
fix(release): load Tauri updater key + password automatically in preflight (d61ae10 )
fix(release): matrix build for unsigned RC (77cdfbf )
fix(site): v2 quality pass and download link wiring (4375873 )
fix(ci): site deploy and version-bump scoping (7eefdf6 )
fix(site): linux deb/AppImage filenames use capital Writ_ to match release assets (e8e1006 )
fix(ci): packages workflow downloads Writ_ AppImage and deb to match release assets (f0eb1d3 )
fix(ci): site sync uses universal mac dmg key (a0ee452 )
fix(packaging): AUR bump script writes capital Writ_ AppImage URL (ec6c1e4 )
fix(site): align install one-liners with packaging configs (10dc478 )
fix(site): use universal mac dmg in download manifest (46d2667 )
fix(install): match capital Writ_ AppImage filename (d9a34cb )
fix(site): correct verification copy and use SHA256SUMS (2328f0a )
fix(packaging): AUR PKGBUILD uses capital Writ_ prefix to match release assets (494bdc6 )
fix(install): order OS check before arch + update brew/winget hints (b6d31c0 )
fix(release): normalize linux bundle names to lowercase (b7b8a9d )
fix(packaging): document winget manual PR + launch-day delay (8a1887f )
fix(packaging): homebrew cask uses universal dmg (e73031a )
fix(editor): wire language extensions, reconfigure on tab rename (9cc0031 )
fix: OS file open handler (81840f8 )
Other
release: v0.1.0 (#24 ) (1789a42 )
docs: cleanup (da9e39d )
docs(readme): update content (47b20ed )
chore: drop stale file references from the dependabot comment and ADR-021 (dced230 )
docs(readme): point downloads at the release page, drop missing media and star history (ad688fc )
test(theme): accept composite site tokens in the preset integrity test (4689455 )
refactor(app): deduplicate the active-buffer memo and basename helper, mark singleton signals (0fb45d4 )
refactor(editor): route autosave and language detection through the editor store (695b687 )
docs(changelog): correct the default-app scope and crate count (73ef450 )
docs(changelog): bring the unreleased notes up to what actually ships (b68e28e )
chore(site): drop unused wasm and token build steps (7ca3f13 )
chore(repo): stop tracking the node_modules symlink and ignore generated artifacts (99c0461 )
refactor(preview): recover poisoned mutexes instead of panicking (e02b3fc )
refactor(recovery): make pull-based recovery canonical, with coverage and font fixes (#155) (59ab03d )
chore(release): build the writ CLI sidecar before bundling (#154) (9a1bce2 )
perf: optimize sidebar, search, autosave, and startup paths (#152) (e1fd789 )
test(settings): fake-timer coverage for default-app re-query path (#148) (7178785 )
test(perf): criterion benchmarks and budget gate for transforms and storage (#139) (d8146b7 )
docs(adr): renumber search controller and fix cross-references (#135) (89e3252 )
refactor(theme): route every surface through design tokens; enforce WCAG AA (#131) (b0a7488 )
test(preview): exfil-denial suite, URL-parser fuzz, threat model (#112) (37a589e )
chore(preview): scope the preview surface and lock the document CSP (#95) (58eaba7 )
refactor(arch): os-window store + tauri window wrappers; route components through store (#89) (b6c6028 )
refactor(events): complete bus migration; menu, config, buffer-external go through bridge (#91) (4c3971e )
chore(clippy): silence intentional state-doc unused_assignments in window_state test (#88) (8105bad )
docs(adr): 011 preview trust model + verification suite (#76) (e95f787 )
docs(adr): 010 workspace primitive, writ-workspace:// protocol (#75) (7fd16cc )
docs(adr): 009 preview surface, content-type renderer registry (#74) (207a18b )
docs(recovery): mark snapshot/dirty-shutdown infrastructure as unwired (#72 ) (f8e1003 )
docs: code quality review and fix order (#65 ) (657f026 )
refactor(sidebar): drop redundant Active Tabs section (8ea5f71 )
refactor(core): buffers store, language registry, bulk close, ready event, perf instrumentation (8048895 )
docs(adr): plugin runtime, text transform registry (84bcbd6 )
chore(clippy): use sort_by_key with Reverse for history ordering (#39 ) (6fb20d9 )
chore(updater): defer launch-time check to avoid UI race (e78583d )
chore(release): add release automation script (2fa91d4 )
docs(packaging): plain-language note for filename changes (f365a0f )
docs(changelog): consolidate notes under unreleased (e577c31 )
chore(gitignore): trim ignore comments (0410b77 )
chore(release): bump to 0.1.0-rc.1 (d291e40 )
chore(tauri): wire updater public key (b9b219c )
chore(scripts): tweak triage-dependabot script (39339c6 )
chore(ci): pause dependabot until launch (64cc5cd )
ci: cut macOS/Windows from dependabot PRs and slow dependabot to monthly (0775d36 )
style(rust): apply cargo fmt for newer stable rustfmt rules (e6d53e1 )
chore(ci): group dependabot updates and add triage script (7ffde1b )
chore(deps)(deps-dev): bump jsdom from 29.0.1 to 29.1.0 (#15 ) (8cfa9a4 )
docs(packaging): canonical artifact names use capital Writ_ (8261811 )
revert(release): drop dead local rename step (79a13bd )
perf(site): replace MotionOnView with CSS + IntersectionObserver (ac312d9 )
docs(writ-core): tighten redundant BufferManager::new rustdoc (bdb506e )
docs(writ-storage): add rustdoc and strict lints (48235d2 )
docs(writ-core): add rustdoc and strict lints (827dd8c )
docs(writ-plugin): add rustdoc and strict lints (e78e7f6 )
test(config): exclude editor metadata and site/ from vitest glob (1400e67 )
test(stores,services): align autosave + config tests with current impl (ad08c8a )
docs(changelog): correct crate list and keyboard shortcuts (87b77dc )
docs(readme): rewrite README as landing page (51e57da )
ci(release): release pipeline and Tauri updater config (f36884b )
chore: repo hygiene and metadata (587ffea )
chore: tidy workspace files and config (7b1f55e )
test: add TypeScript test suite (e780419 )
chore: initial scaffold (8c015aa )
You can’t perform that action at this time.