Skip to content

changelog

What’s new in Mudlark.

Mudlark is out. Every release is logged here with what changed. Watch this page, or grab the latest build.

v1.0.16
Aug 22, 2026
patch

Section styles

added
  • A Section Style setting chooses how the preview draws sections. It lives in Appearance settings and in the preview's appearance controls
  • Flat keeps the single background the app has always had, and stays the default
  • Cards puts each section on its own card
  • Bordered draws a hairline outline around each section
  • Spine runs an accent bar down the left edge of each section
fixed
  • The toolbar at the bottom of the editor comes up when the pointer reaches it. Before, it could stay hidden until the pointer left the bottom strip and entered again
v1.0.15
Aug 20, 2026
patch

Per-note undo history

added
  • Returning to a note brings back its undo history. Cmd+Z picks up where you left off in that note. If the note changed while you were away — in another window or outside the app — history starts fresh
fixed
  • A paste is one undo step. Before, pasted content could fold into typing done in the same half-second, and one Cmd+Z took back both
  • Adding an image is one undo step, even though the image lands a moment after you drop or paste it. Typing done while it processed now survives an undo
  • Un-checking a task in the preview is its own undo step, separate from typing done just before the click
v1.0.14
Aug 18, 2026
patch

Link paste fix

added
  • The metadata panel shows a `$ image=` cover as a picture, sized like an image in the note body
  • Double-clicking the top edge of a window zooms it, following the title-bar setting in Desktop & Dock
changed
  • Links in the metadata panel are underlined and open on click, and group headers are set off from their rows
  • A collapsed section looks collapsed: its chevron is drawn at full strength with a count of the hidden items beside it, so it cannot be mistaken for an empty section
  • Collapse All Sections and Expand All Sections ship without default shortcuts. Cmd+Opt+Left sat one key away from word navigation and could hide a whole note in one stroke; both stay in the View menu and the command palette, and you can give them a key in Shortcuts settings
  • When an update clears a shortcut that collided with a new default, the notice sits on that command's row in Shortcuts settings, where you can pick a new key or dismiss it, rather than in an alert at launch
fixed
  • Pasting a link no longer freezes the app. In 1.0.13, some pasted links, App Store links among them, hung the app while the preview loaded
  • Opening a note starts with a clean undo history. Before, the first Cmd+Z in a freshly opened note undid the note load itself, which emptied the note or dropped in the text of the note you had open before, and that result was saved
  • A note that uses a remapped prefix or a custom callout saves exactly as written. Before, saving rewrote a remapped prefix as its default and could turn a custom callout block into plain text
  • The metadata panel updates as soon as you edit a metadata line
  • A metadata key and its alias are one key. Writing `$ cover=` after `$ image=` replaces the value rather than adding a second one, an item-level value overrides the note-level one whichever spelling each uses, and key names match regardless of case
  • Horizontal rules keep their place in the preview. A task after a rule stays below it, and a second rule renders where it was written rather than behind the first
  • In math, an unknown word that starts with a unit letter is left alone, so `8200 GBP` reads as pounds sterling rather than 8200 grams
  • The pointer holds steady over blank areas of the editor instead of flickering between arrow and I-beam
  • The app opens a main window at launch even when the previous session ended with none open
v1.0.13
Aug 15, 2026
patch

Destinations with @

added
  • The type prefix on a write-to line is optional. `. call the plumber @ Today` writes plain text under Today
  • Shortcuts settings mark every conflicting shortcut and name what already uses the key, including reserved and built-in editor keys
  • The backslash of an inline escape dims in the editor, so a working escape is visible at a glance
changed
  • Move and write-to destinations are written with @, the same way completion, removal, and find name a location: `> + fix @ Home`, `. + eggs @ Shopping`. A pipe on these lines is now ordinary text — it means "replace" only in a find line
  • A directive whose text itself contains @ matches an item named exactly that first: `- called mom @ 3pm` checks off a task named "called mom @ 3pm" before reading @ 3pm as a location
fixed
  • A shortcut customized in an older version no longer silently disables a newer default on the same key. The app resolves the collision at launch and says which command kept the key
  • An escaped character no longer draws its backslash in the preview pane
  • A backslash inside inline code stays literal instead of escaping the next character
  • Autocomplete no longer offers directive completions on lines whose type is turned off in settings
  • The settings sidebar tooltips are translated in all seven languages
v1.0.12
Aug 13, 2026
patch

Formatting shortcuts

added
  • Familiar keyboard shortcuts write Mudlark markup: Cmd+B for bold, Cmd+I for italic, Cmd+K for a note link, Cmd+L for a task, with chords for headings, lists, quotations, highlights, questions, completions, and inline code. They work in the editor and in the capture bar
  • The capture bar switches its destination note in place: Cmd+1 through Cmd+9 jump to a pinned note, Cmd+[ and Cmd+] step through notes
  • Directive lines autocomplete their headings: a move, write-to, or scoped find suggests the headings it can target as you type
