Releases: blackstardesigns/memo
Release list
v0.2.0
Version 0.2.0
Release Date: 2026-08-27
The headline of this release is a new / command palette for the editor — search for a Markdown block or an action command and insert or run it without memorizing a shortcut. Alongside it: checkbox toggling, a smarter Down-arrow at the end of a note, an optional blank line above the note title, a public project website, a shorter install one-liner, and Windows installer fixes.
New Features
- Command palette: Type
/at the start of a line, or pressCtrl+Ofrom anywhere in it (configurable viapalette_key), to open a searchable palette of insertable Markdown blocks — to-do list, comment, callout, link, heading, divider, code block, and table. The palette also includes Change title and Refine note, so both are reachable without their dedicated shortcuts (Ctrl+T/Ctrl+Rstill work too). Esc closes it; when opened by typing/, Esc restores the/and anything typed after it instead of discarding it. - Checkbox toggle:
Ctrl+Ltoggles- [ ]/- [x]on the current line — a quick way to check off a to-do without hand-editing the Markdown. - Down arrow opens a new line at the end of a note: pressing Down on the last (non-empty) line now opens a new line below and moves onto it, the same result as End then Enter, without the extra step.
- Optional blank line above the note title: a new
title_top_paddingconfig option (on by default) adds a blank line above the title in the editor header; set it tofalseto remove it.
Improvements
- Notes open at the end, not the start: opening a note now lands the cursor at the end of its content instead of the top, matching where you're most likely to keep writing.
- New project website: memo now has a public site at blackstardesigns.github.io/memo with an overview page and full docs, served via GitHub Pages.
- Shorter install commands: the macOS/Linux and Windows one-liners in the README and website now pull
install.sh/install.ps1from the Pages site instead ofraw.githubusercontent.com, dropping the branch segment. The Windows command also drops theTls12prefix in favor of apowershell -c "..."wrapper that can be pasted from any shell. - Windows installer now matches macOS/Linux: the Windows installer sets up the local AI backend interactively — detecting Ollama, offering to install it via winget, writing a default config without clobbering an existing one, and optionally pre-downloading the default model in the background — the same flow the macOS/Linux installer already had.
Bug Fixes
- Windows installer failing on 64-bit machines: Windows PowerShell 5.1 (the default on Windows 10/11) negotiates a TLS version GitHub rejects, and the 64-bit check was brittle enough to reject valid machines; both are fixed, and downloads are noticeably faster with progress output silenced.
- Windows installer defaulted to the wrong Ollama model:
install.ps1still pointed atllama3.1(~4.7 GB) instead of memo's lightweight default,qwen2.5:0.5b(~400 MB); now consistent with the rest of memo. - Toggling between original/refined view lost your place: switching views (or landing after a refine completes) jumped the cursor to the end of the buffer; it now stays where you were.
- Holding Down at the end of a note added extra blank lines: the new "open a line below" behavior fired on every key-repeat tick and even when the last line was already blank; it's now restricted to a single press on a non-empty last line.
- Typed palette text lost on Enter with no matches: pressing Enter while a palette search matched nothing silently closed the palette and dropped what you'd typed; it's now restored, matching what Esc already did.
- Potential crash on very wide terminals: a width calculation in the bottom-anchored modal layout could overflow on terminals wider than 655 columns; it's now computed without overflowing.
- Website hero content flush against the edge on mobile: a padding conflict between two CSS classes stripped the horizontal gutter from the site's hero section on narrow screens; fixed, along with a small footer overflow at the narrowest (320px) width.
v0.1.3
v0.1.2
What's Changed
- Fix Windows installer rejecting ARM64 and blank arch detection by @blackstardesigns in #1
New Contributors
- @blackstardesigns made their first contribution in #1
Full Changelog: v0.1.0...v0.1.2
v0.1.0
Version 0.1.0
Release Date: 2026-07-11
This is the first stable release of memo — a keyboard-driven terminal note-taker. Capture and refine notes without ever leaving the keyboard: a local LLM (via MLX on Apple Silicon or Ollama) cleans up grammar and adds Markdown structure on demand, offline speech-to-text dictation (via whisper.cpp) lets you talk instead of type, and everything is stored as plain Markdown files on your own machine — no cloud, no account, nothing to sync. This release builds on the rc1/rc2 candidates with a round of polish, bug fixes, and open-source readiness work ahead of the public launch.
New Features
- Instant quit (
Ctrl+C/Ctrl+Q): Quit memo immediately from any screen or modal, matching the near-universal terminal convention. Any open note is saved first, so nothing is lost. This is separate from theqkey, which still shows the "Quit memo?" confirmation on the notes list. - Man page (
man memo): The installer now generates and installs a man page alongside the binary, generated directly from the CLI's own argument definitions so it can never drift from--help.
Improvements
- Safer install prompts: The installer's "Ready to install?" confirmation now defaults to No (
[y/N]) on both macOS/Linux (install.sh) and Windows (install.ps1) — pressing Enter alone no longer starts the install. Non-interactive runs (CI, no terminal attached) still proceed automatically as before. - More reliable pre-release installs on Windows:
install.ps1now correctly falls back to the newest available release when no stable release exists, and a newMEMO_INSTALL_PREenvironment variable lets you opt into pre-release builds (matching the existing--preflag oninstall.sh). - Hardened file and download handling: Dictation model downloads and note saves are more robust against partial writes and interruptions, and text with wide or multi-byte characters (CJK, emoji) now lays out correctly in the editor and lists.
- Security update: Replaced the archived
serde_yamldependency with the actively maintainedserde_yaml_ngfork, resolving a known advisory (RUSTSEC-2024-0320). - Added an MIT license to the project.
Bug Fixes
- Search results navigation: Left/Right arrow keys previously did nothing when multiple search matches were shown. Pressing Enter now hands focus to the results grid, where all four arrow directions work as expected; a single match still opens directly on Enter. Esc now steps back to the search bar (keeping your query) before a second Esc dismisses search entirely.
- Notes drawer hiding the editor: Fixed an issue where the notes/folders drawer could remain visible on top of the note editor after opening a note while the drawer was open.
- Installer fallback silently failing: Fixed
install.sh's package-install fallback, which ran in a sub-shell and was silently a no-op instead of actually installing missing dependencies.
v0.1.0-rc2
Version 0.1.0-rc2
Release Date: 2026-06-29
⚠️ This is a pre-release candidate. Please report issues on GitHub.
New Features
-
Self-update command (
memo update): Runmemo updatefrom the terminal to download, verify, and install the latest release in place — no need to re-run the installer. Use--checkto see whether an update is available without installing it, and--preto include pre-release versions. The binary's SHA-256 checksum is verified before installation. -
Clipboard paste support: Pasting text now works correctly throughout the app. Multi-line content is preserved when pasting into the note editor; text is automatically flattened to a single line when pasting into title, folder, or other single-line fields. Windows-style line endings (CRLF) are normalized automatically.
Improvements
-
Revised keyboard shortcuts: Shortcuts have been reorganized to free single-letter keys for navigation and move modal/global actions to
Ctrlchords. The full mapping change is listed under Breaking Changes below. -
Drawer passthrough for global commands: While the notes tree drawer is focused, all global list actions (
nnew note,/search,xdelete,Ctrl+Eexport, etc.) now work without needing to close the drawer first. -
Vim-style navigation in the drawer: The notes tree drawer now accepts
j/k/lfor down, up, and expand in addition to the arrow keys. -
Dictation download progress indicator: When
memodownloads the Whisper speech model for the first time, the editor footer now shows an animated spinner with "Preparing dictation for first use…" so it is clear the app is working. Previously, the download happened silently with no visible feedback. -
Version number in the help screen: The help overlay (
Ctrl+H) now displays the running version number in the top-right corner. -
Refined note marker color: The ✦ marker shown on notes that have a refined version is now always displayed in violet (
rgb(127, 0, 255)) for better visibility against all themes. The previously configurablestartheme field has been removed (see Breaking Changes). -
Installer improvements:
install.shgains a--preflag for installing pre-release builds (sh install.sh --pre). The post-install summary box now lists more keyboard shortcuts. Installer output uses a violet/orange color scheme consistent with the app's branding. -
Cleaner status messages: "Nothing to refine yet" is now "Add text to refine"; "Nothing to export" is now "No note to export". The quit confirmation dialog no longer shows a redundant "Your notes are saved." line.
Bug Fixes
-
Push-to-talk stuck recording on macOS: On macOS, the system can intercept the F5 key-up event for its own Dictation feature, meaning
memonever receives the Release event and dictation stays locked on indefinitely. The gesture recognizer now infers key release from the absence of auto-repeat events, so push-to-talk always stops when the key is released even when the Release event is dropped. -
Live-mode toggle broken in tmux / screen: In terminal multiplexers that forward key-press and repeat events but drop key-release events, double-pressing the dictation key to toggle continuous live listening was silently swallowed. The first tap was misread as a stuck push-to-talk hold. The recognizer now correctly recovers from a missed release for quick taps and registers the second tap as a double-press, restoring the toggle.
Breaking Changes
-
Keyboard shortcuts have changed: Several bindings were reassigned between rc1 and rc2. If you have memorized the rc1 layout, refer to the updated help screen (
Ctrl+H) or README.Action rc1 rc2 Toggle drawer hdDelete note / folder dxExport note (list screen) xCtrl+EExport note (editor) Ctrl+XCtrl+EInsert math / symbol picker Ctrl+ECtrl+MShow help ?/Alt+\Ctrl+H -
theme.starconfig field removed: Thestarfield under[theme]in~/.config/memo/config.tomlno longer has any effect and has been removed from the schema. The refined-note marker (✦) is now always violet. Existing config files that still containstar = "..."will load without error but the value is ignored. You can safely remove the line.