github memrynote/memry v2026-08-06
Memry v2026-08-06

latest release: v2026-08-06.2
5 hours ago

New Features

  • 🎨 Spatial canvas β€” arrange notes, tasks, and calendar events on an infinite Excalidraw board, now on by default for everyone.
  • πŸ—‚οΈ Canvases live in your vault β€” boards are saved as plain .excalidraw files you can open with any compatible app.
  • πŸ–±οΈ Drag onto the canvas β€” drop notes, tasks, and events straight onto a board, including several at once.
  • πŸ” Add card picker β€” search your notes, tasks, and events or create a note in place, with results rendered the way the rest of the app shows them.
  • ✍️ Live canvas cards β€” cards show fully rendered content with images, checkboxes, and formatting, and you can double-click to edit in place.
  • πŸ€– Agents can draw β€” the assistant can add shapes, text, bound arrows, and frames to your canvases.
  • 🏷️ Tag categories and tag hub β€” organize tags into categories and browse everything on a dedicated tag page.
  • πŸ”— Relation properties β€” link a note to other notes, files, tasks, and events through a property.
  • πŸ“ Project property for notes β€” assign a note to a project from its properties, and see it as a clickable project pill in folder views.
  • πŸ“… Project on events β€” pick a project for a calendar event directly in the event form.
  • πŸ“ Template authoring β€” build and edit templates on the full note surface.
  • ☁️ Templates sync β€” your custom templates now follow you across devices.
  • πŸ”– Bookmarks and reminders sync β€” dismissing or snoozing a reminder on one device stops it firing on the others.
  • πŸ—ƒοΈ Chrome-style tab bar β€” tabs compress to icons and then scroll instead of shrinking away.
  • πŸ–ΌοΈ Obsidian image embeds β€” wiki-style image embeds work in both import and the editor.
  • πŸ†˜ F1 for docs β€” press F1 or use Help β†’ Documentation to open the online docs.

Improvements

  • πŸ”’ Calendar privacy controls β€” agent access to your Google Calendar events is now gated on your explicit consent and kept out of AI surfaces.
  • ⬇️ Smarter updates β€” updates are checked more often, can download silently if you opt in, and show release notes in their own tab.
  • 🌍 Complete translations β€” all 32 languages are now fully translated, with long-standing wording defects fixed.
  • πŸ’¬ Better feedback flow β€” the in-app feedback form shows exactly what it sends before you send it.
  • πŸš€ Faster vault opening β€” embeddings are built in the background so opening a vault no longer hangs.
  • πŸ“‡ More tolerant indexing β€” notes with broken YAML frontmatter or no content are still indexed and searchable.
  • 🧹 Cleaner uninstall β€” brew uninstall --zap now removes app data, settings, caches, and logs while leaving your vault untouched.
  • πŸ“¦ Tidier app data β€” settings, logs, and stored data moved to a memrynote folder and migrate automatically on first launch.
  • 🎯 Consistent icon pickers β€” note, folder, and project icon pickers now use the same picker and stay on screen.

Fixes

  • ☁️ Notes no longer sync as "Untitled" β€” note titles, embedded images, and PDFs now reach your other devices after an edit.
  • πŸ“Ž Attachments survive sync β€” note attachments now transfer correctly between devices, even when sync is starting up.
  • πŸ” Sync recovers on its own β€” hung requests, retry budgets, and dropped updates no longer leave sync stale until you restart the app.
  • βœ… Tasks reappear after project deletion β€” tasks created or edited elsewhere no longer go missing or re-download endlessly.
  • πŸ” New-device setup β€” the vault download step no longer gets stuck when linking a new device.
  • πŸ“₯ Inbox conversion β€” turning an inbox item into a task no longer fails when sync is unavailable, and filed files open in the viewer with their tags intact.
  • πŸ–ΌοΈ Images render again β€” note-relative and Obsidian-style image paths resolve against your vault instead of showing as broken, and stay portable when you save.
  • πŸ“„ PDF page navigation β€” multi-page PDFs embedded in a note can be paged through again.
  • πŸ“‚ Import brings media along β€” markdown import now carries images and attachments from shared media folders.
  • πŸ’¬ Comment fixes β€” comments stay put through a resync, the review flyout stays open while editing, the @-mention picker is no longer clipped, and image and PDF attachments open in-app.
  • πŸ“… Calendar popover β€” the quick-create popover stays inside the window, and promoting an event asks for confirmation when agent access is off.
  • 🏷️ Live tag sidebar β€” the sidebar updates immediately when a task's tags change.
  • ✏️ Renaming a note β€” renaming no longer briefly shows the note as deleted in canvas cards and other views.
  • 🎯 Card placement β€” cards from the Add card picker tile out from the centre of your view instead of stacking, and the picker dims the canvas behind it.
  • πŸ”Ž Add card search β€” the picker finds every calendar event regardless of date, matches accented titles, and no longer hides notes when files share the search term.
  • πŸ“ Shape library β€” the Excalidraw shape library persists in your vault and file import works again.
  • πŸ”‘ Sign-in stability β€” a dead session no longer triggers a storm of refresh attempts, and sync connections renew in place instead of reconnecting.
  • πŸšͺ Cleaner quit β€” background embedding work now stops on quit so updates can install.