changed
  • Bold and italic render in the preview pane by default
  • Directive targets match the text you see: when a find-and-replace line rewrites an item, completion, removal, and move lines match the displayed text as well as the original, and autocomplete offers the displayed form
  • Typing is faster in notes that use find-and-replace lines
fixed
  • The editor regains keyboard focus after opening a note from the command palette, so shortcuts keep working
  • A completed task keeps its strikethrough when a find-and-replace line rewrites its text
  • Squash Note writes find-and-replace results into completion and move lines, not just prose
v1.0.11
Aug 12, 2026
patch

Images in table cells

added
  • Images and videos display inside table cells, sized to the column. Small images keep their natural size
  • Hovering over an inline image shows its name, in prose and in table cells
  • In the note browser, Return opens the highlighted note and Rename Note renames it in place
changed
  • Table columns size to their content, so a column of short labels stays narrow and text columns take the room
  • Command palette actions are grouped by task instead of alphabetically
fixed
  • A note link in a table cell opens on click and updates when the linked note is renamed
  • Editing a note title no longer snaps back to the default name while the field is empty
  • Enter on an escape block's opening line inserts the closing line, as in other block types
  • The preview pane no longer shows one line's content twice after fast edits on identical nearby lines
v1.0.10
Aug 07, 2026
patch

Syntax hints

added
  • The editor hints the rest of a directive line as you type. A find line ends with a dimmed `| replacement`, then `@ location`, and move, write-to, completion, and removal lines hint their own continuations
  • Typing a bare separator shows just the part left to fill in. Hints follow remapped prefixes, and a toggle in Display settings turns them off
  • Squash Note applies find-and-replace lines: matched replacements are written into the note and the spent find lines are removed
changed
  • Find-and-replace behaves the same everywhere. A replacement that overlapped bold or italic used to format differently in blocks, tables, and exports than in prose; it now applies identically in all of them
  • The capture bar names its destination note at full text strength
fixed
  • An empty highlight or callout block no longer freezes the app
v1.0.9
Aug 05, 2026
patch

Embeds in table cells

added
  • Inline embeds work in table cells. Math like `{= 1 + 1}` evaluates in place, and note links and inline code render as they do in prose
  • Inline timers in cells count down live. Column widths hold still while they tick
  • A find line turns green or red in the editor to show whether it matches anything
changed
  • A pipe inside an embed or a `[[Note|Alias]]` link no longer splits the cell
  • The capture bar placeholder names the note it will capture to
fixed
  • The preview pane no longer loses track of edits at the end of a note
  • A table no longer reserves a blank line below its last row, so column separators reach the bottom edge
v1.0.8
Aug 03, 2026
patch

Media scales with the window

changed
  • Images and videos in the preview pane now size to the window instead of stopping at a fixed height. A larger window shows larger media
  • Galleries scale to match
  • Small images still display at their natural size
fixed
  • A move line (`>`) now relocates the matched item in the preview pane. It matched correctly before, but the item stayed in its original section
v1.0.7
Jul 29, 2026
patch

Multiple metadata pairs

added
  • A metadata line can hold several pairs, separated by semicolons: `$ status=active; due=2026-07-30; priority=p1`
  • The same works inline, so one task can carry its own dates and priority: `+ Ship it {$ due=2026-07-30; priority=p1}`
changed
  • The capture bar describes a metadata line in the hint row under the input. The chips above the input are gone
  • A line like `$ a=1; b=2` used to be one pair whose value was `1; b=2`, and now reads as two pairs. A semicolon inside a single value, as in `$ note=first; second`, still reads as one pair
v1.0.6
Jul 28, 2026
patch

Directives reach escaped text

added
  • Removal, move, and write-to lines can target escaped text: `_ \ draft` removes a matching escaped line
  • Double the escape prefix to target a whole named escape block: `_ \\ Raw log`
  • Find can search escaped text only: `, \ term`
changed
  • A line like `_ \ draft` used to stay plain text. It is now read as a directive, so a note using that shape will act on matching content
v1.0.5
Jul 24, 2026
patch

Shorter inline embeds

changed
  • Inline embeds now use single braces: `{= 1+1}` for math, `{@ photo.jpg}` for media, `{: 5m}` for a timer, and `{$ key=value}` for metadata
  • An embed can contain braces of its own, so expressions like `{= x^{2}}` work
  • Braces anywhere else are ordinary text, and bold and italic still apply inside them
  • Notes that use the old double-brace form still work, but the outer braces show as text. Delete them to tidy the note
