Skip to content

memos

Productivity & Wikis

Open‑source, self‑hosted note‑taking tool built for quick capture with Markdown‑native storage and minimal overhead.

Go Latest v0.29.0 · 7d ago Security brief →

Features

  • Instant Capture – timeline‑first UI lets you write notes without navigating folders
  • Total Data Ownership – self‑hosted, Markdown storage with zero telemetry
  • Radical Simplicity – single Go binary (~20 MB Docker image) and one‑command deployment (SQLite/MySQL/PostgreSQL)
  • Open & Extensible – MIT‑licensed with full REST and gRPC APIs

Recent releases

View all 7 releases →
Review required
v0.29.0 Mixed
Auth Dependencies

Link previews + SMTP notifications + Memo improvements

v0.28.0 Breaking risk
Breaking changes
  • Existing SSO users must link their identity again. Sign in with username/password after upgrading, then link SSO identity in Account Settings. Future SSO sign-ins will resolve to existing Memos account.
Security fixes
  • Hardened authorization and username validation
Notable features
  • SSO user identity linkage
  • Choose created or updated time display for memos
  • Redesigned account and SSO management
Full changelog

0.28.0 (2026-04-27)

This release improves SSO account handling by linking external provider identities to local Memos users instead of treating provider identifiers as local usernames. It also refreshes account and SSO management, adds memo time display controls, and includes several authentication and editor fixes.

Breaking Change

  • Existing SSO users must link their identity again - If you previously signed in through SSO, sign in once with your username and password after upgrading, then go to Account Settings to link your SSO identity. After the identity is linked, future SSO sign-ins will resolve to your existing Memos account.

Features

