Verso·Nought·Skein·Lede

34 releases

What’s new

Everything that has shipped, with the fixes listed beside the features. A release note that only lists wins is an advertisement.

Skein 1.1.33

Large vaults open much faster, and your PDFs and Office files show up in the sidebar.

Added

  • PDF, Word and PowerPoint files in your vault appear in the sidebar and preview right in Skein.
  • Nested properties in a note's front matter show as rows like author.name that you can edit, where they used to be read-only.
  • Keyboard shortcuts work on Russian, Greek and other non-Latin keyboard layouts, with an option in Settings to use QWERTY key positions.

Fixed

  • Large vaults open much faster: building the search index and reading links no longer slow down as the vault grows.
  • Skein keeps a single main window, which also fixes a rare case where text typed in a second copy of the window could be lost.
  • Reading mode uses the same font and size as the editor.
  • Highlights around bold text, the cursor height on a new empty line, and line breaks lost when a note went through Verso. Format > Task is now Command-L.

Skein 1.1.32

Tables keep their shape, large notes open faster, and changes show immediately.

Added

  • Tables written with Windows line endings stay tables when they open, while the line endings in your notes remain exactly as they are.
  • Tables now use the same table view in Skein and Lede, and two similar tables no longer draw over one another.
  • Large notes open and respond faster while you type.
  • Changing a folder's icon or colour updates immediately, without restarting.

Skein 1.1.31

Reported fix

The window gives you a line back, and Format can take formatting off again.

Added

  • The traffic lights and every control now share one row instead of two. The window spent 83 points on chrome where a Mac window spends about 50: the lights had a line to themselves and the sidebar toggle, the back and forward arrows and the panel switches had another underneath. They are one row now, at the height macOS puts the lights at, and the 50 points that saves is document on every screen and in every window. Asked for by a reader, who put it better than the changelog can: move the traffic lights to the start of the next line and save a whole line of space.
  • Clear Formatting, in the Format menu, under the marks it removes. It takes the bold, the italics, the highlight and the block prefix off a selection and leaves the words - and there are three things it deliberately will not do. A mark is only cleared if the whole mark is selected, because taking the closing asterisks and leaving the opening ones writes a file that means something other than what is on screen. A list bullet only goes if the whole line is selected, so three words picked out of a list item keep their bullet. And links are left alone: a URL is content rather than formatting, and clearing a link down to its words would delete the only copy of that address in your file. One Command-Z puts all of it back, not six. Asked for by a reader.
  • The status bar names the block your cursor is in, so a heading tells you which level it is. The editor hides the # markers, which is the point of it, and it used to take the only sign of the level away with them. Ordinary paragraphs say nothing, because a status line reading "Paragraph" most of the time is noise.

Fixed

  • The command palette and the quick switcher take the keyboard the moment they open. Opening either from the icon rail with the mouse left the field unfocused, so you had to click into a box that had just appeared before you could type. Opening them from the keyboard was always fine, which is why this was easy to miss: the click was still being processed when the field asked for focus, and the window handed focus back a moment later. Reported by Tomasz.

Skein 1.1.30

Reported fix

Underline with Command-U, and the highlight, tag and code boxes are finally one shape.

Added

  • Underline, on Command-U. It is written as <u>text</u> rather than as __text__ or ~text~, and refusing those two is the feature rather than a shortcut. __text__ is bold in CommonMark and ~text~ is subscript in Pandoc, so a note underlined either of those ways opens in Obsidian, GitHub, Bear or Pandoc meaning something other than what you wrote. The angle-bracket form is the one spelling that survives all of them, and it round-trips through Verso, which has a real underline button. Reading mode used to show inline HTML as literal angle brackets, so this also needed fixing before the shortcut could be worth having. Asked for by a reader.

Fixed

  • Highlights, tag pills and inline code are one shape. Three surfaces each drew their own box, at three different opacities, hugging the letters exactly and taking their height from the line rather than from the text, so the more air you gave a paragraph the further the box drifted off the words inside it. They share one padded, rounded box now, centred on the text itself, and a highlight that wraps is one box per line rather than one long smear across the paragraph. Reported with a screenshot of Skein set beside Bear.
  • A markdown table pasted from a browser, from Word, or from anything that has been through Windows is a table again. Copied text arrives with carriage returns in it, and the row of dashes under the header stopped counting as a header row because of the invisible character on the end of it. The table still rendered, which is what made this hard to report: it looked right, and then Tab, Return and the column alignment quietly did nothing. Line endings are corrected as the paste arrives now, so nothing further in has to know about them. Reported by a reader.

Skein 1.1.29

Reported fix

Settings is nine panes in a sidebar instead of three crowded tabs, and a theme now reaches every window at once.

Added

  • Settings has been rebuilt. Three tabs had grown to hold everything Skein can be told, which meant the things people actually look for - the daily-note format, how many versions of a note are kept, where a vault lives - were buried in a scroll rather than named. Nine panes in a sidebar now, each one a subject, and the first is called General, as it is in every other Mac app. Reported by someone who could not find a feature of his own app.

Fixed

  • A theme takes effect everywhere the moment you pick it. Choosing one from the vault launcher used to leave the launcher itself, and the Settings window, drawn in the old colours until they were closed and reopened - two windows disagreeing with each other about what you had just chosen.

Skein 1.1.28

Every panel opens and closes the same way, and the graph stops moving once it's shut.

Fixed

  • The sidebar, the local graph and the inspector each opened and closed on a different animation, and the same panel could move two different ways depending on whether you closed it from its own button or from the toolbar, the menu, the shortcut or the command palette. One panel, one action, used to mean two motions, chosen by where your pointer happened to be. All four routes now move on the same curve, so opening and closing feel like one gesture wherever you trigger it from - and turning on Reduce Motion now stops all three panels rather than two of them.
  • The local graph kept quietly animating even while its panel was closed, the same ambient float that makes it look alive when you can see it, running behind a closed door. On a note with links that was costing about a quarter of a core for the rest of the session, which is also most of why Skein felt smooth right after opening and sluggish a while later. It only moves now while you can actually see it.