v1.0.4
Jul 20, 2026
patch

Squash Note fix

fixed
  • Squash Note no longer silently does nothing when used soon after opening a note
v1.0.3
Jul 15, 2026
patch

Spelling and renaming

changed
  • Words you ignore during spell check now stay ignored after you quit and reopen, and each vault keeps its own list
  • When you rename a note's title, pressing Return confirms it and moves the cursor into the note, the same as pressing Tab
v1.0.2
Jul 11, 2026
patch

Renaming fixes

changed
  • Shortcuts and URL automation return the same result whether or not the note is open, with the note title as the top heading
fixed
  • The preview pane no longer goes blank while you rename a note
  • Previous Note and Next Note work after a rename
  • A note open in a second window follows the rename, and unsaved edits are kept
  • Links to a renamed note now update everywhere, including when you rename from the note browser
  • Renaming a note to a title that's already taken no longer replaces the other note
  • Quotations no longer export in bold
  • Opening a reference window twice in quick succession no longer creates a duplicate
v1.0.1
Jul 01, 2026
patch

Refinements

added
  • Now on the Mac App Store, listed as Mudlark Notes. Same app and price as the direct download, paid up front with no trial, updated through the App Store, and with Family Sharing support
changed
  • Inline section metadata (status, priority, dates) reads as a compact badge next to the heading
v1.0.0
Jun 30, 2026
major

Initial release

