v1.8.6
Skrive 1.8.6 adds nothing. That is the point.
Twenty-four fixes, no new features. This release is the end of a long audit of the editor — every gesture, every seam, every place the app quietly did the wrong thing and hoped you would not notice. Most of what follows you will experience as an absence: things that used to catch, no longer catching.
Selecting text works
Dragging a selection across two paragraphs used to collapse it the instant you let go. Selecting two paragraphs to copy them was, in plain terms, impossible — the highlight vanished on release. It survives now, whether you finish the drag in another block, out in the margin, or below the last line.
The window can also be dragged by its top bar again on macOS. It could not be moved at all.
Your place in the document is kept
Undo now behaves the way you expect: one keystroke of typing is not one undo step, a gesture undoes as a gesture, and your history survives switching between tabs instead of being thrown away.
Switching a Markdown file between source, split, and preview keeps your caret on the same sentence and your scroll where you left it. Before, the pane came up unfocused at the top of the file and your typing went nowhere until you clicked.
Shift+Enter inserts a line break instead of splitting the block. Bold and italic can be armed before you type rather than only applied after. ⌘K opens a link on the selection.
Lists, tables, code, quotes
A numbered list keeps its starting number when you split it. Toggling a list off with only some items selected no longer takes the whole list with it. Arrow keys inside a table or a code block move by word with Alt, extend a selection with Shift, and jump to the document's edge with ⌘ — instead of being swallowed. Links work inside table cells. Tab indents inside a list or a quote rather than throwing focus out of the editor.
Enter behaves the same inside a blockquote or a list item as it does anywhere else: it deletes the text you had selected, it keeps a heading a heading, and pressing it on a blank line in the middle of a quote splits the quote where you are, rather than dropping you below the whole thing.
Pasting
Paste from Word, Google Docs, Notion, or VS Code and the result is the document you copied, not its debris — no orphaned list markers, no paragraphs fused into one, no code block flattened into prose. Paste-as-plain-text is now genuinely literal: a blank line is a paragraph break and a single newline is a line break, every time.
Skrive now refuses to follow javascript:, data:, and file: links found in pasted content or in a document's rendered preview. Previously, a document could carry a link that ran code when clicked. If you open documents you did not write, this one matters.
Your files stay your files
Files with Windows line endings survive a round trip intact. Tables with a ragged row keep the cells that used to be silently dropped. The rules by which Skrive writes Markdown back to disk are now written down and enforced by tests, so a file you open and close is the file you had.
Under the hood
Both desktop builds now compile the same way, and correctly. The macOS build had been shipping an unoptimized core; the Windows build had been shipping one with its runtime safety checks switched off. Neither was intentional, and the two were opposites. Both now build optimized with every check retained — so on Windows, a bug that would once have quietly corrupted memory instead stops and says so.
Skrive is a writing app. Rendered writing, plain files you own, no AI. Nothing you write here leaves your machine.