Skip to content

ZenNotes CLI 0.6.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 16:13
· 19 commits to main since this release

ZenNotes CLI 0.6.0

Set up a self-hosted server, keep it updated, and make the terminal work better with your scripts. This release also fixes cross-note yanking and makes bug reports much easier to prepare.

Manage a server from the terminal

zn server setup home --vault ~/Notes
zn server status home
zn server update home --check

Setup downloads and verifies an official native server, creates a private token outside the vault, starts a user service, checks authentication and the exact vault, and saves the connection. Start, stop, restart, logs, configuration changes, foreground execution, pinned updates, and rollback are available as separate commands.

Updates verify the candidate before accepting it and retain the previous executable. Failed health checks restore the working service. macOS uses launchd agents; Linux uses systemd user services. Windows supports foreground operation where a native server release is available. Management runs on the machine executing zn; SSH and Docker provisioning are outside this first adapter.

Inside the TUI, :servers opens the same controls. Long operations run in the background.

A friendlier, more scriptable CLI

  • Bare zn opens the TUI in an interactive terminal and prints help when piped.
  • Command-specific help and argument validation catch mistakes before note operations. Help/version flags never create notes.
  • --no-input prevents prompts; JSON errors go to stderr with predictable usage, operation, and cancellation handling.
  • zn status explains workspace selection; zn doctor checks configuration and access.
  • zn config list|get|set|edit exposes shared preferences to the shell.
  • Completion scripts support Bash, Zsh, Fish, and PowerShell.
  • zn update --check and zn update respect Homebrew, Go, desktop-managed, and standalone installation ownership. Native macOS/Linux replacement verifies the executable and retains a backup; Windows standalone updates provide download instructions.

Two TUI fixes

  • Yank across notes: registers now belong to the TUI session. Yank, switch with [b/]b, and paste into another note. Named registers and line/block selections work too; undo stays local to each note. Thanks @iwpnd for #4.
  • Useful version reports: :version / :ve opens OS, architecture, runtime, build, installation, terminal, and active-server details. Use :version copy, :version!, or c to copy. Settings also offers the report. Local paths and authentication details are omitted. Thanks @vlcinsky for #5.

Upgrade

Versions 0.5.0 and earlier do not have zn update; use your original installer once:

brew update && brew upgrade zn

Or download an archive below. With Go:

go install github.com/ZenNotes/tui/cmd/zn@v0.6.0

Desktop-managed installations receive the CLI pinned by their desktop release. The desktop bundle must be updated separately; publishing this CLI release does not change an existing app bundle.

The README and contributor guide include command recipes, configuration, troubleshooting, and a disposable local/remote sandbox.

Verification

Full Go race tests, vet, platform builds, isolated local/remote smoke checks, copied-executable self-update, real macOS launchd lifecycle, systemd unit validation, and TUI checks at 120×36 and 80×24.