Changelog

Full Changelog: v2026-07-19.2...v2026-08-06

#889 ci(vercel): deploy landing and docs from main only, via GitHub Actions @h4yfans
#974 feat(telemetry): full-app PostHog coverage β€” crash detection, silent-error capture, new events @h4yfans
#949 feat(mcp): agents can draw on canvases β€” shapes, text, bound arrows, frames @h4yfans
#950 feat(landing): announce page changes to IndexNow @h4yfans
#948 feat(tabs): Chrome-style tab bar β€” compress to icon-only, then scroll @h4yfans
#946 feat(canvas): canvases are plain .excalidraw files in the vault @h4yfans
#942 feat(properties): relation property type β€” link notes, files, tasks and events @h4yfans
#943 feat(projects): assign notes to projects through a project property @h4yfans
#941 feat(templates): author templates on the note surface @h4yfans
#939 feat(calendar): assign a project to an event from the event form @h4yfans
#938 feat(sync): sync custom templates across devices @h4yfans
#934 feat(canvas): default the spatialCanvas flag on @h4yfans
#923 feat(agent-mcp): expose tag categories to MCP @h4yfans
#928 test(mcp): cover canvas handles and the features flag reader @h4yfans
#927 feat(mcp): canvas coverage β€” read tools, item add/remove, write safety (#916) @h4yfans
#925 feat(agent-mcp): expose the project hub link layer @h4yfans
#926 feat(calendar): gate agent access to Google Calendar events on user consent @h4yfans
#922 feat(mcp): close pre-existing agent allowlist gaps @h4yfans
#914 feat(sync): sync bookmarks and reminders across devices @h4yfans
#901 feat(tags): tag categories, tag hub, and single-tag page @h4yfans
#906 feat(markdown): support obsidian image embeds in import and the editor @h4yfans
#899 feat(canvas): render cards as live content, remove preview mode @h4yfans
#894 feat(canvas): drag notes, tasks and events onto a canvas @h4yfans
#892 feat(canvas): render add-card results the way the app renders its entities @h4yfans
#890 feat(canvas): reach every calendar event from the Add card picker (#869) @h4yfans
#866 feat(telemetry): make PostHog the single observability sink @h4yfans
#868 feat(canvas): Add card picker for task and calendar-event cards @h4yfans
#855 feat(canvas): M7 rollout β€” opt-in hardening, telemetry, and docs @h4yfans
#849 feat(startup): log a single launch phase timeline per launch (#843) @h4yfans
#834 feat(feedback): MemryNote branding, verified plan in the email, in-app disclosure @h4yfans
#833 feat(canvas): M6 β€” in-place live editing @h4yfans
#831 feat(menu): F1 opens online docs; fix Help→Documentation URL @h4yfans
#818 feat(updater): short-interval polling, silent opt-in download, read-only release-notes tab @h4yfans
#815 feat(canvas): M5 β€” asset externalization (memry-file:// + R2, dedup, GC) @h4yfans
#811 feat(canvas): M4 β€” E2E-encrypted cross-device sync of the canvas record type @h4yfans
#785 feat(canvas): spatial canvas (Excalidraw) M0–M3 β€” local-only, default-OFF @h4yfans
#973 fix(inbox): don't fail task conversion when sync enqueue throws @h4yfans
#971 fix(calendar): keep the quick-create popover inside the window @h4yfans
#969 fix(sync): spend the push retry budget across cycles, not inside one push() @h4yfans
#970 fix(sync): recover journal metadata updates raised while the sync runtime is down @h4yfans
#962 fix(sync): stop shipping the journal date in delete tombstones @h4yfans
#963 fix(sync): keep the attachment note push when the sync runtime is down @h4yfans
#947 fix(sync): stop notes:updated from throwing once per pulled note @h4yfans
#945 fix(folder-view): project property is a read-only pill that opens the project @h4yfans
#940 fix(linking): unblock the vault download step on a new device @h4yfans
#936 i18n: complete all 32 locales and fix the defects shipping in every language @h4yfans
#935 fix(main): route window fan-out sends through guarded broadcastToAllWindows @h4yfans
#932 fix(sync): skip destroyed windows in renderer emit fan-out @h4yfans
#933 fix(agent-mcp): drop duplicated canvas tool schemas @h4yfans
#931 fix(sync): recover from hung sync requests instead of staying stale until restart @h4yfans
#930 fix(calendar): confirm promotion while agent access to Google events is off @h4yfans
#924 fix(agent-mcp): expose note file type to MCP search and read @h4yfans
#903 fix(import): resolve markdown assets against the selected folder @h4yfans
#912 fix(notes): keep obsidian image embeds portable when a note is saved @h4yfans
#910 fix(editor): await the vault path instead of racing the hook that loads it @h4yfans
#908 fix(editor): treat backslashes as separators when resolving image paths @h4yfans
#907 fix(editor): render note-relative image paths against the vault @h4yfans
#902 fix(notes): restore page navigation on inline PDF embeds @h4yfans
#904 fix(sync): stop losing note metadata pushes that made notes sync as "Untitled" @h4yfans
#898 fix(cask): zap real @Memry userData and updater caches @h4yfans
#895 fix(agent): isolate Google Calendar data from AI surfaces (Limited Use) @h4yfans
#896 fix(sync): make note attachments survive cross-device sync @h4yfans
#897 feat(app): rename the runtime identity to memrynote (logs, userData, Safe Storage) with legacy migration @h4yfans
#891 fix(canvas): persist the Excalidraw shape library in the vault and unblock file import @h4yfans
#888 fix(canvas): tile added cards instead of stacking them on the viewport centre (#871) @h4yfans
#887 fix(canvas): filter note file types inside quick search so the Add card cap counts placeable rows @h4yfans
#885 fix(canvas): give the Add card picker a backdrop scrim (#872) @h4yfans
#884 fix(projections): give each projector its own queue (#877) @h4yfans
#867 fix(e2e): purge the keychain items each e2e run mints @h4yfans
#881 fix(build): stop failing builds on unactivated certificate pins (#876) @h4yfans
#880 fix(husky): resolve @{u} with --verify so the pre-push origin/main fallback is reachable @h4yfans
#857 fix(tests): stub listTasks in the PROJECT_DELETE handler test @h4yfans
#856 fix(logging): drop CertPin/CryptoMemLock/embeddings noise from the warn stream @h4yfans
#835 fix(release): inject GOOGLE_CALENDAR_CLIENT_SECRET in all publish build jobs @h4yfans
#847 fix(updater): log the phase, code and message behind update failures (#842) @h4yfans
#850 fix(auth): stop refresh storm on a dead refresh token @h4yfans
#848 fix(telemetry): harden error normalization; recover window_error class + location @h4yfans
#851 fix(sync): renew WS token in place instead of expiry-driven reconnect churn @h4yfans
#852 fix(crdt): stop blaming the store when the preflight child never starts @h4yfans
#853 fix(indexer): tolerate broken YAML frontmatter, log errno for unreadable files (#844) @h4yfans
#854 fix(sync): tombstone cascade-deleted tasks, repair FK orphans on pull (#837) @h4yfans
#832 fix(tasks): refresh tag sidebar live when a task tag changes @h4yfans
#828 fix(icon-picker): keep note/folder emoji picker on-screen via Radix Popover @h4yfans
#820 fix(updater): stop embeddings utility process on quit (#805) @h4yfans
#829 fix(comments): open image/PDF attachments in-app instead of trapping the app @h4yfans
#827 fix(extension): request Firefox host permission before first clip @h4yfans
#821 fix(vault): defer embeddings out of the index pass so vault-open never hangs (#803) @h4yfans
#830 fix(tasks): migrate project icon picker to shared emoji/icon picker (#802) @h4yfans
#826 fix(inbox): open filed binaries in the file viewer + preserve tags (#800) @h4yfans
#825 fix(comments): unclip @-mention picker and open it from the "@" button @h4yfans
#823 fix(comments): keep just-added comment through stale resync during save debounce @h4yfans
#822 fix(comments): keep review flyout open when editing a comment @h4yfans
#816 fix(devex): un-gate contracts vitest suite from root test pipeline @h4yfans
#968 sync: latch the crypto worker bridge off after repeated failures @h4yfans
#967 sync: keep the newest queue row when coalescing a push batch @h4yfans
#966 sync: honour shouldSkip on delete so local-only rows are never tombstoned @h4yfans
#961 sync: unify sync server URL resolution and cover two untested branches @h4yfans
#960 sync: degrade to main-thread crypto when the worker rejects a batch @h4yfans
#955 Sync: backfill coverage and close the data-loss and privacy defects it exposed @h4yfans
#929 docs(mcp): design for canvas MCP coverage (#916) @h4yfans
#915 test(e2e): match the quick-add task field now that it is a textarea @h4yfans
#905 Project page hub redesign @h4yfans
#911 test(editor): cover the vault-path race the image resolver hit @h4yfans
#893 test(canvas): stub useHandleLibrary in the CanvasEditor Excalidraw mock @h4yfans
#812 Projects all-in-one hub β€” Phase 1: link notes to projects @h4yfans
#886 refactor(canvas): single entityKey derivation (#873) @h4yfans
#793 test(desktop): e2e diagnostic report consent + opted-out no-send @h4yfans

Don't miss a new memry release

NewReleases is sending notifications on new releases.