Repository navigation
Releases: LowBloat/LowNotes
Releases · LowBloat/LowNotes
Release list
LowNotes 0.5.0
✨ Features
- Excalidraw drawings inside notes — Drawing in the editor toolbar adds a sketch where the cursor is and opens a full-screen canvas that saves as you draw. The preview shows the drawing and opens it on click; the drawing lives in the note itself as an
excalidrawblock, so it syncs between devices, merges strokes drawn on two devices at once, and is embedded as an image in Word and PDF exports. - Use your notes from other AI apps (MCP) — LowNotes can serve the open vault to Claude Desktop, Claude Code, Cursor and other MCP clients while it sits in the tray. Turn it on in Settings → MCP server, choose which vaults to share and copy the ready-made configuration for your app. Clients can list, read and search notes and follow links and backlinks; they cannot change anything.
lownotes-mcpbridge — a small program installed next to LowNotes on Windows, macOS and Linux (installers, portable builds and the Arch package) that MCP clients launch to reach the running app. When LowNotes is closed or MCP is off, it tells the client why instead of failing silently. On Linux, connect AI apps through the .deb, .rpm or Arch package: the AppImage moves to a new path on every start.
🔒 Security
- MCP is off by default and read-only — the server only answers on a pipe (Windows) or socket (macOS, Linux) restricted to your user, only after a token kept in the operating system's credential store, and only for vaults you shared. Regenerate token disconnects every client. The log records tool names and timings, never note content, searches or the token.
- Updated dependencies — pulldown-cmark 0.13.5 fixes RUSTSEC-2026-0414, where crafted wiki links in a synced note could stall the link index, and nanoid 3.3.20 fixes the advisories in the copies pinned by Excalidraw.
📝 Documentation
- MCP guide — docs/MCP.md explains how to connect each AI app, where
lownotes-mcpis installed, what leaves LowNotes and how to read the bridge's error messages. The threat model and architecture overview cover the MCP server, including prompt injection from synced notes and what reaches the AI provider.
Full Changelog: v0.4.2...v0.5.0
LowNotes 0.4.2
What's Changed
- ci: shorten the release by building in parallel by @FabioHAraujo in #82
- fix(deps): ctutils 0.4.5 and DOMPurify 3.4.17 by @FabioHAraujo in #90
- fix: keep the window hidden until the themed page is ready by @FabioHAraujo in #86
- feat: right-click menus in the note tree, editor and preview by @FabioHAraujo in #91
- feat: title bar with application menus by @FabioHAraujo in #88
- chore: release v0.4.2 by @FabioHAraujo in #89
Full Changelog: v0.4.1...v0.4.2
LowNotes 0.4.1
What's Changed
- fix: render update release notes as Markdown by @FabioHAraujo in #74
- fix(deps): patch markdown-it, vite and webpki advisories by @FabioHAraujo in #79
- ci: build the Linux release on a self-hosted runner when configured by @FabioHAraujo in #78
- feat: optional "Open with LowNotes" file manager entry by @FabioHAraujo in #77
- fix(ci): install xdg-utils in the self-hosted runner image by @FabioHAraujo in #81
- chore: release v0.4.1 by @FabioHAraujo in #80
Full Changelog: v0.4.0...v0.4.1
LowNotes v0.4.0
✨ Features
- Remove vaults from the list — the vault menu in the sidebar removes a vault from LowNotes without touching its folder or notes, which stay on disk and can be opened again later. Vaults whose folders are no longer found are flagged in the list.
- Load remote images when you choose — images hosted on other websites no longer load automatically in notes and assistant messages. Click a blocked image to show it, or enable Settings → Load remote images; images uploaded through Catbox and Imgur keep loading as before.
- Fresh pair codes — Manage connections → New code invalidates every pair code shared so far, and each code now works only once.
- Diagnostic log — LowNotes keeps a rotating log in its application data folder, opened from Settings → Open log folder, to help investigate synchronization and storage problems. It never contains note content, keys or pairing codes.
🔧 Improvements
- A responsive interface during heavy work — reading and writing notes, collaborative history and synchronization run outside the interface thread, and structural locks are held per vault. Large vaults and slow disks no longer freeze the window.
- Lighter typing and synchronization — edits are merged and saved every 150 ms instead of on every keystroke, the preview follows the text with a short delay, and notes are read once when opened. Periodic synchronization reuses file hashes, skips unchanged collaborative documents and slows down for idle devices, while live collaboration keeps one connection per device and merges queued updates.
- Calmer offline devices — unreachable devices are retried with increasing intervals and report one error instead of one per minute. Sync now, or the device reaching you, retries right away.
- In-app dialogs — confirmations, alerts and name prompts use LowNotes' own dialogs instead of the system windows, which also fixes renaming notes and chats on macOS.
- Language and accessibility — the tray menu, the vault folder picker and the palette preview follow the interface language, and counts use singular and plural forms. Modals receive focus, keep Tab inside and return focus when closed; sidebar rows work with the keyboard and the vault menu closes with Escape or an outside click.
- Opt-in web search services — only DuckDuckGo is enabled by default. Existing settings keep DuckDuckGo and any service already configured with a key.
- Every conflict copy is listed — each conflict stays visible until it is opened or dismissed, instead of only the latest one.
🔒 Security
- Secrets stay in the native process — the interface no longer receives the P2P identity, pairing tokens or provider and search keys. Key fields are write-only: a saved key is shown as saved and can be replaced or removed.
- Content Security Policy — the interface runs under a restrictive policy, and remote content loads only when allowed.
- Stricter pairing — unpaired devices may only send a small pairing request within a time limit, the request is bound to the connection identity and tokens are compared in constant time.
- Safer exports — the destination is chosen in a native save dialog controlled by LowNotes, and remote images embedded in Word/PDF exports must use HTTPS and public addresses.
- Updated dependencies — includes fixes for rustls and lodash-es advisories, and the opener plugin no longer accepts custom file flags from the interface. Dependencies are audited weekly.
🐛 Bug fixes
- Links in the preview — clicking a link no longer replaces the app with a blank page; web links open in the browser and note links open the note.
- Release notes in the update dialog — the update prompt shows what changed in the new version again.
- Identity saving failures — a vault identity that cannot be saved no longer goes online and gets replaced on the next start, which would break existing pairings.
- Network restarts — restarting the network closes the previous connection endpoint first.
- Windows file locks — renames and removals tolerate brief locks from antivirus software and indexers.
- Credential store cleanup — replaced secrets no longer leave orphaned entries in Windows Credential Manager, macOS Keychain or Linux Secret Service.
📝 Documentation
- Security, architecture and synchronization guides — added a security policy, code of conduct, changelog, architecture overview, synchronization protocol and threat model. Devices on v0.3.x keep synchronizing with v0.4.0.
- Verifiable downloads — releases include
SHA256SUMS, an SPDX software bill of materials and build provenance attestations; verify a download withgh attestation verify <file> --repo LowBloat/LowNotes. The AUR recipe is published with real checksums for every release.
LowNotes v0.3.5
🔧 Improvements
- Automatic icon generation — desktop builds regenerate the app, tray and favicon icons from the current LowNotes logo. Windows, Linux and macOS share the green grimoire branding, and repeated generation preserves unchanged assets.
🐛 Bug fixes
- Current icon on fresh installations — the packaged platform icons now use the green LowNotes logo instead of the previous orange artwork. Windows executables embed the updated icon in all six sizes, and incremental builds refresh it when icon files change.
- Matching Windows setup icons — the NSIS installer and uninstaller now use the LowNotes icon consistently with the installed app.
📝 Documentation
- Icon source and build guidance — documented the source logo, automatic generation and the files to update when changing desktop branding.
LowNotes v0.3.4
✨ Features
- Persistent history and trash — History and trash in the sidebar keeps note versions and deleted notes or folders available after restarting LowNotes. Restore a selected deletion with its assets and collaborative history; if its old filename is occupied, restoration chooses another name instead of overwriting the new note.
- Compare and restore Markdown — compare an earlier version or another note, including a conflict copy, with the current Markdown. Choose either text, combine them or edit the result before applying it as a new collaborative edit. If the note changes during comparison, refresh it without losing your combined result.
- References follow renames and moves — stable note identities preserve collaborative history and map relationships when notes or folders move. Local Markdown links, reference definitions and wikilinks are updated while retaining labels, aliases, titles, anchors and code examples; relative paths also follow local assets.
- Credentials in the system store — provider keys and pairing identities move out of the preferences JSON into Windows Credential Manager, macOS Keychain or Linux Secret Service. Migration verifies stored credentials before removing the old copies, and unavailable stores show a retry action while notes remain usable.
🔧 Improvements
- Reliable offline structural changes — paired devices exchange durable creation, movement and deletion records before synchronizing note content. Deleted notes do not silently return when an offline peer reconnects; concurrent edits remain available for review, and a new note at an old filename has its own identity.
- Map changes merge across devices — distinct manual and assistant links created offline are retained regardless of file timestamps. Removing a relation records its observed additions, preventing stale lists from bringing it back. Relationships follow their original note identities through moves and explicit restoration.
- Configurable local retention — recovery data is kept forever by default. History and trash → Retention offers optional day limits, periodic cleanup and a preview before manual removal. Archives awaiting acknowledgement from paired devices, external recovery files and unsafe or incomplete archives stay protected; image blobs and structural deletion records are retained.
🐛 Bug fixes
- Recovery after interrupted writes — atomic replacement, validated backups and durable transactions coordinate Markdown with its collaborative state during saves, creation, moves and link removal. Reopening completes recoverable operations, preserves conflicting external files and reports recovery instead of silently discarding data.
- Consistent received and externally edited notes — legacy Markdown transfers save text and collaborative state together. Cached documents import recovered history before interpreting external edits, and synchronization imports external Markdown before comparing manifests, preventing duplicated text and overlooked changes.
- Removing links preserves collaborative history — unlinking map relations keeps their visible text through a coordinated Markdown edit and updates the open editor. Recovery follows note identities and rechecks the current text before completing interrupted changes.
📝 Documentation
- Synchronization and recovery guidance — documented note identities, conflict copies, local versions, retention and backup requirements. Update both paired devices to v0.3.4 for complete offline structural convergence; older clients retain compatible note synchronization but do not exchange durable structural changes. History and trash remain local to each device.
- Regression checks before publishing — PRs and pushes to the main branch verify Rust, frontend, native credentials and interface behavior on Windows, Linux and macOS. Release builds also require native Rust and interface regressions, including offline changes, abrupt-process recovery and collaborative restoration.
LowNotes v0.3.3
🔧 Improvements
- Consistent language labels — code block language names have a slightly bolder weight and follow palette changes automatically. The adjustment is limited to code fence information, preserving code content and existing link highlighting.
🐛 Bug fixes
- Readable code block languages — language names in fenced Markdown code blocks now use the active palette's accent color instead of the editor's fixed blue, improving readability in both light and dark themes.
LowNotes v0.3.2
✨ Features
- Floating note search — Ctrl + F opens a compact search panel in the upper-right corner of the note area; use Cmd + F on macOS. Search the Markdown in Editor view, the rendered text in Preview view, or both in Split view. Navigating results in Split view scrolls both panes together, and shared occurrences are counted once.
- Search options and replacement — filter by case, whole words or regular expressions. Expand the replacement controls in Editor or Split view to replace one source match or all source matches, with local undo support.
🔧 Improvements
- Keyboard navigation — Enter, F3 and Ctrl/Cmd + G move to the next result; add Shift to move backwards. Escape closes the panel and removes search highlights. Ctrl/Cmd + H opens the replacement controls in editing views.
- Clear search feedback — occurrence counters, empty results and invalid expression messages are translated into English, Portuguese and Spanish. The responsive panel and match highlights follow the active light or dark palette.
🐛 Bug fixes
- Stable editing during search — typing and synchronized changes refresh the search without moving the caret. Preview highlights preserve links, inline formatting and interactive task checkboxes.
- Accurate result mapping — rendered matches map back to their Markdown positions, including formatted text and notes with Windows line endings. Source-only matches in Split view scroll the preview to their corresponding content block.
📝 Documentation
- Note search and shortcuts — documented search behavior in each view, result navigation, filters and Markdown replacement.
LowNotes v0.3.1
✨ Features
- Interactive task lists — check or uncheck tasks directly in Split or Preview view. LowNotes updates the matching
[ ]/[x]marker in the Markdown, autosaves the note and synchronizes the change with paired devices. Each toggle is a separate local undo step, including when a checkbox has keyboard focus. - Edit existing notes with the assistant — the assistant can propose changes to existing Markdown files, including marking tasks as done. Review the original and replacement text in the chat, adjust the proposal and apply it when ready. Applied changes update the open editor and synchronize through P2P.
- Open editor links in your browser — Ctrl + click a Markdown link, image URL, reference link or plain web URL to open it in your default browser; use Cmd + click on macOS. Regular clicks continue to edit the note, and opening a link preserves the text and current selection.
🔧 Improvements
- Assistant edit history — edit proposals and their applied status are saved with each conversation. Follow-up requests distinguish proposed changes from changes already applied.
- Review before applying — edits are limited to existing notes supplied as context. The original excerpt must still match exactly and appear only once, preventing stale or ambiguous proposals from replacing the wrong text. Small edits preserve surrounding text and concurrent changes from other devices.
- Keyboard support for task lists — focused checkboxes work with Space, and Ctrl + Z, Ctrl + Y or Ctrl + Shift + Z undo and redo local changes while preserving remote edits.
🐛 Bug fixes
- Readable links across themes — editor links now use the active palette's accent color and retain their underline, improving contrast in dark and light themes while preserving other syntax highlighting.
- Correct task selection — nested, ordered, quoted and repeated tasks map to their original Markdown positions. Stale previews do not toggle a different task, and checkboxes in code examples, assistant messages and exported documents remain read-only.
📝 Documentation
- Task lists, assistant edits and link shortcuts — documented preview task editing, reviewable changes to existing notes, collaborative undo behavior and Ctrl/Cmd + click navigation.
LowNotes v0.3.0
✨ Features
- Paste images directly into notes — paste an image anywhere in the text editor to insert a Markdown reference at the cursor. Processing progress appears above the editor, with retry and cancel actions if a save or upload fails. Image insertion follows ongoing edits and preserves the editor's local undo behavior.
- Local images by default — images work offline without accounts, application keys or an external hosting service. A single hidden SQLite file,
.lownotes/images.sqlite3, stores images inside each vault. Static images use lossless WebP compression when it reduces their size; transparency, GIF frames and timing are preserved, while animated PNG/WebP files remain intact. Identical content is stored only once, and stable references keep working when notes are moved or renamed. - P2P image synchronization — paired devices exchange only missing images and verify their content hashes instead of copying the database. Images added offline on different devices merge without overwriting one another, and the preview refreshes when an image arrives.
- Choose your image provider — Settings → General → Pasted images offers Local, Catbox and Imgur, with the choice saved per device. Catbox supports anonymous uploads without a key. Imgur uses LowNotes' public Client ID by default, with an optional application Client ID for users who prefer their own quota; no Client Secret is required.
🔧 Improvements
- Local images in previews and exports — the Markdown preview and Word/PDF exports resolve images directly from the vault database, so locally stored images are embedded in exported documents.
- Safe processing and retries — each paste keeps its original vault and provider while it is processed. Size and format checks provide translated errors, and retrying a partially completed paste keeps the images already uploaded.
- Existing installations start with Local — the new default is applied once when upgrading; later provider selections are preserved. The new image sync protocol retains ordinary note synchronization with older versions.
🐛 Bug fixes
- Catbox upload connection failures — desktop uploads now include an application User-Agent, fixing the connection failure observed when uploading from LowNotes.
- Pasted image positions — pending image references track edits made during processing, and canceled insertions or closed editors ignore late upload results.
📝 Documentation
- Image storage and backup guidance — documented provider requirements, supported formats and processing limits. Both paired devices need v0.3.0 or later to synchronize local images. Backups must include the vault's
.lownotesdirectory, andlownotes-image:references require LowNotes to read the image database. Image blobs remain available after undo or note removal so other notes and offline peers can still reference them.