github ZenNotes/zennotes v2.83.0
ZenNotes v2.83.0

latest releases: core-2.83.0-core.hf4a557d5e7a8a721, viewer-2.83.0-viewer.hb1264235676d483d, web-2.83.0-web.h3bde8bddf79885a8...
3 hours ago

ZenNotes 2.83.0 makes assistants safer and more useful in your vault: path limits now hold on vaults with symbolic links, assistants can work with attachments, and a self-hosted server can offer them a built-in /mcp endpoint. It also fixes vaults that fill up after you open them, keeps network folders current, and adds the Delete key to the sidebar.

Released from 9e989aade4f01e14c69c641af7db964abc2f6c3f through #1057 on 2026-11-05.

Security

Path limits for assistants could be bypassed through symbolic links on vaults that hold them. Upgrade the desktop app, zn and the server. An older zn or desktop app stays exposed, even against a fixed server. Details are in the advisories: GHSA-7m22-wrp6-rr34 (desktop), GHSA-v272-qw52-q7p7 (zn), GHSA-m3q4-g4h3-wv35 (server).

What changes for you:

  • Uploading attachments through an assets folder that is a link now answers an error instead of writing through it.
  • System folders that are links are hidden from an assistant limited by paths.
  • Path limits on a self-hosted server need server 2.82.1 or newer.

