Link previews + SMTP notifications + Memo improvements
Release history
memos releases
Open-source, self-hosted note-taking tool built for quick capture. Markdown-native, lightweight, and fully yours.
All releases
7 shown
- 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.
- Hardened authorization and username validation
- 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
- auth: add SSO user identity linkage (#5883) (d688914)
- memos: choose created or updated time for memos (#5894) (c268551)
- redesign account and SSO management (#5886) (ee17998)
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)
- Identity provider resource IDs replaced with UIDs
- User resource names switched to usernames
- Default storage type changed to local filesystem
- 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
- 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
- SSRF vulnerability in webhook dispatcher
Addressed critical backend and frontend bugs including inbox crashes from deleted memos, authentication token expiration issues, video attachment handling, and nested task list rendering. Fixed environment variable parsing and access control validation.
- HOST role migrated to ADMIN
- Refresh token rotation with sliding window sessions
- React Query state management migration
- Memo map visualization with Google Maps