Bug Fixes

  • auth: harden authorization and username validation (#5890) (0fb83a7)
  • disable modal prop on DropdownMenu to prevent scroll disappearing (#5861) (d98f665)
  • fix legacy username auth flows (#5885) (30c0611)
  • markdown: split mixed task and bullet lists (e2c6084)
  • reduce list memo query overhead (#5880) (5063804)
  • web: preserve task checkbox state (#5867) (b5863d7)
v0.27.0 Breaking risk
Breaking changes
  • Identity provider resource IDs replaced with UIDs
  • User resource names switched to usernames
  • Default storage type changed to local filesystem
Security fixes
  • Hardened memo content iframe and HTML sanitization
  • Restricted user email exposure to self and admins only
  • Made API credentials write-only, restricted sensitive settings to admins
Notable features
  • Gemini transcription provider and BYOK audio transcription
  • Voice note recording in memo composer with live waveform display
  • Memo mention parsing with notifications and rendering
Full changelog

0.27.0 (2026-04-18)

Features

  • add --allow-private-webhooks flag to bypass SSRF protection (#5694) (cd5816c)
  • add blur_content attribute to tag metadata settings (#5767) (45b2153)
  • add Gemini transcription provider (#5830) (d87539a)
  • add GitHub release installer and release workflow (1ed542c)
  • add live refresh via Server-Sent Events (SSE) with visual indicator (#5638) (ea0892a)
  • add MCP server with PAT authentication (47d9414)
  • add outline navigation to memo detail sidebar (#5771) (6b30579)
  • ai: add BYOK audio transcription (#5832) (101704c)
  • ai: add instance AI providers and transcription (#5829) (83ed32f)
  • attachments: add Live Photo and Motion Photo support (#5810) (4b4e719)
  • cli: add version subcommand (#5731) (0ba4c0f)
  • editor: add voice note recording to the memo composer (#5801) (c0d5854)
  • extract title from first H1 heading into memo property (#5726) (1e688b2)
  • i18n: update sse connect label in Chinese (#5732) (89c6902)
  • instance: add canonical tag metadata setting (#5736) (65d14fb)
  • instance: add notification transport setting (#5737) (a249d06)
  • mcp: enhance MCP server with full capabilities and new tools (#5720) (b8e9ee2)
  • mcp: harden tool exposure and side effects (#5850) (583c3d2)
  • mcp: refactor MCP server to standard protocol structure (803d488)
  • memo-editor: add compact live waveform recorder panel (#5817) (e51985a)
  • memo-preview: support comment metadata in previews (#5768) (e176b28)
  • memo: add image sharing in detail view (38fc22b)
  • memo: add share links for private memos (#5742) (3f3133d)
  • mentions: add memo mention parsing, notifications, and rendering (#5811) (24fc8ab)
  • replace auto-increment ID with UID for identity provider resource names (#5687) (92d937b)
  • show inline comment preview in list view (3a5d3c8)
  • store: change default storage type to local filesystem (78efa68)
  • treat tag setting keys as anchored regex patterns (#5759) (9e04049)
  • ui: allow navigating between images with arrows in preview dialog (#5669) (104d2ec)
  • user: add per-user tag metadata settings (#5735) (330291d)
  • web: add demo mode banner (#5836) (35504cc)
  • webhook: dispatch webhook on memo comment creation (7c1defb)

Bug Fixes

  • access token refresh on web app (#5681) (3010f10)
  • add unix socket file permission setting (755 -> 660) (#5849) (0fc1dab)
  • api: appease image size lint (ff6389a)
  • api: improve SSE hub design and fix double-broadcast on comments (c53677f)
  • api: make credentials write-only and restrict sensitive settings to admins (9d3a74b)
  • api: reduce memory pressure in backend paths (c456637)
  • api: remove public activity service (#5734) (04f239a)
  • api: restrict user email exposure to self and admins (#5784) (a24d420)
  • api: switch user resource names to usernames (#5779) (acddef1)
  • api: tolerate missing related users in memo conversions (#5809) (25feef3)
  • auth: recover session via refresh cookie when localStorage is empty (#5748) (551ee1d)
  • backend tests action (065e817)
  • clear content search filter when selecting shortcut (#5499) (2c3f9e3)
  • correct typos in comments, error messages, and identifiers (#5704) (8f43e80)
  • detect legacy installations with empty schema version (9628d3d)
  • editor: show newly linked memos when editing a memo with attachments (026ea92)
  • ensure comment divs span full width in MemoDetail (ce44164)
  • fileserver: render SVG attachment previews (40fd700)
  • filter: enforce CEL syntax semantics (0e89407)
  • frontend: restore sitemap and robots routes (fee7fcd)
  • handle chunk load errors after redeployment with auto-reload (#5703) (bdd3554)
  • harden memo content iframe and HTML sanitization (7e21b72)
  • hide transcribe button without AI provider (ab53329)
  • improve image preview dialog and live photo trigger (aafcc21)
  • improve installer compatibility and docs (f90d9a4)
  • improve KaTeX and Mermaid error handling and overflow (6b37fcc)
  • include plain URLs and tags in memo snippet generation (#5688) (3d4f793)
  • lint: correct goimports struct literal alignment after removing write-only credential fields (#5794) (9610ed8)
  • map: align dark mode map styling (7ac9989)
  • map: refine Leaflet controls and memo map styling (894b3eb)
  • markdown: support height/width attributes on img elements (737acbb)
  • memo-editor: scope Cmd+Enter save to the active editor (#5745) (05810e7)
  • mysql: handle CreateMemo custom timestamps with FROM_UNIXTIME (#5673) (09d73e8)
  • normalize attachment MIME types before validation (c3e7e2c)
  • preserve draft content when tab is suspended or editor remounts (9ca7122)
  • prevent local attachment uploads from overwriting files (4add9b0)
  • prevent stale comment drafts from being restored (e520b63)
  • remove duplicate Japanese locale keys (efeb28c)
  • render audio attachments as inline players (#5699) (2ccb98a)
  • restrict archived memo access to creator only (#5707) (f4154d0)
  • routing: redirect unauthenticated users to /explore when public visibility is allowed (98859eb)
  • server: close SSE clients during shutdown (a5ddd5a)
  • sync html lang attribute with active locale (#5753) (be00abe)
  • tag parsing truncates emojis with variation selectors (#5496) (3ea6ea3)
  • tags: allow blur-only tag metadata (#5800) (1921b57)
  • toggle focus mode do not reset editor height (#5504) (0729779)
  • ui: show comment editor above the comment list (#5662) (6b0736b)
  • ui: unify metadata component styles across MemoView and MemoEditor (664b8c5)
  • unify live photo previews around LIVE badge playback (6b0487d)
  • webhooks: trigger memo updates for attachment and relation changes (#5795) (acbc914)
  • web: prevent MemoContent prop leaks (22519b5)
  • web: refine attachment media layout (a0d83e1)
  • web: refresh memo detail cache after editor save (333c9df)
  • web: use BroadcastChannel to sync token refreshes across tabs (bbdc998)

Performance Improvements

  • batch load memo relations when listing memos (#5692) (1e82714)

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

About

Stars
60,325
Forks
4,444
Languages
Go TypeScript Shell

Install & Platforms

Install via
docker shell-script binary helm
Platforms
linux macos windows

Community & Support

Open source alternatives

Beta — feedback welcome: [email protected]