github usememos/memos v0.27.0

6 hours ago

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)

Don't miss a new memos release

NewReleases is sending notifications on new releases.