Skein 1.1.27

Properties become a form, Shortcuts can search, and a note renamed in the Finder keeps everything.

Added

  • Properties are a form rather than a list of text fields. Checkboxes toggle, a date and a timestamp each get a picker, and typing a key offers the values the rest of your vault already uses - so a status stays "reading" instead of drifting into "Reading" and "read" across a hundred notes. A YAML button shows the raw block whenever you would rather type it, and what you type is what stays on disk: editing a property afterwards does not reformat the rest of the block, which is the difference between a form over your file and a form that owns it. Anything Skein cannot honestly show as a field, like a nested mapping, is now shown read-only - it used to be drawn as an empty box, and one keystroke in that box deleted everything underneath the key.
  • Shortcuts can search your vault, which was the one action missing. A search hands back the notes themselves rather than a list of names, so a shortcut can take the first result and read it, open it, or pass it on. All four actions now appear in the Shortcuts gallery instead of only turning up if you searched the editor by app name.
  • Back and forward belong to each pane rather than to the window, so going back in a split moves the side you are reading and not the other one. And the links are reachable without the mouse for the first time: Command-Return opens the link under the cursor, and Option-Command-Up and Down walk the notes this one links to and the notes that link to it.
  • Copy a link to any block, from the block. Skein has been able to read [[Note#^a-name]] since 1.1.23 and had no way to produce one. The name comes from the words in the block rather than six random characters, so the link still means something when you meet it in a year.
  • Rename or move a note in the Finder and Skein follows it. Its version history, its canvas cards, its tab, its place in your back button and the note you were reading all come with it, instead of the note vanishing and a stranger appearing. It offers to update the links rather than rewriting your files unasked, because a rename made in another app is not permission to edit twenty notes you never opened.

Fixed

  • Version history kept a tidied copy rather than what was on disk: frontmatter keys re-sorted, comments deleted, block lists flattened. Restoring a version would have written that tidied copy back over the good file - in the one place you go when something has already gone wrong.
  • Bold or italic applied to a whole line inside a quote or a heading swallowed the marker, breaking the block and leaving the asterisks on screen as text. Recovered from a note where it had already happened.
  • Back could offer a note you had deleted, opening an empty screen, or a note under the name it had before you renamed it, opening nothing at all.
  • Under the Default theme the title bar was the system's white while the rest of the window was Skein's grey.
  • File and link cards on a canvas shape were laid out in the card's rectangle and then clipped by the shape, so an ellipse cut a title off mid-letter and a link card on a diamond could disappear entirely.
  • The Open Vault panel has a New Folder button, so making a folder for a new vault no longer means a trip to the Finder and back, and there is a New Vault command in the File menu for when one is already open.
  • A property value with a comma in it, like a name written surname first, was split into a list of two - and a quoted list item containing a comma was torn in half and written back to the file that way.
  • The properties card appears on a note that has no properties yet, so the button for adding the first one is reachable without typing YAML by hand.

Skein 1.1.26

Reported fix

Opening a vault works again.

Added

  • A file dropped on a canvas is a card rather than a path. Its own name, an icon for what kind of thing it is, and a double-click opens it in whatever your Mac opens it with. A picture is still copied into the vault so a board stays portable; a document is not, because a draft you are editing in another app should not be silently forked into your notes.

Fixed

  • The vault picker could not be used. It opened, it looked right, you could even highlight a folder, and pressing Open did nothing. A sandboxed app does not own its file dialog: the panel is drawn by a system service and shows up in the app's own window list as an ordinary window, so Skein mistook it for its editor and moved and resized it to the frame it remembered. The service went on drawing the panel where it had put it. It only happened from the launcher, which is why it looked like a broken button rather than a broken window.
  • Opening a vault closed the welcome screen without showing the editor, so the app was there with nothing on screen and you had to click its Dock icon to find it.
  • In reading mode a paragraph containing a link could be drawn on top of the paragraphs beneath it, sometimes. Only paragraphs with links, because only those are drawn by AppKit rather than SwiftUI, and the measurement that decided how tall one should be was changing the very thing it was measuring.
  • The disclosure triangles in the sidebar sat above the middle of their rows.

Skein 1.1.25

Reported fix

A third theme, an inbox for new notes, and a door on the mode that changes everything.

Added

  • True White. A clean light theme alongside Paper and True Black, for anyone who found Paper's warmth too warm.
  • An inbox folder, opt-in and empty until you set it. New notes still go where you are; the inbox is for the person who captures into one folder all day and had to navigate there first. A note can now be moved from the keyboard rather than by dragging it.
  • Frontmatter properties can be added and removed, not only edited.
  • Open a note in the editor of your choice. Open in Default App has been in the sidebar's menu since the first release and quietly failed anyone who made Skein the default app for .md files: it handed the note back to the app it was already open in. The editor is a setting now, so owning .md in Finder and keeping a code editor for the occasional raw edit are no longer the same question.
  • View > Show Markdown Syntax, Option-Command-E. Whether the editor leaves the marks on screen changes how every line looks, and it lived in a Settings checkbox with no menu item, no shortcut and nothing on screen saying which way it was set. An editor that renders bold and shows the asterisks reads as a broken renderer rather than as a mode.
  • Line spacing. Settings > Editor > Type offers Compact, Normal and Comfortable. Named steps rather than a slider, and Normal reproduces 1.1.24 to the point, so nobody who never opens Settings finds their notes reflowed.
  • The quick capture shortcut can be remapped, and its default has moved. Option-Command-Space is Apple's own Finder search on a stock Mac, so Skein's capture key had probably never fired for anyone who left it alone - and a shipped feature that does nothing is worse than a missing one, because nobody reports it. It is Control-Option-Command-Space now, and Skein warns you when a combination you pick belongs to macOS.

Fixed

  • A crash on launch.
  • Choosing a vault could make Skein vanish behind every other window, reachable only from its Dock icon, and every later launch into that vault went through the same windowless instant. One report with two clauses turned out to be two faults on one path: the launcher was hidden before the editor was raised, and an app owning no visible window is an app macOS deactivates.
  • PDF export could not work at all in the App Store build.
  • Escape and the arrow keys in the palette. Escape stopped closing it once anything else took focus, it did nothing for a beat after opening, and the arrows would not move through the results until you had typed. Three symptoms, one cause.
  • The title bar could stay dark over a light window after changing Appearance. Two different things were painting it and the winner was whichever wrote last.
  • Reading mode drew any paragraph containing a link in the editor's typeface instead of its own, so a paragraph changed the moment somebody put a link in it.
  • A folder holding your images could show up in the sidebar when its name was capitalised differently from the setting that names it.

Skein 1.1.24

Reported fix

Shapes on the canvas, and a sidebar that answers for itself.

Added

  • Shapes. A canvas card can be a rectangle, a pill, an ellipse, a diamond or a cylinder - same cards, different outline, picked from the card's own toolbar. Arrows meet the shape's edge rather than floating beside it, and a card you reshape grows around its centre instead of clipping what you wrote. The shape is stored in the same key Obsidian's canvas plugins already use, so a board opened there renders correctly with the plugin and falls back to rectangles without it - and a board you never reshape is byte-for-byte untouched.

Fixed

  • Sidebar rows could keep a grey wash after the pointer left them - fixed once before, and that fix was not the whole story. The wash was remembered by the row and could be stranded there; now nothing remembers it, the sidebar asks where the pointer actually is every time anything changes, including while scrolling.
  • The selected note's highlight was drawn inside the row's indentation, so a nested note's highlight started where its text started and hugged it like a tag. It now runs the full width of the sidebar, the shape every Mac sidebar uses.
  • Theme sat under Editor while a setting called Appearance sat under General, and finding Paper meant knowing which of the two to open. There is one Appearance section now, on General, holding light/dark and the theme together.
  • Code blocks and query blocks in the editor were drawn as a grey strip per line - ragged edges, gaps between lines, a stub under the closing fence. Each block now sits in one rounded box.
  • Typing into a note the moment a large vault was still opening could lose that edit: the background read could put back the older version of the note it had seen. Found by a test under load, traced to macOS caching a file's modification date, and the kind of bug that is invisible until it eats a sentence you cared about.
  • Cmd+S made the error sound. It saves now - silently, since autosave means there is usually nothing left to do.
  • The tag button on the ribbon opens the panel; a second press now closes it, the way the graph button always did.
  • One icon in the inspector did not exist on macOS 14.0 to 14.2, so the card for creating a missing note had an empty gap where its icon belonged. Every icon Skein names is now checked against the oldest macOS it supports, on every build.

Skein 1.1.23

Reported fix

Everything the launch thread found, and a few things it did not.

Added

  • Make your own theme. Seven things to set - window, page, text, quiet text, dividers and two accents - with the contrast measured and shown as you change them, so you find out a colour is unreadable before you live in it. The second accent follows the first unless you unlink it.
  • Typography that knows your typeface. Old-style figures, tabular figures, high legibility, a single-storey a: only the ones the face you have chosen actually has, so there is never a switch that does nothing.
  • PDFs in a note. Write ![[paper.pdf]] and read it where you are, select text to highlight it, and jump to a page with #page=3. Your highlights are kept in a small readable file beside the PDF, and the PDF itself is never rewritten. Export a copy with the marks burned in when you need to send one.
  • Block references. Put a name at the end of a line, like ^the-cost, and link to that exact line from anywhere with [[Note#^the-cost]]. Embed it with an exclamation mark and the line itself appears. Names are yours to choose rather than generated, they have to be unique, and Skein tells you where the clash is.
  • Links to files outside your vault, using ordinary Markdown. Skein asks once for the folder and remembers.
  • Folders reached by an alias or a symlink now appear in the sidebar and their notes are yours to open, so a vault does not have to be one self-contained folder.
  • Totals under a query table. Add a summary line and get a sum, an average, a count or a high and low under the column.
  • Edit a property straight from a query table, without opening the note.
  • Quick Look. Press space on a note in Finder and read it rendered.

Fixed

  • Opening a vault and then changing a property could rewrite the note's frontmatter. Comments were deleted, tag lists written across several lines were flattened onto one, indented blocks were dropped and a version written as 123.0 came back as 123. Skein keeps the exact text of a frontmatter block precisely so it can put back everything except the line you changed, and the loader that runs when a vault opens was throwing that text away. Nobody reported this one; it was found by a test the day before this build.
  • Pointing Skein at a folder that is not purely Markdown could make it slow to open. It was walking inside things macOS presents as single files, like a Photos library or an app, which can be hundreds of thousands of files, and doing it twice. It does not any more, and a package no longer appears in the sidebar as a folder that opens to nothing.
  • Renaming a note with its vault on iCloud Drive could leave links pointing at the old name. A note iCloud had removed from your Mac to save space could not be read, so it was quietly skipped. Skein now asks iCloud what it has before it starts, fetches what it needs, and tells you if anything is still on its way.
  • Two different settings were both called Theme, one in General and one in Editor. The one in General is called Appearance now, which is what its own description already called it.
  • Sidebar rows kept a grey wash after the pointer had left them, so a vault filled up with rows that looked selected and were not.
  • The selected row in the sidebar used the system's accent colour rather than Skein's own, and was the hardest of the three themes to read on.
  • Quiet text in the sidebar was too pale to read comfortably in the light theme. This was raised as the sidebar being too dark; it was measured, and the problem was the opposite one in the opposite theme.
  • A folder you set as the attachments folder was hidden from the sidebar with nothing said. There is a setting for it now, off by default, and it no longer flickers into the tree after you make or rename a folder.
  • Making a second new note in a folder that already had an Untitled was an error. It is Untitled 2 now.
  • Version history survives moving from the direct download to the App Store version. The two store your notes' history in different places, and the App Store version now finds and brings across what the direct one left behind.

Skein 1.1.22

Close the main window and you can get it back from the menu.

Fixed

  • Closing Skein's main window left no way to reopen it from the menu bar. Clicking the Dock icon always worked, which is why this took so long to notice, but if you had closed the window and gone looking through the menus there was nothing there. There is now a Skein item in the Window menu, and Cmd+0, which brings back the window you had rather than making a second one.

Skein 1.1.21

Reported fix

The sidebar answers the pointer, and folders select on the first click.

Fixed

  • Clicking a folder in the sidebar did nothing on the first click and worked on the second - always the second, never the first, once you had clicked a note first. Two parts of Skein each believed they decided what was selected, and a moment after the folder took the click the other one quietly put your previous note back.
  • Text could be lost. After typing in a note, clicking a different note and clicking straight back could bring the note back as it was before you typed, with no conflict copy and no error. It came from the same disagreement: the selection flipped away and back within a single moment, the editor was rebuilt for the same note, and the rebuilt one loaded the version on disk while the copy going out cleared the only record of what you had written. Unsaved text is now handed to the copy that replaces it, so even if something else ever causes that rebuild, nothing is lost. Anyone who has been using Skein since June may have met this; if a note ever came back short, its earlier text is in its Version History.
  • Clicking a note straight after typing in another one left the previous note's title drawn white until you let go of the mouse.
  • Sidebar rows now highlight when you point at them. They never did, on the surface you use most, directly under a titlebar where every button lights up.
  • The whole row answers the mouse now, not just the width of the title. Clicking to the right of a short note name used to do nothing at all, and right-clicking there offered no menu.
  • The text on a selected row is measured against the colour behind it for the first time. On True Black it was white on a pale blue, at less than half the contrast the readability standard asks for, and on the default theme it was under the line too.
  • Clicking the Dock icon while the welcome screen was up brought forward an empty, blank window - the editor, which is deliberately hidden while you have no vault open. It brings forward what you are actually looking at now.
  • The welcome window could take the editor's window settings for itself, which left the editor's size and position quietly no longer being remembered for the rest of the session.
  • Opening a note stored in iCloud could freeze Skein for as long as the download took, because the file was read on the same thread that draws the window. It now downloads in the background and says that is what it is doing.
  • Help > Save Diagnostics now reports whether Skein has stopped responding during this session and for how long, and whether more than one main window has existed. Both are there for a report we have not been able to reproduce, and neither names a note, a folder or a path.

Skein 1.1.20

Opening Skein stops rebuilding everything it already had.

Fixed

  • Skein filed every note into its search index again every single time it started. The index itself has always been kept between launches; the part that knew what was already in it was not, so every open began by assuming it had nothing. On a vault of 5,500 notes that was four and a half seconds of work done from scratch on every launch, and it is now a third of a second, because a launch looks only at what changed while you were away. It never blocked the window, so there was nothing to report and nobody did: it was found by reading.
  • Double-clicking the Dock icon while Skein was minimised opened a second window instead of bringing back the one in the Dock. Both windows then answered each other's clicks, because there is only one vault behind them. A window is now found whether it is on screen, behind something else, or in the Dock, and Settings is never mistaken for it. A window in the Dock is not the same as no window, which is what the previous version of this assumed.

Skein 1.1.19

Filing a note stops making you wait, and the search counts what you will actually find.

Fixed

  • Renaming a note, moving one, making or deleting a folder, renaming a tag and opening today's journal entry each re-read every file in your vault before they would let you carry on. On a 5,500-note vault that was well over a second of nothing happening, every time. Making a folder is twenty times quicker now, opening the journal seventeen times, deleting a folder twelve times. Renaming and moving are a third quicker, and what remains of their cost is one job that is next on the list rather than six.
  • The number beside a search result counted words inside other words: searching for art credited every start, heart and part, so a note could claim forty-seven matches over another note's honest three, and the highlighting lit up syllables in the middle of words to match. A match has to begin a word now, which is what the search itself matched on.
  • That number also counted the note's title, while the line-by-line view underneath counted only the body, so one note could say 3 in one place and 2 in the other. It counts the body now, which is what you will find when you open it, and a note found by its title says so instead of showing a number.
  • Clicking a line in All matches could land the cursor on the wrong occurrence in a note containing an image, because the list counted the words inside the image's own markdown while the editor showed a picture there.
  • A tag with a space in it could not be searched for at all: tag:"book club" matched nothing while the tag card went on saying the notes were there.
  • Half-typing an OR search briefly searched for the word OR, so the results flickered to notes containing order or organic on the way to what you meant.
  • Editing a note on another Mac left this one showing the old text for as long as that note stayed on screen, and then filed your next keystroke as a sync conflict. A note you have not typed in now takes the new text; a note with unsaved work in it still holds its ground, which is what the conflict copies are for.
  • Moving, renaming or deleting a note within a second of typing in it could write the file back at its old name: two copies with different text, or a deleted note returning in a state where undo would refuse to restore it. Nothing was reported; it was found by reading.

Skein 1.1.18

Reported fix

The canvas gets its tools back, and stops doing the vault's work on every move.

Fixed

  • A canvas could open as a blank board with none of its controls - no add bar along the bottom, no zoom and undo rail in the corner, nothing to create a card or navigate with. The board is now drawn from the file before the first frame, so the controls cannot arrive late or fail to arrive at all.
  • Arranging a board lagged. Moving, resizing, recolouring, connecting or grouping a card each re-read every file in your vault from disk, rebuilt the sidebar and re-parsed the board - work that saving a note has never done and that a board has no reason to do either. On a large vault that was the pause you felt between letting go of a card and the board catching up.
  • The inspector could report that a note had no unlinked mentions when it had some, and keep saying so until something else in the vault changed. It now waits for the index to catch up with the notes rather than answering from a stale one.
  • The / menu and the [[ list could open in the corner of the window instead of next to what you were typing - sometimes, which is worse than always. They are now measured against the caret itself, so they land beside it every time, and sit the same distance under a heading as under a paragraph.
  • Clicking Skein's Dock icon while it was already open made a second window that mirrored the first: clicking a note in one moved the other, because there is one vault behind both. It brings the window you have to the front instead.

Skein 1.1.17

Reported fix

Three themes, a serif, and a coat of quiet.

Added

  • Themes, curated rather than configurable: Default follows your Mac's light and dark exactly as before, Paper is a deliberate warm light - cream, ink, a clay accent - and True Black is a deliberate OLED dark. One picker in Settings, applies live, no gallery and no sliders.
  • An editor face choice to match: the system sans as always, or a proper serif, carried through headings, bold and italic while code stays mono. Headings also breathe now - more air above than below, scaled to their level.
  • Inline #tags render as quiet tinted chips in the theme's accent, so the eye files them as metadata rather than prose.
  • The search's "All matches, line by line" is a pinned bar under the results - same place at every result count, carrying the count - instead of a row that travelled with the scroll.
  • Panels move on soft springs now, and the empty states found their voice: an empty vault, an empty search and an empty graph each say one warm sentence instead of a shrug.
  • Clicking a tag now shows you the notes that carry it - from the inspector card, from a #tag in the editor, or from one in reading mode. The count on the card and the list you get are the same answer.
  • Deleting a note can be undone: a banner offers it back, and Edit > Undo Delete keeps working after the banner has gone.
  • The Outline tab navigates. Click a heading and the editor scrolls to it.
  • Paste a screenshot or a copied file straight into a note and it files itself into your attachments folder, exactly as dragging it in always has.

Fixed

  • The sidebar's edge was nearly impossible to grab for resizing: the invisible grab area sat entirely inside the sidebar, under the scrollbar's hot zone. It now straddles the divider and shows the resize cursor the moment you're over it.
  • Turning the properties card off in Settings hid it in the editor but not in reading mode. The toggle means both now.
  • Renaming a tag could delete text. In a note with properties at the top and a --- divider in the body, the section between them was removed. Nothing was reported; it was found by reading. If you have renamed a tag, the previous text of every affected note is in its Version History.
  • Search could return notes that are no longer in your vault - duplicates under an old title that opened an empty page. The index kept rows for notes deleted, renamed or moved while Skein was closed; it reconciles itself now, and a result that cannot be opened is never offered.
  • Opening a second vault searched the first one, and left its tabs and history behind.
  • Clicking a search match inside the note already on screen did nothing at all - no highlight, no scroll. Reading mode now steps into the editor when you open a result, so you always land on the match.
  • The sidebar slid over the icon rail when it closed, and the wikilink and slash menus could be drawn underneath the inspector.
  • Pressing Return at the start of a list line added a second bullet instead of pushing the line down.
  • Bold, italic and the formatting bar deleted an inline image from the note if the selection contained one.
  • Web links in reading mode did nothing when clicked.
  • Cmd+E to reading and back returned you to the top of the note instead of where you were.
  • Quitting within the autosave window could lose the last few keystrokes.
  • Two notes with the same name in different folders collapsed into one Spotlight result that opened the other one.

Skein 1.1.16

Reported fix

One search. It finds the line, not just the note.

Added

  • There is one search now. The magnifier (or Cmd+O, or Ctrl+F) opens it: note titles appear instantly as you type, and a ranked full-text section fills in right beneath - snippets with your words in bold, honest match counts, quoted phrases, -exclusion, OR, and tag: and path: filters. The second magnifier and the sidebar search pane are gone, because two searches that look alike answer no question two ways.
  • Cmd+Return - or the right arrow on any text result - expands into all matches: every occurrence of your words, grouped per note with a line of context each, per-note counts and a vault-wide total, ranked by relevance. Clicking a line opens the note with the caret on that exact occurrence - not the top of the note, not the first match, that one.
  • Opening any text result lands on the match: every occurrence highlighted, the first (or the one you clicked) selected and scrolled to, Cmd+G stepping between them. The highlight clears the moment you type and never touches the file.
  • In-note find: Cmd+F opens the native find bar in editing and reading modes, with Cmd+G, Shift+Cmd+G and Cmd+E doing what they do everywhere on the Mac.
  • Click the magnifier and type - the field is focused, no second click. The same is true of the command palette.
  • The properties card at the top of a note can be turned off in Settings, and it starts off. The frontmatter stays in the file either way.

Fixed

  • The selected note in the sidebar kept a pale, hard-to-read highlight when the sidebar was not focused. Selection is one look now, focused or not.
  • The status bar claimed "index current" at all times. It now says "indexing…" only while the indexes are actually rebuilding, and says nothing otherwise.

Skein 1.1.14

The click tax is gone.

Fixed

  • Clicking a note with the inspector open paid a third of a second of whole-vault scanning before the note felt open, every first look. Unlinked mentions now come from the search index, computed in the background; the panel fills in a beat later and the click never waits.
  • The menu bar was walking the entire vault twice per menu refresh to decide whether the journal arrows should be enabled, and menu refreshes happen while you type. It reads a cached answer now.
  • Query blocks re-ran their query over every note each time anything changed. Cached until the vault actually changes.
  • Two canvas note pickers and the split pane's note list each re-sorted the whole vault every time they opened. They read the shared sorted list now.
  • The editor was copying the full list of note titles on every keystroke to feed autocompletion. Cached.

Skein 1.1.13

The vault appears the moment you open it, and typing stops stuttering.

Added

  • Opening a vault draws every folder and note title immediately, from the file names alone, while the notes themselves load behind the visible sidebar. Clicking any note opens it at once, whatever the vault size.
  • The whole vault is read across four lanes instead of one file at a time, so the load behind that first paint finishes in a fraction of the old time.

Fixed

  • Typing a hyphen under a sentence no longer turns the sentence into a heading in front of you. That line of dashes is heading syntax, and it still is once you move off the line; it just does not fire while you are one keystroke into a list.
  • Creating a note took a couple of seconds, and so did deleting one. Each was re-reading the entire vault to learn about one file. Both are instant now.
  • Intermittent lag while typing in an iCloud vault. iCloud touches files after Skein saves them, and every touch was being treated as an outside edit, re-sorting and re-indexing thousands of notes in the middle of your typing. A touch that changed nothing costs nothing now.
  • The same iCloud touch could make Skein write a conflict copy of a note you were editing, claiming another app had changed it when nothing had. Found by the test written for the lag fix, before anyone hit it.
  • The background index rebuild runs off the main thread, so it never interrupts the keyboard.

Skein 1.1.12

Typing in a note with a picture in it was destroying the picture. Also: typing is eight times cheaper.

Added

  • The slash menu finds things by what you call them, not only by their own name. Typing filter, vault, search or dataview finds the query block. Typing todo or checkbox finds a task, hr or separator finds a divider, glossary finds a definition list.
  • The slash menu shows the Markdown each command will write, changing as you move through the list, so it teaches you the syntax rather than making you depend on the menu. It also scrolls and says how many commands there are, instead of silently showing the first eight of thirty-six.
  • New in the slash menu: query blocks, images, footnotes, definition lists, bold, italic, highlight, strikethrough, and tomorrow's and yesterday's dates. Several of these were things Skein could already do and nothing in the app mentioned.
  • The link menu says what else you can type: # to link to a heading, | to change the display text. It also offers more matches than it used to.
  • Settings > Editing has a switch for the bottom formatting bar, which could previously only be turned on from the View menu.

Fixed

  • A note with a picture in it lost that picture the moment you typed anything. Skein shows an image inline while you edit and keeps the Markdown that stands behind it alongside, and the styling pass that runs on every keystroke was throwing that Markdown away, so the next save wrote an invisible placeholder character to the file instead of ![](your-picture.png). There was no undo after a quit. If you have edited a note with an image in it since 12 August, check it. Applying a heading, a list or a quote to such a note did the same thing, and so did editing a table in it.
  • Typing lag. The whole note was being reparsed and restyled on every single keystroke, so the longer the note the worse it got. Skein now works out how much of the document your edit can actually have changed the meaning of, which is almost always one paragraph. Measured on the same note: 8.8ms per keystroke down to 1.05ms. There is now a test that fails the build if a keystroke ever gets that expensive again.
  • The text cursor. It started as a small tick in an empty note, changed size when you pressed space, and sat above the line it belonged to. It is now the height of the letters on the line it is on, in the same place, whatever you just did.
  • The cursor jumped to the line above after using a slash command, then jumped back when you typed. A heading with nothing after it yet had every character on its line hidden, which left the line with nothing to draw a cursor in. An empty heading now shows its hash until you write something.
  • The Table command in the slash menu produced a table with no columns in it. Bold, Italic, Highlight, Strikethrough, Image, Footnote, Definition List and Query Block all left the cursor outside what they had just written, so typing went to the wrong place.
  • Slash commands could rewrite the wrong part of a note. If the text below your cursor contained a date like 2026/08/13, a URL, or a nested tag like #work/admin, the command could edit THAT instead and leave the slash you typed where it was. The same fault affected completing a [[link]].
  • The pointer over the slash and link menus was sometimes an arrow and sometimes a text cursor, depending on which way you came at it.
  • Menus opened near the bottom of the window were drawn off the screen and ended up behind the Dock, which looked like the menu simply vanishing. They now open upwards when there is no room below.
  • Reading mode's page is white again, on a grey desk, rather than the other way round.
  • Switching between tabs no longer reparses a note Skein has already read.

Skein 1.1.10

One Markdown engine behind the editor, reading mode and export - and a frontmatter bug that was deleting tags.

Added

  • Syntax highlighting in fenced code blocks, in the editor, the reader and the export, for fourteen languages. A language Skein does not know gets plain monospace rather than a guess.
  • Definition lists - a term, then lines starting with a colon. Pandoc and Zettlr's syntax. Obsidian has had the request open since 2020.
  • Numbered lists renumber themselves when you insert an item in the middle. A list you deliberately wrote as 1. 1. 1. is left exactly as typed, because that is a style and not a mistake.
  • Tab and Shift-Tab nest and un-nest a list item, at the right depth for its parent's marker. Backspace just after a marker un-nests, then removes the marker.
  • Import from Ulysses, Bear, Craft and iA Writer: File > Import Markdown Folder. It converts each app's own syntax - inline footnotes, annotations, highlights - and leaves ordinary Markdown alone, including anything inside code.
  • The editor finally styles code fences, blockquotes, callouts, task boxes and tables, all of which it used to show as plain punctuation.
  • Skein now passes 647 of CommonMark's 650 conformance examples and 666 of GitHub Flavored Markdown's 672. The full table, and every failure explained, is at skeinnotes.app/blog/the-markdown-score.

Fixed

  • Frontmatter written the Obsidian way was being destroyed on save. A note whose tags or aliases are a list on their own lines - the form Obsidian writes by default - lost them the first time Skein saved it, with no undo after a quit. The same bug also kept those tags out of the tag pane entirely, so they were invisible before they were gone. Skein now writes back the exact block it read, changing only the lines you actually edited: comments, key order, nesting and blank lines all survive untouched.
  • The editor, reading mode and the export used to read Markdown three different ways, and they disagreed. A heading indented by up to three spaces was a heading in two of them and body text in the third. Text wrapped in three asterisks was words in one and a horizontal rule in the other two, which meant the words vanished from what you saw. All three now run one parser, and there is a test that puts the same note through all three and compares them.
  • Nested lists stay nested. Both the reader and the export used to flatten every level to one.
  • Lists inside blockquotes render. So do setext headings, hard line breaks, reference links and backslash escapes.
  • Underscore emphasis from iA Writer, Bear, Ulysses and Craft now renders as italics - without italicising snake_case_name or a filename, which is the reason a naive fix is worse than the bug.
  • Four-space indented code stays code. Pasted from Stack Overflow, its *args and __init__ used to come out emphasised and its links turned into links.

Skein 1.1.9

Big folders open instantly, and search shows you what it found.

Added

  • A Format menu, with keyboard shortcuts on everything in it: headings, bullet and numbered lists, tasks, quotes, code blocks and tables. Bold and italic had no shortcut at all before this; they now have the usual Cmd-B and Cmd-I. Two people had told us they could not work out how to make a list, and they were right that nothing in the app said so.
  • An optional formatting bar along the bottom of the editor, off by default, under View or Option-Cmd-F. Its buttons light up to show what the line your cursor is on already is.
  • Search results now show which folder a note is in and when you last edited it, with the letters you typed picked out in the title. In a vault where four hundred notes are called something Birthday, that is what tells them apart.
  • The graph and the inspector can be open at the same time. They were mutually exclusive for no reason the layout required.
  • Quick switcher results can be ordered by best match, most recently edited, or title.

Fixed

  • Opening a folder with a few thousand notes in it took three to four seconds. The sidebar was building a view for every note in the folder, whether or not you could see it; it now builds only the rows on screen and reuses them as you scroll, so a folder of three notes and a folder of three thousand cost the same.
  • The quick switcher was showing a list that never updated. Searching worked perfectly and then handed its results to a list that had frozen on whatever it drew first, so you would type a word and see notes that had nothing to do with it.
  • Search ranking rebuilt. A note that actually contains what you typed now always beats one that merely spells it out across other words, and among notes that match equally well, the one you edited most recently comes first.
  • Skein no longer opens at the small welcome-window size. The check meant to catch this had been measuring against a width the window can never actually have.
  • Clicking the plus button now makes the note in the folder you are in, rather than at the top of the vault, and the menu says which folder that will be.
  • New notes and notes opened from a menu now get their own tab instead of replacing the one you were reading.
  • Choosing a heading from the slash menu made a hashtag instead. The text inserted was right; the cursor was left sitting between the hash and the space, so the first letter you typed closed the gap and turned it into a tag. Headings, lists, tasks and quotes now all leave the cursor where you can type, from every menu.
  • Choosing a block format used to select the characters it had just inserted, so typing immediately afterwards deleted them again.
  • A note containing a web address or a date could have that rewritten instead of the thing you were typing, because the slash menu searched the whole note for the last slash rather than using the one in front of the cursor.
  • Changing a heading's level now replaces it rather than stacking, so Heading 2 on a Heading 1 no longer produces two sets of hashes.
  • A heading with nothing typed after it yet is styled as a heading straight away, instead of showing a bare hash that looked like a tag.
  • Links in reading mode show a pointing hand, the way they already did while editing.
  • The buttons above a text selection show an arrow rather than a text cursor, and the last of them, which had been invisible since it shipped, now draws.
  • Menus and sidebar buttons respond to the pointer. Several of them gave no sign they were controls at all until you clicked.

Skein 1.1.8

Clicking around a big vault stops costing anything.

Fixed

  • Selecting a note used to make every part of the window reconsider itself, three times over, whether or not it cared. Skein now uses the current macOS observation model, where each part of the window is told only about the things it actually shows: the sidebar no longer hears about selection at all, the backlinks panel no longer hears about tabs, and moving between notes in a vault of thousands feels the way it should have from the start.
  • Skein no longer occasionally claims that another app changed your note while you were editing it, and no longer leaves conflict copies in your vault when it does. It was mistaking its own autosaves for somebody else's writes: on a large vault the editor could fall a second or two behind the file it had just written, and Skein read that gap as an outside change. Most likely to appear with autosave set to Immediately, and most likely while backspacing, which is the fastest way to write. A genuine change from another app is still caught, and still keeps both versions.

Skein 1.1.7

The large-vault release: open fast, stay responsive.

Added

  • Opening a large vault no longer freezes the window. The notes load in the background while Skein stays responsive, with a quiet message saying what is happening, including when iCloud has to download your notes first, which is the case where it used to look broken.
  • Search on a very large vault becomes available a few seconds after the notes appear, instead of the whole app waiting for it.

Fixed

  • When another app or a sync service changes one note, Skein now re-reads that note, not your entire vault. This used to cost more than a second per change on a large vault, and iCloud downloading your notes could trigger it continuously for minutes.
  • Right-clicking in a large sidebar no longer makes everything sluggish. Two of the menus were doing far too much work for every row, one of them added in 1.1.5. Measured before and after on a vault of 5,547 notes: sidebar work per click went from seconds to under a millisecond.
  • The backlinks panel no longer rescans every note in the vault each time something changes while it is open.
  • The window no longer opens at the small launcher size after quitting at the launcher, and a wrongly remembered squat window shape is discarded instead of restored.

Skein 1.1.6

Save Diagnostics, for when something is slow and words are not enough.

Added

  • Save Diagnostics, in the Help menu. It writes a small text file you can attach to an email: how many notes, how large, whether the vault lives in iCloud Drive, how many notes iCloud has offloaded from your disk, and where the last vault load actually spent its time. It contains no note titles, no folder names and no paths, so there is nothing in it you would need to read first.

Fixed

  • Nothing is fixed in this release, and that is deliberate. A large vault can still make Skein hang, and if your vault lives in iCloud Drive with files offloaded, the first open can take minutes while they download. Work on both is under way, and the diagnostics above exist so that work lands on the right thing. Until then, right-clicking your vault folder in Finder and choosing Keep Downloaded helps any app that reads your notes, this one included.

Skein 1.1.5

A crash worth updating for, and notes you can move.

Added

  • Move a note to another folder. Drag it onto a folder in the sidebar, or pick Move to in the note's menu. Its version history, any canvas cards pointing at it and the tab you have open all come with it, which is the part that moving a note in Finder never did.
  • Moving a journal entry out of your daily notes folder asks first. Nothing is lost either way, but the journal arrows and Go to Date only look in the daily folder and at the top of the vault, so it is worth knowing before rather than after.
  • Renaming a note now takes its version history and its canvas cards with it too. They used to be left behind under the old name.

Fixed

  • Skein no longer quits when something in your vault changes. Making a folder and clicking Create was the surest way to see it, but any change would do, including Skein's own autosave, which is why it could happen while you were only typing. Skein watches your vault for changes made by other apps, and it was reading the list of changed files in a way that happened to work rather than one that was correct. This was in 1.1.2, 1.1.3 and 1.1.4, so updating is the way out of it rather than going back a version.
  • Moving a note onto a name that already exists in that folder is refused with a message, rather than replacing the note that was there.

Skein 1.1.4

Folders you can nest, and folders you can delete.

Added

  • New Folder Here, on a folder's own menu. New Folder put every folder at the top of the vault however deep you were working, so a folder inside another folder could not be made from inside Skein at all. The button in the sidebar header still means the top of the vault.
  • Delete a folder. There was no way to remove one at any depth, so a folder made by mistake was permanent. It goes to the Trash rather than being erased, every note inside it is kept in version history first, and the confirmation tells you how many notes are going with it.

Fixed

  • The link-to-note menu is in alphabetical order. It followed whatever order the sidebar happened to be sorted in and showed the first fifteen notes of it, so switching the sidebar to Recently Modified quietly changed which notes you could link to, and the menu looked just as full either way.
  • A crash on macOS 14.0 and 14.1. Those two have a fault, fixed by Apple in 14.4, where a link in the editor and the spell checker can work on the same text at the same moment and bring the app down. On 14.0 and 14.1 links keep their colour and stay inert, which is what they did before 1.1.2.

Skein 1.1.3

Two things 1.1.2 broke, an hour later.

Fixed

  • Journal entries already sitting at the top of your vault are recognised again. 1.1.2 started putting new daily notes in a Daily folder, and the code that decides whether a note is a journal entry matched that folder exactly, so every entry you already had stopped counting and the journal arrows and Go to Date lost their history. A note named for a date at the root of a vault is a journal entry whatever the setting says about where new ones go.
  • The attachments folder no longer appears in the sidebar. 1.1.2 started listing folders in their own right, which was the fix for folders you make being invisible, and it also surfaced the folder Skein keeps your pictures in. It holds no notes, so it showed as a permanently empty folder the first time you dragged in an image.

Skein 1.1.2

Large vaults stop hanging, and links do what their colour promised.

Added

  • Markdown links written in another editor carry their address in Skein now. Command-click follows one in the editor, and reading mode draws it as a link instead of showing you its raw source.
  • The link button edits the link you are already inside, filling in the address and text it finds there. It used to wrap that link in a second one.
  • Wikilinks and tags are Command-clickable in the editor, not only in reading mode.
  • Highlight and strikethrough are drawn in the editor. The formatting bar has always written both and the editor drew neither, so two of its buttons looked like they did nothing.
  • Daily notes go in a Daily folder unless you name a different one in Settings. They used to land at the top of the vault.

Fixed

  • A folder you make appears in the sidebar. Folders were worked out from the notes inside them, so a new empty one existed on disk and nowhere else, and making it again said it already existed.
  • Changing the sort order does something. All four options produced the same list, because the sort was applied and then discarded when the tree was built. The active one carries a checkmark now.
  • Typing in a vault of several thousand notes. Every autosave re-read every file in the vault, and then did it again because Skein could not tell its own writes from another app's. On a 5,547 note vault that was about 1.7 seconds of work every half second you typed. It is about 13 milliseconds now.
  • Opening a folder in a large vault. The sidebar tree was rebuilt from every note in the vault whenever anything on screen changed, about 390 milliseconds a time on that same vault. It is worked out once, when the notes change.
  • Finding a note by name inside the app no longer walks the whole vault. There were twenty-two places doing that.
  • The icon and colour you set on a folder are no longer thrown away when the folder has no notes in it yet.

Skein 1.1.1

Pictures, tickable tasks, and an editor that gets out of the way.

Added

  • Pictures on a canvas. Drag one in, paste one from the clipboard, or drop one from Finder - it is copied into your vault and drawn at its own aspect ratio. Double-click opens it in Preview.
  • Images in notes are never upscaled now, and adding |400 inside an embed sets a width.
  • Tasks you can tick. A dash and a pair of brackets is a real checkbox in the editor and in reading mode, and ticking one rewrites a single character in the file.
  • Focus mode dims everything but the paragraph you are in. Typewriter mode keeps the line you are writing in the middle of the window.
  • A formatting bar that appears only when text is selected: bold, italic, strikethrough, highlight, code, link, link-to-note.
  • Highlight and strikethrough are now understood everywhere - the editor, reading mode and the HTML export.
  • Your own colour on a canvas. Twelve hues, all pitched to carry across a board without fighting the six quiet presets.
  • Walk the journal with Command-Option-Left and Right, or jump to a date with Command-Option-D.
  • A note opened from a canvas card now appears beside the board instead of replacing it.
  • Light, Dark or Follow System in Settings.

Fixed

  • Connecting two cards on a canvas failed when the second click landed on a note card or a picture - it opened the file instead of drawing the edge.
  • The note-completion list appeared in the wrong place when the sidebar was open, which is also why clicking a row seemed to do nothing.
  • The note-completion and slash-command lists had no keyboard at all. Up, Down, Return, Tab and Escape all work now.
  • The canvas toolbars sat too close to the window edge, on top of the scroller.
  • The inspector and graph panel were opaque while the sidebar was translucent, leaving a seam down the right-hand side of the window.

Skein 1.1.0

Everything Obsidian's most-installed plugins do, in core.

Added

  • An infinite canvas, in the open JSON Canvas format that Obsidian also writes.
  • Live queries: a fenced block that asks your vault a question and renders the answer as a list, table, board or calendar.
  • A table editor with Tab, Shift-Tab and Return, and tables that render in reading mode.
  • Callouts - all thirteen types, with folding.
  • Templates with dates, the note's own title, a cursor position, and questions the template asks when you use it.
  • Quick capture from any app with Option-Command-Space.
  • Import from Notion: ids stripped, links rewritten as wikilinks, databases turned into tables.

Skein 1.0.2

Fixes from the first day in other people's hands.

Skein 1.0.1

The first public release.

Always the latest build.

14.3 MB· macOS 14+ · Free

Get Skein on the App Store

Or download the .dmg directly (18.3 MB, for Macs without the App Store)

Everything in the box lists what the app does today, and the help page explains how to use it.