added
  • Side-by-side editor: type on the left, see organized notes on the right
  • Reader mode: toggle to a rendered-only view
  • Multicursor editing with ⌥-click, ⌘D, ⌘⇧L, ⌘K, and ⌘U
  • Window pinning (always on top) and adjustable window opacity
  • Quick Capture global hotkeys: ⌥Space opens an empty bar, ⌥⇧Space pre-fills it from the clipboard
  • 20 built-in themes (10 light, 10 dark)
  • Appearance controls popover (⌘⌥A) with reading and editor text size, fonts, reading width, paper style, and line numbers. Theme picking stays in Settings → Appearance
  • Customizable formatting characters and keyboard shortcuts
  • 23 prefix characters that format a line by its first character
  • Smart matching: check off tasks and move things by typing part of the name
  • Multi-line blocks via doubled-prefix delimiters (`!!`, `++`, `==`, …), with optional hint slots on code, math, and tables. Named blocks group related items as one addressable unit
  • Footnotes via the `^` prefix: inline sentinels at the end of words, single-line `^ definition` rows, or multi-paragraph `^^` blocks, paired by source order
  • Inline bold and italic formatting (*italic*, **bold**, ***both***)
  • Spell check while typing, in both the editor and the capture bar. Right-click a marked word for suggestions, Learn Spelling, Unlearn Spelling, and Ignore Spelling. Code blocks, inline code, and directive lines are excluded. Toggle in Settings → Display
  • Tables with pipe-separated columns and automatic headers
  • Built-in math and unit conversions (length, weight, temperature, duration), with variable assignment
  • Localization settings: decimal and thousands separators for math output, quote style for smart typography, and date and time formats. Math input can be pinned per vault to read comma decimals like max(1,5; 2)
  • Countdown timers and looping timers, with named timer blocks
  • Code blocks with syntax highlighting
  • Collapsible sections and reorderable categories, with inline drag in Settings → Markup to retune which item types float to the top
  • Collapse All Sections (⌘⌥←), Expand All Sections (⌘⌥→), and Restart Timers (⌘⇧T) in the View menu
  • Find and replace with live preview, type-targeted search, and location scoping via @ heading, reached with the `,` prefix
  • Syntax cheat sheet (⌃⌘/)
  • Toggle Comment (⌘/) comments or uncomments the selected lines, inserting the comment prefix at each line's first non-whitespace column
  • Multiple notes with search, editable titles, and note browser filtering
  • Note pinning to protect notes from auto-cleanup, with ⌘1-9 jump-to-slot hotkeys and drag-to-reorder pinned slots
  • Duplicate Note from the browser row, context menu, or Note menu. The copy gets a (N) suffix and opens in inline rename
  • Configurable quick capture buttons for common prefixes
  • Auto-export to Obsidian, iA Writer, Bear, Ulysses, Craft, Apple Notes, Notion, Things, Todoist, Reminders, or a custom folder
  • Export destinations as a status-first list: each card shows a readiness pill (Ready, Finish setup, Last export failed), a summary of where exports go, and a Test button. Setup is guided per app, with numbered steps that check themselves off, plain-language error messages, and a Fix… button that jumps to the failing step
  • Send Test Note: send a small test note to a single destination and see the result inline
  • Obsidian export setup asks what an export should do: Add to my daily note, Create a new note, or Advanced URI plugin (daily, weekly, or monthly note)
  • Metadata vocabulary with reserved keys (when, due, deadline, duration, remind, repeat, location, url, image, description, status, priority, tags, …) routed per-destination via a capability table. Destination-scoped pairs like `$bear pin=true` for app-specific knobs
  • Section and item metadata via {{$ key=value}} inline spans, scoped to a heading or a single line, with per-item values flowing into task exports
  • Apple Reminders carries alarms, recurrence, URL, and location from metadata. Auto-alarm-on-due is on by default so reminders actually notify
  • Notion exports dispatch metadata against the database column schema (status, select, multi-select, date, URL, rich text), and set page icon and cover from `$ icon=` / `$ image=`
  • Export partial-success surfacing: when some files fail (e.g. images), the destination card reports the failed names in a yellow warning so the rest of the export still lands
  • Shortcuts settings stage a captured chord and show “Already used by …” with Reassign / Cancel buttons, so binding over an in-use chord requires explicit confirmation
  • Themes share a 9-slot palette (Primary / Warm / Cool / Alt / Support / Signal accents plus Strong / Annotation / Muted neutrals) so item-type routing rebalances across themes without rewriting per-type fields
  • Custom themes: drop a JSON file in `<vault>/.mudlark/themes/` to author your own theme. Edits hot-reload in the app, and a user-theme `id` can shadow a built-in to override its colors
  • mudlark:// URL scheme for automation via Shortcuts, scripts, and other apps, with delete, update, and move actions and a Settings toggle to gate inbound URLs
  • Print and Save as PDF
  • Direct download with Sparkle auto-updates, or distribution via the Mac App Store
  • Opt-in anonymous crash reports, off by default. A scrubber removes note text, titles, selections, and clipboard contents before anything is sent
  • 14-day full-feature trial. Expired trials soften to read-only with export still available
  • Note links via [[Title]] inline syntax, with [[ autocomplete from vault titles, chip reveal in the editor, and auto-rewrite of every reference when a note is renamed or moved
  • Inline media embeds via {{@ filename}} for local images, video, and remote URLs, with column-aware sizing, click-to-open, ⌘-copy, and {{@ autocomplete from vault media
  • Dropping media into the editor shows a live indicator: near a line edge it inserts a full-width @ line, over text it inserts an inline {{@ }} embed, and holding ⌥ flips the choice. A placeholder holds the spot while the file imports
  • @ media lines carry a validity color: green when the reference resolves, yellow while an import is pending, red when the path cannot be resolved
  • Inline timers via {{: 25:00 Focus}} for countdowns and {{; 5:00 Break}} for loops, ticking live in the rendered pane. Bare numbers can carry a phase name
  • Mosaic layout for @@ media galleries: justified rows at native aspect ratios with portrait stacking, no cropping or uniform tiles
  • Footnote blocks render as a callout-style container in the right pane, with the ordinal lifted into the named header
  • Single-line code accepts a language hint glued to the prefix (`python def f()), matching the existing ``swift block syntax
  • Tab-separated tables via &&tsv. The parser preserves interior tabs so paste from spreadsheets round-trips cleanly
  • Default table format setting: a hint-less table (bare & or &&) is read as the chosen format (CSV, TSV, or pipes). Explicit hints like &&csv still win
  • Per-element copy formats: tables, images, and code each get their own dropdown in Settings → Data → Copy Formats alongside the whole-document preference
  • Cursor scroll padding picker in Settings → Appearance with three presets (None, Slight, Typewriter). Font size range widened to 8 to 32pt across editor and rendered panes
changed
  • Directive scope is explicit: a single prefix targets one item, a doubled prefix targets the whole named block (`_ + foo` removes an item, `_ ++ foo` removes the block. `-- foo` completes a task block. `> ++ foo | D` moves a block)
  • Settings reorganized: the Export tab holds destinations only, and the Data tab holds the vault, media storage, copy formats, and backup (Back Up All Notes as .zip). Table format default moves to Markup. The footnote and callout settings live on Markup as well
  • Tab inserts a literal tab inside code blocks and &&tsv table bodies. In lists it still indents, in tables it still moves between cells
  • Note titles land on the paper-grid baseline at any font size, and the rendered title aligns to the editor title across the two panes
fixed
  • Scoped metadata ($bear, $obsidian, $ia, $craft) survives the export pipeline end-to-end and arrives at the destination unchanged
  • Craft URL export preserves tables and code blocks on macOS 15+ (literal pipe and backtick characters round-trip correctly)
  • Renaming a pinned note keeps the pin. The _ removal no longer targets an already-completed item
  • The editor turns off macOS automatic quote and dash substitution, so typing the " quotation prefix no longer rewrites the character and jumps the caret. Smart quotes still apply when the note renders