-
-
Notifications
You must be signed in to change notification settings - Fork 58
Releases: ZenNotes/zennotes
ZenNotes v2.3.0
ZenNotes 2.3.0 is headlined by wikilinks that follow a note when you rename it and a fully keyboard-driven database grid, plus consistent vim-style keyboard navigation across every picker and a batch of fixes from your reports.
Installers for macOS, Windows, and Linux are attached below. On Arch,
yay -S zennotes-bin.
✨ Highlights
Links update when you rename a note (#111)
Rename a note and every [[wikilink]] pointing at it across the vault rewrites itself to the new name — no more dead links. It handles all the forms — [[Note]], [[Note|alias]] (your display text is kept), [[Note#heading]], [[Note^block]], embeds ![[Note]], and path-style [[folder/Note]] — skips anything inside fenced or inline code, and only touches links that actually resolved to that note, so notes sharing a title never get cross-wired. It runs in the vault layer (desktop and the self-hosted server), so it applies however you rename — the editor, the MCP tools, the CLI, or the HTTP API.
Keyboard-driven databases (#110)
The CSV database grid is now fully navigable without the mouse, vim-style. Move the cell cursor with h/j/k/l, jump up to the column-header row with k to rename a field (Enter / i) or open its menu (m), press m on a cell for the row menu, and open a row's record page with o — then Ctrl+O jumps right back to the grid (whether you opened the database as a .csv file or via New Database). Ctrl+W k / j / h / l moves between the grid, the tab strip, and split panes exactly like it does from the editor. This also fixes #110 : editing a column name no longer swallows h/j/k/l, so you can type url or public, and the arrow keys move the caret in edit mode. The grid reliably takes keyboard focus on open, after a Ctrl+O jump back, and after reopening the app, so motions work without clicking a row first — and a Show sidebar button now appears in the database header when the sidebar is hidden.
🐛 Fixes
- Consistent picker navigation (#98) — every picker now moves the selection with vim-style
Ctrl+J/Ctrl+K(down / up), alongside the arrow keys andCtrl+N/Ctrl+P. This also fixes a Linux/Windows bug whereCtrl+P— which resolves to the global Search notes shortcut (Mod+P) on those platforms — closed the search palette and hijacked the[[reference picker instead of moving up the list. Pickers now consume the navigation keys, so it works the same across the search-notes palette, the[[reference picker, the/slash menu, date shortcuts, template variables, and the command / buffer / outline / template palettes and quick-capture. - Quick-capture hotkey wouldn't rebind (#120) — the Keymap settings tab listed an Open quick capture window row at
⇧⌘Spacethat was never wired up, so changing it there did nothing while the real system-wide hotkey kept firing — making the shortcut feel hardcoded. Removed the dead row; the quick-capture hotkey is managed by its own Record / Disable / Reset control under Settings → Editor → Quick capture. - Esc in the Switch Vault dialog (#119) — opening the vault switcher with
<leader>vand pressingEscused to drop you into the full command palette instead of closing.Escnow closes a directly-opened picker and only steps back to the command list when you actually drilled in from there. - Weekly notes on the self-hosted server (#117) — the Vault → Enable weekly notes toggle wouldn't stick on the web/Docker build: the Go server's settings model had no
weeklyNotesfield, so it was silently dropped on save and reverted on reload. The server now mirrors the full client settings contract (weekly notes, plus the daily-notes template that was dropped the same way). - Folders sync live across clients — creating or deleting a folder in one client now appears in another open client sharing the same vault — including the self-hosted web app — without a manual refresh. Empty folders previously only showed up on reload, because neither file watcher emitted directory events.
- Tags pinned to the bottom of the sidebar — the Tags section now sits just above the Files / Help / Settings footer instead of floating directly under the note list, and still scrolls naturally when the list is long.
- Mobile web: sidebar footer no longer hidden behind the browser (#116) — the web client's app shell now uses dynamic viewport height (
100dvh, with a100vhfallback) andviewport-fit=cover, so the Files / Help / Settings footer stays inside the visible area on iPad and Android Chrome instead of being occluded by the browser's bottom toolbar. The footer also pads for the iOS safe area. Desktop is unaffected. - Close the right panel (#114) — added a clear way to dismiss whichever right-hand panel (connections, outline, comments, calendar) is open: a "Close Right Panel" command in the command palette and a
:closepanel(:closep) Vim ex-command. Previously you had to re-press the specific toggle that opened it. - Vim tab navigation (#99) —
gt/gTnow move to the next / previous tab in the active pane, with:tabnext/:tabpreviousex-commands (shown in the:autocomplete). Both are rebindable under Settings → Keymap. ffind-char motions work in the editor (#107) —f,df,cf,yf(and thetfamily after an operator) were being hijacked in normal mode because bareftriggered hint mode. Hint mode moved to<leader>h, so the wholef-family works normally now. Search notes stays on<leader>f, and vault text search now sits under a<leader>ssearch group — press<leader>sfor a which-key list, thent(mirrors the<leader>lgroup). All rebindable under Settings → Keymap.- Hint into a note lands in the editor (#100) — using hint mode (
<leader>h) to open a note from the sidebar or a tab used to leave focus on the clicked row / tab, so you had to pressEscto start typing. Hinting a note now drops you straight into the editor — like hinting Tasks already did. Folders (which just toggle), the Tasks / Tags tabs, and plain buttons keep their own focus. - Remove or restore the built-in templates (#112) — the shipped templates ship as code constants, so they could only be edited, not deleted. New Remove Built-in Templates / Restore Built-in Templates commands — plus a button under Settings → Templates — hide or bring back all the built-ins, with a confirmation before removing. Your custom templates (and any built-in you've edited) stay, and anything already pointing at a built-in by id (e.g. a daily-note template) keeps working.
Thanks to everyone filing issues and reporting bugs — closes #98, #99, #100, #107, #110, #111, #112, #114, #116, #117, #119, #120.
Assets 19
- sha256:b58f69aefb99f2cb307ceda7efd0cd9e36c656ea4539de50e694aac98dfeda55555 Bytes
2026年06月11日T22:34:26Z - sha256:75be99b3516f8444841ddb0c850bde877af82431f69f751f1eb5cacb962235da826 Bytes
2026年06月11日T22:57:29Z - sha256:2894d1a96ee51a39cdfed7331c8667ffa3b42ea41f2023895646fc80d7d315ba349 Bytes
2026年06月11日T22:48:17Z - sha256:0e8998e0913c338757bdde4ce16b799b21a6ad2d694614a1228edbc41269308f112 MB
2026年06月11日T22:34:26Z - sha256:47b33a26a8f6912b294e9b8e322065314a81473da65521a92a98f9324be1d566112 MB
2026年06月11日T22:34:26Z - sha256:22f1462bb9f72905461139adea1414cbe6d935338291fbb01fc89f978293c71c129 MB
2026年06月11日T22:34:26Z - sha256:7317450b647f133478ddd197fc7dfd8a94f76f40f5b61ad741fb9bd00327cd99145 MB
2026年06月11日T22:57:30Z - sha256:675c11cfd971af832d305cccb4bf984081282e66acdf7a4b4dfefe083bc444c1158 KB
2026年06月11日T22:57:30Z - sha256:18dac9d24e1facf6ad268b0d5cec68e41cc1a04906fc66baaecefaa69c8a2ddf155 MB
2026年06月11日T22:57:30Z - sha256:52a80b91a35a5ed93ca487806966efb378145111de1e0e59276cc6d7c225bb41167 KB
2026年06月11日T22:57:30Z -
2026年06月11日T22:22:58Z -
2026年06月11日T22:22:58Z - Loading
ZenNotes v2.2.0
ZenNotes 2.2.0 turns any CSV into a full Notion-style database, ships a top-to-bottom UI consistency pass, adds a monochrome Black Metal theme, and brings keyboard shortcuts for comments and pane focus — plus Linux launcher and macOS search-path fixes.
Installers for macOS, Windows, and Linux are attached below once the build finishes.
✨ Highlights
Databases — any .csv becomes a database (#81)
A CSV file in your vault is now a full database, à la Notion / Obsidian Bases — with zero new dependencies.
- Two views over the same data: an editable Table (spreadsheet-style inline editing) and a Board grouped by a select field. Add and switch views freely.
- Typed fields — text, number, checkbox, date, select, multi-select — with add / rename / retype / delete, plus sort, filter, and a raw-CSV toggle. Every row gets a stable id, so external edits round-trip cleanly.
- Records as pages: open any row as a real markdown note in a per-database folder. Its properties mirror into the note's frontmatter, the body is a freeform page, and a page icon shows at a glance whether a record already has content.
- Keyboard-first grid (vim):
h/j/k/lto move,gg/G,i/Enterto edit,Space/xto select,oto open the page,ato add a row,ddto delete. Right-click a row to Open or Delete; tick checkboxes for bulk actions. - Create from the sidebar: right-click any folder → New database.
A cleaner, more consistent interface (#75)
A systematic design-system pass across the whole app — consistent spacing, type scale, colors, and shadows, with shared button and modal primitives — so panels, dialogs, and controls finally read as one app. Polish only; no behavior changes.
A monochrome "Black Metal" theme
A new theme family based on black-metal-theme: a true-black (OLED-friendly) canvas with soft grey text and a single muted teal accent — for an all-black, minimal look. Ships with a light "Day" companion. Choose it under Settings → Appearance → Black Metal.
Comments & pane focus from the keyboard (#82)
⌘⇧C/Ctrl+Shift+C— toggle the Comments panel (it had a command but no shortcut, unlike the other panels).⌥⌘M/Ctrl+Alt+M— add a comment to the current selection (or line) without reaching for the mouse.⌥h/j/k/l— focus the pane/panel in that direction, now always on: it works even with vim mode off, and skips theCtrl+Wprefix that some Linux setups intercept. (Ctrl+W h/j/k/lstill works in vim mode.)
🐛 Fixes
- Diagrams in preview (#68) — JSXGraph diagrams now render in the preview and split panes (and in PDF export) instead of failing with "HTML container element not found."
- Footnotes (#69) — footnote references and the
↩back-references now navigate both ways in the preview/split pane; heading and table-of-contents anchors work too. - System clipboard (#79) — vim's
"+y/"+pand the copy buttons now write to and read from the system clipboard instead of failing with a permission error on macOS and Wayland; a stray clipboard error no longer blanks the window. - Daily / weekly note templates (#90) —
{{date:...}}tokens now render the note's own date when you create a daily or weekly note for a past or future date, instead of always today's date. - Code blocks in the editor (#83) —
#lines inside a fenced code block (e.g. bash comments) are no longer styled as Markdown headings in Editor mode. - Arch / AUR launcher (#70, #74, #92) — fixed the
/opt/zennotes-bindirectory permissions and forced the launcher's execute bit so/usr/bin/zennotesactually runs (published aszennotes-bin 2.1.0-3). - Search tools on macOS (#73) —
fzfandrgare now resolved through your login shell, so auto-detect works even when the app launches with a minimal GUIPATH.
Thanks to everyone who filed issues and reported bugs — closes #68, #69, #70, #73, #74, #79, #83, #90, #92.
Assets 19
ZenNotes v2.1.0
ZenNotes 2.1.0 brings a calendar for daily/weekly notes, an always-on-top quick-capture window, vim quality-of-life additions, and a batch of editor and Linux fixes.
Installers for macOS, Windows, and Linux are attached below once the build finishes.
✨ Highlights
Calendar for daily & weekly notes (#63)
- A right-side calendar panel that opens automatically when you're in a daily (
YYYY-MM-DD) or weekly (YYYY-Www) note, anchored to and highlighting that note. - Click a day to open/create its daily note, or a week number for the weekly note; page months with the arrows or jump to Today.
- Word-count dots on each day (more writing → more dots), a marker for days with unfinished tasks, hover preview, and a right-click menu (open / create / move to trash).
- Configurable week start (Monday / Sunday / locale) and a show week numbers toggle.
- Toggle it anytime with the calendar icon, the command palette, or
leader c. - The sidebar now surfaces your Daily Notes and Weekly Notes folders as pinned, date-grouped sections (year → month → day), so they stay easy to reach and tidy even with hundreds of notes.
Pin the quick-capture window on top (#67)
- The quick-capture window now has a pin button. When pinned it stays on top of all windows and no longer auto-hides when it loses focus — Raycast-style sticky capture. The pin state is remembered.
Vim
- Map a key sequence to Escape in insert mode (e.g.
jkorjj) — Settings → Vim → "Exit insert mode with". Works in the editor and the capture/floating/external windows. - Pane-focus ex commands:
:wincmd h/j/k/l(and:pane_focus_left/down/up/right) to move between split panes from the command line. - Fixed
Ctrl+W h/j/k/lpane navigation on Linux/Windows, whereCtrl+Wwas being swallowed by close-tab.
🐛 Fixes (#65 + community reports)
- Tables: column alignment (
:--,:-:,--:) is honored again in rendered notes. - Daily notes: template dates now render with locale-aware month and weekday names (
{{date:dddd, D MMMM}}), while note filenames stay ISO-sortable. - Fonts: code blocks in the editor, the vim command field, and the search panel now use your configured monospace font instead of a hardcoded fallback (fixes "ugly code font" on Linux).
- Linux/NVIDIA: silence the
vaInitialize failedVAAPI error on Fedora and similar setups.
🐧 Linux packaging (#65)
- Releases now include a native
pacmanpackage for Arch-based distros. - New AUR package (
zennotes-bin) that installs cleanly on Arch/CachyOS without libfuse2 (it extracts the AppImage at install time). - Tip for the raw AppImage on Arch/CachyOS: run with
--appimage-extract-and-run, or installfuse2.
Thanks to everyone who filed issues and reported bugs — closes #63, #65, #67.
Assets 19
ZenNotes v2.0.9
Fixes
- Unarchive returns notes to their original subfolder. Archiving
inbox/demo/Note.mdnow lands atarchive/demo/Note.md, so unarchiving puts it back exactly where it was — instead of dumping it at the inbox top level. Trash → restore round-trips preserve subfolders the same way. Fixed across the desktop app, thezenCLI/MCP server, and the self-hosted server. (Notes archived before this release sit flat inarchive/and will still unarchive to the top level.) - Finder "Open in ZenNotes" no longer opens the quick-capture panel. The hidden quick-capture window could swallow file-opens and deep links after you'd used the capture hotkey; note opens are now routed only to real workspace windows, and the Dock icon reliably brings back a window.
zen openunderstands vault paths. Paths printed byzen list(vault-relative, spaces and all) now open from any directory — quoted or not. Errors name every location that was searched.
New: multiple vaults in the zen CLI
zen vault listshows every vault ZenNotes knows about, with the default marked.- Every command takes
--vault <name|path>to target a specific vault:zen list --vault work,zen capture "idea" --vault personal. Precedence:--vault→ZENNOTES_VAULT→ last-opened vault. Typos fail with the list of known vaults rather than silently using the wrong one. ZENNOTES_CONFIG_DIRoverrides the config directory for scripting.
Download the installer for your platform from the assets below.
Assets 18
ZenNotes v2.0.8
Download the installer for your platform from the assets below.
Assets 18
ZenNotes v2.0.7
Download the installer for your platform from the assets below.
Assets 18
ZenNotes v2.0.6
Download the installer for your platform from the assets below.
Assets 18
ZenNotes v2.0.5
Download the installer for your platform from the assets below.
Assets 18
ZenNotes v2.0.4
Download the installer for your platform from the assets below.
Assets 18
ZenNotes v2.0.3
Download the installer for your platform from the assets below.