v2-v0.49.0Skriuw v2-v0.49.0
Highlights
Due dates and recurring tasks (#499, #507). Type due: followed by a date and a space on a checklist line to give it a due date: due:2026-10-12, due:today, due:fri, due:in_3_days. Type every:week (or every:daily, every:weekday, every:2_weeks, every:month) to make it repeat. Checking off a repeating item keeps it done and adds the next one right below it, and one undo reverts both.
- Dates and rules show as chips after the line. Enter or a click turns a chip back into editable text, Delete clears it.
- The Tasks view now groups by Overdue, Today, Upcoming, No date and Completed earlier, names each task's source note, and has a date button per row (
Don a focused row). - Markdown uses the Obsidian Tasks signifiers, so vaults stay portable:
- [ ] Water plants 🔁 every week 📅 2026-10-01. Details in ADR-0054.
Math (#503). Inline and block math rendered with KaTeX. Use /math or /inline, mod+alt+e for inline and mod+alt+shift+e for a block, or type $$ on its own line and press Enter. Markdown uses $...$ and $$ fences, like Obsidian, GitHub and Pandoc. KaTeX loads only when a note contains math, and $ still opens the people menu. Formulas are searchable.
Focus mode and typewriter scrolling (#504). mod+shift+f hides the rail, sidebar, inspector, toolbar and tabs and leaves just the note. Exit with the same keys or Escape. Optional dimming of everything but the current paragraph is under Settings, Editor, Focus. mod+shift+y keeps the caret centred while you type, in both the rendered and the raw Markdown editor.
Unlinked mentions (#500). The Relationship Explorer lists other notes that mention the current note's title as plain text. Open one to land on the mention, press L to turn it into a note link, or use Link all. Undo restores every note in one step.
Daily word goal (#501). Set a journal word goal from the ring in the day header or under Settings, Editor, Journal. The header shows progress, days that met the goal are marked in the calendar, and Stats gains Goal days and Goal streak. Changing the goal never rewrites past days.
Account
- Signed-in accounts show a Facehash avatar, stable per account on every device (#505). Settings, Account & sync, Avatar switches back to initials.
- Signing in keeps you on the page you were on (#478).
- Signing out leaves the account's workspace in both the browser and the desktop app (#480). On desktop the app restarts into a workspace no account owns; the account's notes stay on disk and return on the next sign-in.
Fixes
- Locking a note or folder now closes it immediately. Before, it stayed readable until the idle timer or "Lock notes now" (#508).
- Desktop: a saved window size larger than the screen is fitted back to the monitor on launch. An oversized window could push the editor off screen and leave the main section looking empty (#511).
- Desktop: the sync push thread no longer panics with "Could not automatically determine the process-level CryptoProvider". Live sync updates no longer fall back to polling because of it (#511).
- A task's checkbox and its text stay on one line (#494).
- A task whose title ends in formatted text, such as bold, keeps its task link after reopening the note (#499).
Site
- The header shows the signed-in user's menu (#479) and floats on scroll (#482).
- The download button picks the visitor's operating system (#483).
- New hero preview (#477) and better changelog contrast (#481).
Under the hood
- The workspace app is restructured into layered modules with enforced public APIs (#510, ADR-0055). Command ids, shortcuts and hints are unchanged. With an empty query, the palette's Actions group is now ordered by module.
- The search index rebuilds once after updating, so math can be searched.
- The sync service's test config typechecks in its own package (#506).
Full changelog: https://github.com/remcostoeten/skriuw/compare/v2-v0.48.0...v2-v0.49.0