Features

  • Assistants can work with attachments (tui#34). The bundled assistant server gains read_asset, upload_asset, rename_asset, move_asset, duplicate_asset, delete_asset and restore_asset, plus update_task, daily_note, note_sections and edit_section. Renaming or moving a file updates the notes that link to it, and tells you about any it could not update.
  • A built-in /mcp endpoint on the server (znserver#56). A self-hosted server can offer assistants the same tools over HTTP, each token with its own access level and path limits. It is off until you turn it on.
  • The Delete key moves a sidebar note to the Trash (#1040), with Vim on or off. Unbinding the sidebar's trash key turns it off too.

Fixes

  • A vault that fills up shows its notes without a reload (#1023). Before: open an empty folder, copy a vault into it, and every note sat under a collapsed Inbox until a reload. After: the notes appear, and Tasks stops saying "scanning" on its own.
  • A vault on a network folder keeps up with changes (#1023). Where Windows cannot watch a network drive or UNC path, the vault re-reads every 30 seconds and when the window regains focus. Files written directly on the server can take a minute or two longer.
  • A table's escaped wikilink counts as a link. [[Note\|alias]] shows in backlinks, and a rename keeps the escape, so the table row stays whole.
  • Option+I works as a Vim key on macOS, and the Harper card names your key (#1049).
  • A quote in a list draws its bar after the bullet, and \> reads as >. - >TEST is a quote in Preview and now looks like one in the editor. Type \>TEST for a literal >.
  • Window buttons and Reveal in file manager show only where they can do something, so they are gone from Android tablets, phones and the web client.
  • Duplicating a folder refreshes attachment counts.
  • Go to Files, Quick Notes and Inbox in the command palette open them. Before: Go to Files changed the title and nothing else.
  • Copying folders into a new vault leaves no stray inbox folder. The untouched Welcome note goes with it; a Welcome you edited stays.
  • An embed in a table cell draws in the editor as it does in Preview, a picture included.
  • Search names a result's folder by your label, and a note at the vault root names none.
  • Help shows what applies where you are. On phones, tablets and the web client it leaves out what only the desktop app has.
  • On touch screens: no hover chips or link previews, no keyboard cursor in the sidebar, and a long-press selection ends with its menu. A tablet's layout clears the status bar.
  • Smaller polish: the Tasks header wraps on narrow windows and its filter hint follows Vim mode, Home shows no Recent heading over nothing, the Cloud footer can cancel a sign-in, a panel's toolbar button goes dark as soon as the panel closes, and note list previews no longer repeat the title.
  • Bundled zn is now 0.17.1, so a desktop-managed zn gets its fixes with the app. Its reading view moves on the first j, Ctrl+D or Ctrl+F, and a wide flowchart no longer implies an arrow between boxes side by side.
  • On phones: a note ignoring taps after the keyboard closed, a dismiss button on a new note's title, no stray empty inbox folder, and long-press menus on Files rows and tag chips. See the phone release notes.

For contributors

  • packages/bridge-contract/fixtures/mcp-scope.json is the shared scope contract with zn; CI's server-contract job runs it against a real server. Keep the bytes identical in both repos with sync:contract-fixtures --tui.
  • note-turns.ts holds the per-note turn the assistant tools use for any read-then-write. writeFileAtomic moved to main/atomic-write.ts.

Demos

Captioned 1080p clips recorded on the release commit, with made-up data.

Assistants and attachments: real rename_asset and move_asset calls from a test script to the bundled server. Both notes' embeds change with no reload, and the picture still draws. Watch the clip (34 seconds, captioned).

A vault that fills up: an empty folder as the vault, folders copied in from outside. They appear with no reload, the untouched Welcome steps aside with its inbox folder, and Tasks shows the 9 copied tasks. Watch the clip (29 seconds, captioned).

The Delete key: from the sidebar with Vim on and off, the ask, and the Trash. Watch the clip (33 seconds, captioned).

A quote in a list: the bar after the bullet, and \>TEST hiding its backslash off the line. Watch the clip (34 seconds, captioned).

A table's escaped link: the alias shows, a click opens the note, backlinks count it, and a rename keeps the table whole. Watch the clip (32 seconds, captioned).

Diagrams in zn 0.17.1: a straight flowchart as a row and one with a choice as a column, Ctrl+D paging to a sequence diagram, then the same note at 71 columns and the source with a note at 50. Watch the clip (44 seconds, captioned).

Verification

How to test locally:

  1. Run npm run dev and open an empty folder as a vault. Copy a few folders of notes into it from Finder. Before: every note sits under a collapsed Inbox until a reload. After: they appear on their own.
  2. Select a note in the sidebar and press Delete. It moves to the Trash, with Vim on or off.
  3. With Vim on and a macOS keyboard, press Option+I in normal mode. Before: nothing. After: the mapped command runs.
  4. Type - >TEST in a note. The bar is drawn after the bullet. Type \>TEST on the next line and move away: the backslash hides and a plain > remains.
  5. In a table, write | [[Some Note\|see]] | x | and rename that note. The link follows and the row stays whole.
  6. Connect an assistant with zn mcp --allow-path Projects, and ask it to list and read attachments. It sees only what is under Projects.

Distribution channels

  • GitHub: this release, latest, with all five update feeds. Every file they name was checked, and both macOS DMGs are Notarized Developer ID and stapled.
  • AUR: zennotes-bin 2.83.0-1, pinned to the Linux tarball's SHA-256 9e680c6b…f8b977.
  • Homebrew: the zennotes cask in ZenNotes/homebrew-tap (d419280). zn 0.17.1's formula went out earlier today.
  • Nix: packaging/nix/release-data.json (2f6e65ff), built on main (run 42115285928).
  • nixpkgs: NixOS/nixpkgs#582818, zennotes-desktop: 2.81.1 -> 2.83.0, waiting for nixpkgs review.
  • Self-hosted server 2.83.0 and Docker adibhanna/zennotes:2.83.0, 2.83 and latest (sha256:6e1f68c5…086de).
  • zn: 0.17.0 and 0.17.1, released today; this app bundles 0.17.1.
  • Phones: iPhone 1.37.0 (build 59) is waiting for App Review, and Android 1.1.56 is in Play review. Both run core core-2.83.0-core.hf4a557d5e7a8a721 from this commit.
  • Website: the release page, docs and clips on zennotes.org.

Release validation

  • In a clean npm ci checkout at 9e989aad: typecheck, every test suite uncached (shared-domain 2565, app-core 4859, desktop 1913, quicklook 18), build:prod, npm run pack and the packaged launch check (page target, rendered, 2.83.0), and the three smoke suites. No hazards, no high audit findings, no long dashes.
  • CI on the release PR passed on every platform. The Windows job timed out once in an assistant tool test; the cause was a runner starved for disk I/O (other files ran three to four times slower), the test passed 145 times on a Windows 11 machine, and the re-run passed. CI on main at the tag passed on every platform. Every CI failure since 2.82.0 has a written cause.
  • Release builds of both phone apps were walked on iPhone and iPad simulators and Android phone and tablet emulators on this core, and the iPhone Cloud UI tests passed on it. Take Photo or Video was checked on a real iPad.
  • What went wrong: three rounds of fixes after the version bump (a polish round, then Help on tablets, then a hidden iPad button), each found by the phone walks and each walked again. Not tested before release: real assistant clients against the new tools and /mcp, a real NAS, and packaged Windows and Linux builds beyond CI.

Don't miss a new zennotes release

NewReleases is sending notifications on new releases.