Releases: usememos/memos
Release list
v0.31.0-rc.2
What's new
- Calendar: Browse memos by month, open a day to read its entries, and add a memo for that date. (#6277)
- Map: Explore memos with location data on a dedicated map page. (bc89ec0)
- Spaces: Move memos between Spaces, receive invitations in your inbox, and choose custom icons or emoji. Switch Spaces without losing your current page or filters. (#6285, #6266, #6287)
- Views and search: Personalize saved Views with icons, find memos by Space, and use expressions in Quick Find for more precise searches. (#6305, #6267, #6276)
- Writing: Format Markdown with keyboard shortcuts and start typing right away when Home opens on desktop. (#6258)
- More options: Check attachment storage usage in account settings, listen to audio at 0.5× or 0.75× speed, and use Memos in Azerbaijani.
Improvements and fixes
- Refined the memo detail sidebar and compact navigation, with clearer active filters and better spacing.
- Improved mobile typing assistance and tag suggestions. Pasted files now appear as attachments, and date edits are saved when closing the date picker.
- Fixed focus mode in multi-column layouts. Headers and reactions remain clickable when memo content is blurred.
- Improved dark-mode status bar colors and Chinese translations.
- Strengthened protection against abusive requests and unsafe webhook destinations, improved MCP compatibility, and corrected scheduled-job timing.
Upgrade notes
Account email: Email is optional, but each address can now belong to only one account per instance. If accounts share an address, the upgrade keeps it on the oldest account and clears it from the others. Administrators can check the server logs for affected usernames; those users can add a different address in account settings.
New Contributors
- @elonfliter made their first contribution in #6251
- @RubenPari made their first contribution in #6274
- @jamalkamaladdin made their first contribution in #6278
- @ocfox made their first contribution in #6320
- @anandghegde made their first contribution in #6324
- @ryanchou1994 made their first contribution in #6269
Full Changelog: v0.31.0-rc.1...v0.31.0-rc.2
v0.31.0-rc.1
Summary
Memos 0.31.0-rc.1 introduces first-class Spaces for collaboration while preserving individual memo ownership. It also brings a unified sidebar and global composer, inline attachment images and optional media metadata, Saved Views, richer link previews, and consistent tag and mention parsing.
This release candidate separates instance access policy from its public URL and strengthens attachment authorization, database upgrades, and live-update performance. Existing memos keep their identity, author, visibility, and relations and start as Unassigned rather than being placed into a generated default Space.
⚠ BREAKING CHANGES
- Saved Views: Saved Views replace Shortcuts throughout the API, MCP surface, persisted settings, resource names, and web routes.
ShortcutServiceand/api/v1/users/*/shortcuts/*becomeMemoViewServiceand/api/v1/users/*/views/*, and the web route moves from/shortcutsto/views. Stored shortcut data is migrated automatically, but API clients, MCP integrations, and saved links must be updated. (#6167) - Memo ownership: Instance administrators are no longer implicit memo collaborators or Space members. Memo, attachment, reaction, relation, and share mutations are author-controlled; Space administrators manage the Space and its membership but cannot edit another author's memo. (#6228)
- Comments: Comments now have independent visibility, placement, and lifecycle.
CreateMemoCommentno longer inherits the context memo's visibility, so an unspecified value becomesPRIVATE.SetMemoRelationsrejectsCOMMENTrelations, and deleting a memo removes only that memo, its owned resources, and incident relations instead of cascading into comment memos. (#6228) - Reactions: Removed
Reaction.content_idfrom the public API; integrations must identify the memo from the request or reaction resource name. Stored reactions are migrated to internal memo IDs, and orphaned reactions whose memo no longer exists are discarded. (#6221) - Managed attachments: Managed Markdown images must be bound to the memo before or during the same mutation. S3-backed attachments no longer return presigned object URLs in
external_link; clients should use the authenticated Memos file route. (#6169) (#6210) - Usernames and mentions: Username lookup and authentication are now exact-case. New and renamed usernames use 1–36 ASCII letters, digits, or interior hyphens, and mentions follow the same Markdown-aware grammar. Legacy usernames remain addressable, but email-like, underscore-containing, or non-ASCII legacy spellings cannot be authored as new mentions. (#6134)
- Quick Find: Removed the global Cmd/Ctrl+K shortcut. Quick Find remains available from the sidebar search action. (#6219)
- RSS: Removed the Explore and per-user RSS feeds.
/explore/rss.xmland/u/:username/rss.xmlnow return404. (#6243)
Upgrade notes
- Instance access: Public or private access is now stored independently of
instance-url. The first upgraded startup preserves the legacy behavior—instances with a configured URL become public and those without one remain private—but later URL changes no longer alter access. Upgrade all replicas before changing the mode because older binaries still infer access from the URL.instance-urlmust now be an absolute HTTP(S) URL without credentials, a query, or a fragment. (#6225) - Spaces: Existing memos remain Unassigned and no default Space is created. Deleting a Space permanently deletes every memo directly assigned to it and its owned resources, while removing a member leaves their contributions in place. Accounts with active Space memberships cannot be deleted, even with
force. (#6228) - Database migrations: SQLite, MySQL, and PostgreSQL migrations preserve existing memo data, migrate Saved Views and legacy storage settings, and retain generated-ID high-water marks. (#6184) (#6247)
- Tag indexes: Existing memo payloads are not automatically rebuilt for the new tag grammar. Rendering and editing use the new rules immediately, while tag filters and statistics adopt them as each memo is next saved. (#6132)
- Deployment: Private webhook destinations can now be limited to exact hostnames, IP addresses, or CIDRs with
--webhook-private-network-allowlist. The blanket--allow-private-webhooksoption remains compatible but is deprecated. Building Memos from source now requires Go 1.27. (#6217) (#6225)
Highlights
- Collaborative Spaces: Added first-class Spaces with
ADMINandUSERmemberships. Each memo—including a comment—remains author-owned and may be Unassigned or placed in exactly one Space without changing its identity. Placement and audience remain independent: use the newSPACEvisibility for members-only reading. (#6228) - Space-aware browsing and management: The Space switcher scopes Home, Explore, memo creation, statistics, filters, and attachments, while Archived, Inbox, profiles, and Settings stay global. Administrators can manage metadata and roles and invite existing users, but an invitation grants no access until the invitee accepts. New Spaces use UUIDv4 identifiers by default and also support custom stable UIDs. (#6230) (#6232) (#6234) (9d2b77c)
- Navigation and writing: Replaced the dual navigation rails with one route-aware, resizable sidebar containing the calendar, Saved Views, tags, Quick Find, and contextual resource navigation. A global composer can create a memo from any authenticated route. (#6144) (#6148) (#6219)
- Inline images and media details: Added cursor-aware image insertion from upload, paste, drag-and-drop, or existing attachments, with retry and draft-restoration support. Users can optionally preserve normalized dimensions, camera details, capture time, location, and video duration and inspect them in the attachment viewer. (#6169) (#6172) (#6180)
- Attachment storage: Added named storage configurations with stable IDs so existing S3 attachments remain readable across configuration changes. Legacy settings migrate automatically, and managed S3 files are proxied through authenticated routes with range-request support. (#6184) (#6210)
- Tags and mentions: Unified parsing across the backend, renderer, editor, filters, statistics, and API. Tags now consistently support multilingual text, emoji, hierarchy, numeric values,
-,+,&, and word-internal apostrophes while respecting Markdown context; mentions now follow the exact-case username grammar. (#6132) (#6134) (#6135) - Link previews: Added standards-based oEmbed, Open Graph, Twitter Card, JSON-LD, HTML metadata, and semantic fallback discovery, with bounded fetching, caching, request coalescing, and existing SSRF protections. (#6206)
- Filtering and live updates: Added location-aware memo filtering and reduced redundant SSE connections by sharing one visible-tab connection across browser tabs and lowering server fanout overhead. (#6181) (dd18002)
Fixes and polish
- Editor and Markdown: Preserved IME composition, restored Windows emoji input, matched tag autocomplete on hierarchical path segments, kept task checkboxes controlled, prevented currency from being parsed as inline math, aligned outline links with rendered headings, and scoped presentation toggles correctly. (#6159) (#6216) (#6227)
- Attachments and sharing: Kept share tokens on shared-memo thumbnails, linked attachment-library media back to source memos, and detected HEIC and HEIF uploads reliably from filename extensions. (#6155) (#6246) (c4221c6)
- Database reliability: Began SQLite memo mutations with
BEGIN IMMEDIATEso concurrent writers queue instead of intermittently returningSQLITE_BUSY, and hardened 0.31 upgrades against malformed legacy settings and generated-ID reuse. ([#6192](https://...
v0.30.0
Memos 0.30 refreshes how you capture, write, and browse your notes. It introduces the Memos Web Clipper, a rebuilt Markdown editor, richer memo detail views, flexible multi-column feeds, faster rendering, and stronger authentication and sharing boundaries.
Introducing Memos Web Clipper
Save page details, selected text, and images directly to Memos from Chromium-based browsers and Firefox. The clipper converts links, lists, code, and tables to Markdown, uploads images as attachments, and lets you review and edit every clip before saving.
Choose Private, Protected, or Public visibility, customize the output with local templates, or save selected text and images as private memos from the browser context menu. Connect through usememos.com, or connect directly with your Memos instance URL and a personal access token.
Install for Chrome · Install for Firefox · Visit website · GitHub
Writing and browsing
- A new Markdown editor: The editor has been rebuilt as a single CodeMirror 6 decorated-source experience. Your Markdown stays visible and unchanged while headings, formatting, tags, and mentions are styled in place. Tag completion, list indentation, focus mode, improved keyboard shortcuts, and a toggleable formatting toolbar make longer writing sessions smoother. (5a73d7) (e3c231f)
- Richer memo details: The memo detail page now uses a property rail for quick actions, visibility, metadata, attachments, relations, and a scroll-aware outline. When you return to a feed, Memos restores your previous scroll position. (d4b5a16) (e497895)
- Feeds that fit your workflow: Choose one, two, three, or automatically fitted columns, then control compact rendering and link previews. Preferences are saved, multi-column layouts stay balanced as cards resize, and newly created memos remain easy to find above pinned content. (177d65a) (e3e4ae1) (cafa56f)
- Better Markdown and conversations: GFM footnotes now render with navigation, file paste and drag-and-drop behavior is more reliable, task-list expansion is preserved, and comment pagination can load the full conversation. (1020060) (#6076) (ecbe2ab)
Personalization and interface
- More capable filters: Shortcut filters now support string matching, regular expressions, collection predicates, timestamp accessors, set operations, and an untagged-memos recipe. (f0e4a56) (b787bfa)
- Personal tag settings: Tag colors and content-blur rules now belong to each user. Existing instance-level settings are copied to current users during migration. Tags inside links are no longer misidentified, literal tags can be escaped with a backslash, and names support Unicode combining marks. (#6017) (a50ce09) (#6051)
- Clearer settings and access tokens: Settings navigation has been refreshed, while the access-token page now includes practical guidance, a copyable API example, safety notes, and last-used timestamps. New access tokens default to no expiration. (715306e) (cc20327)
- A more consistent interface: Sign-in, sign-up, About, mobile controls, loading states, radio indicators, tooltip arrows, and long location labels have all been refined. The locale picker is now searchable, European language coverage has expanded, and missing Japanese and Simplified Chinese translations have been completed. (564da94) (4183985) (a47d049)
Integrations and self-hosting
- A rebuilt MCP integration: Memos now exposes a curated, OpenAPI-driven MCP toolset that uses the same authentication and authorization as the public API. It covers memos, comments, relations, reactions, shortcuts, identities, and attachments, including uploads, with more reliable resource routing and tool schemas. (777d227) (0e1d821) (390126f)
- Signed, editable webhooks: Webhooks can now use Standard Webhooks HMAC-SHA256 signing secrets. You can edit webhooks, see their signing status, and reveal a generated secret again when needed. Invalid secrets are rejected before saving. (#6013) (#6027)
- File-backed deployment settings: Identity providers and supported instance settings can be supplied as validated JSON files under
/etc/secrets. These files act as runtime overrides and keep the corresponding settings read-only in the UI and API until removed. (0038295) - More flexible S3-compatible storage: Self-hosted deployments using self-signed certificates can opt into
insecure_skip_tls_verify. (#6039)
Performance, reliability, and security
- Faster feeds and Explore: Memos now caches fingerprinted assets, defers media and rich renderers until needed, renders feed content near the viewport, and shares user and memo lookups across creators, reactions, comments, mentions, and relations. This reduces startup work, rendering cost, and bandwidth. (88c6ee8) (6c1055f) (249b331)
- Safer authentication and SSO: SSO option loading is more stable, OAuth client authentication can be detected automatically, and first-time SSO provisioning is atomic across SQLite, MySQL, and PostgreSQL. Concurrent first sign-ins no longer leave orphaned users, and valid SSO identifiers are used as local usernames when possible. (6c17e87) (96cb653) (019f4f9)
- Cleaner and more compatible APIs: Legacy UUID-based identifiers remain supported while new resource names follow AIP conventions. User-facing errors no longer expose internal RPC prefixes, bearer-token cross-origin requests work without weakening same-origin cookie protection, and user lists paginate consistently. (84776cc) (b7d5d09) (0bfeb91) (385fa22)
- Deployment polish: The container entrypoint no longer restarts indefinitely when
MEMOS_UID=0, and the demo instance now uses representative public and protected memos to showcase tags, references, comments, mentions, reactions, locations, attachments, and rich Markdown. (#6061) (469c995)
Before upgrading
The following changes affect instance configuration, saved filters, shared-memo API clients, or existing MCP clients:
- Public and private instances: Instances without
--instance-urlorMEMOS_INSTANCE_URLnow run in private mode. Anonymous visitors are sent to sign-in, anonymous API access is limited to setup, authentication, and shared-memo routes, and RSS feeds are unavailable. Set the instance URL to keep the previous public behavior. (d1cef7a) (415a3ec) - Shared memo API:
GetMemoByShareandGET /api/v1/shares/{share_id}have been replaced byGetSharedMemoandGET /api/v1/shares/{share_token}/memo. S...
v0.30.0-rc.2
Introducing Memos Web Clipper
Save pages, selected text, and images as Markdown directly to your Memos instance. Review and edit every clip before saving, choose its visibility, and customize the Markdown format to fit your workflow.
Install for Chrome · Install for Firefox · Learn more
Highlights
- Memo detail and navigation: Redesigned the memo detail sidebar as a property rail with quick actions, editable visibility, memo metadata, attachments, relations, and a scroll-aware outline. Feed scroll position is now restored when navigating back from another page. (d4b5a16) (e497895)
- Settings and access tokens: Refreshed settings navigation and expanded the access-token page with practical guidance, a copyable API example, safety notes, and last-used timestamps. The About page and project documentation now surface the Memos Web Clipper. (715306e) (06ecef3) (f946974)
- Faster feeds and Explore: Reduced initial work and bandwidth by caching fingerprinted assets, deferring media and rich renderers until needed, rendering feed content near the viewport, and sharing user and memo lookups across creators, reactions, comments, mentions, and relations. (88c6ee8) (6c1055f) (249b331)
- Demo experience: Rebuilt the demo data around representative public and protected memos that showcase nested tags, references, comments, mentions, reactions, locations, attachments, and rich Markdown. (469c995)
Fixes and polish
- API compatibility and errors: Aligned new resource IDs and annotations with AIP conventions while preserving legacy UUID-based identifiers, corrected canonical user-stat resource names, and removed internal RPC prefixes from user-facing error messages. (84776cc) (b7d5d09) (0bfeb91)
- Interface: Corrected radio-group indicator alignment and positioned tooltip arrows outside their content panels. (#6097) (2d01420) (#6095) (773e56e)
v0.30.0-rc.1
⚠ BREAKING CHANGES
- Access control: Instances without
--instance-url(orMEMOS_INSTANCE_URL) now run in private mode. Anonymous visitors are sent to sign-in and anonymous API access is limited to setup, authentication, and shared-memo routes. Set the instance URL to retain the previous public behavior. (d1cef7a) - Filters:
now()has been replaced by thenowtimestamp variable, and time fields now use CEL timestamps. Update saved shortcuts to use expressions such ascreated_ts >= now - duration("24h")ortimestamp(<epoch>)instead of comparing time fields with bare epoch values. (26f4b73) - MCP: The MCP server is now a stateless, tools-only endpoint generated from the OpenAPI schema. The previous prompts, resources, tool-filtering headers and route aliases, and unprefixed tool names have been removed. Clients that used them must switch to
/mcpand the new service-prefixed tool names. (#6026)
Highlights
- Markdown editor: Rebuilt the editor as a single CodeMirror 6 decorated-source editor. Markdown is preserved verbatim while headings, formatting, tags, and mentions are styled in place. The editor also adds tag completion, list indentation, and a toggleable formatting toolbar with headings, lists, task lists, code blocks, bold, italic, strikethrough, and inline code. (5a73d7d) (e3c231f)
- MCP: Replaced the hand-written MCP implementation with a curated OpenAPI-driven tool surface that reuses the public API's authentication and authorization. The final toolset includes memo, comment, relation, reaction, shortcut, identity, and attachment operations, including attachment uploads. (777d227) (0e1d821)
- Deployment configuration: Identity providers and supported instance settings can be supplied as validated JSON files under
/etc/secrets. File-backed settings act as runtime overrides and cannot be changed through the UI or API until the files are removed. (0038295) - Memo feeds: Added persisted controls for one, two, three, or automatically fitted columns; compact mode; and link previews. Multi-column feeds stay balanced as cards resize, while newly created memos remain easy to find above pinned content. (177d65a) (e3e4ae1)
- Webhooks: Added Standard Webhooks HMAC-SHA256 signing secrets, webhook editing, and a signing-status indicator. Secrets are generated server-side, shown after creation, and can be revealed later from the edit dialog; malformed secrets now fail validation. (#6013) (#6027)
- Filters: Expanded CEL shortcuts with string matching, regular expressions, collection predicates, timestamp accessors, set operations, and an untagged-memos example. (f0e4a56) (b787bfa)
- Tag settings: Tag colors and content-blur rules are now per-user. Existing instance tag settings are copied to current users during migration. (#6017)
- Internationalization: Added a searchable locale picker, expanded European locale coverage, and completed missing Japanese and Simplified Chinese translations. (4183985) (a47d049)
- Interface: Refreshed the sign-in, sign-up, and About pages and aligned common controls across the app. Compact rendering is now opt-in in single-column feeds, so full memo content is shown by default. (564da94) (cafa56f)
- Markdown and storage: Added GFM footnote rendering and navigation, plus an
insecure_skip_tls_verifyoption for S3-compatible storage with self-signed certificates. (1020060) (#6039)
Fixes and polish
- Authentication and setup: Stabilized SSO option loading, added OAuth client-auth auto-detection, and distinguished fresh instances from populated instances that no longer have an admin. (6c17e87) (96cb653)
- Editor: Improved formatting toggles and keyboard shortcuts, file paste and drop handling, focus-mode layout, caret behavior in empty space, and CodeMirror spacing. (c349c15) (#6076) (#6093)
- Memos and comments: Preserved expanded task-list state, loaded every comment page, and included the parent memo relation in comment webhook payloads. (ecbe2ab) (#6083)
- Tags: Tags inside links are no longer parsed as memo tags, literal tags can be escaped with a backslash, and tag names support Unicode combining marks. (a50ce09) (#6051)
- API and security: Cross-origin API requests now work with bearer tokens while cookie authentication remains same-origin, and
ListUsersnow returns consistent paginated results. (385fa22) (4bc3928) - Interface: Replaced mismatched memo skeletons with a delayed spinner, improved mobile control spacing, and truncated long location labels without hiding the full address. (#6047) (3b601b8)
- Container: Prevented the entrypoint from restarting indefinitely when
MEMOS_UID=0. (#6061)
v0.29.1
Bug Fixes
- Task list layout - Task item content now stays in one grid column, so multi-line task items keep their text aligned with the task body.
- Link preview descriptions - Link previews now support standard
<meta name="description">tags, improving metadata cards for sites without Open Graph descriptions. - Mobile video posters - Video attachments now render poster thumbnails on mobile attachment views.
New Contributors
- @goingforstudying-ctrl made their first contribution in #6000
Full Changelog: v0.29.0...v0.29.1
v0.29.0
This release adds richer link previews, notification email settings, shortcut and memo workflow improvements, and a set of security, media, and editor fixes. It also adds new instance statistics APIs and performance improvements for the initial screen.
New Features
Link Previews and Metadata
- Link metadata APIs - Memos now includes endpoints for fetching and batching metadata for links attached to memos.
- Rendered link cards - The web app can render metadata cards for shared links, making memo references easier to scan.
- DNS rebinding protection - Link metadata fetching now rejects DNS rebinding attempts.
Notification and Transcription Settings
- SMTP email settings - Instance notification settings now include SMTP email configuration.
- Email test endpoint - Admins can test notification email settings through the instance API.
- Explicit speech-to-text settings - Transcription settings now expose provider, model, and prompt configuration.
Memo and Workspace Improvements
- Task list quick actions - Memos with task lists now support faster task interactions.
- Calendar-aware memo creation - Creating a memo from the calendar uses the selected calendar date.
- Dedicated shortcuts page - Shortcut management is available from a dedicated page.
- About page and placeholder refresh - The app includes a refreshed about page and new placeholder states.
Administration and Statistics
- Instance resource statistics - Admin instance stats now include resource statistics.
- Filtered all-user stats - All-user statistics can be filtered for more focused administration views.
- Configurable log level - The server now accepts a
--log-levelflag.
Bug Fixes
- Attachment ownership enforcement - Memo updates now enforce attachment ownership.
- Comment visibility - Comments now respect parent memo visibility.
- User response privacy - User list responses omit internal settings.
- Memo creation events - Creating memos with attachments no longer emits an extra update event.
- Avatar sync - Profile avatar changes sync immediately after update.
- Release media handling - HDR image metadata is preserved in thumbnails, and motion media payloads are preserved through S3 presigned uploads.
- Editor and markdown polish - URL paste wrapping and task-list alignment are improved.
- Static cache and sitemap paths - Frontend static cache headers and public memo sitemap paths are corrected.
- SSE refresh behavior - Initial SSE responses stream correctly and refresh tokens are handled.
Performance Improvements
- Initial screen loading - Heavy first-screen dependencies are lazy loaded.
New Contributors
- @Moustafaa91 made their first contribution in #5902
- @wally-an made their first contribution in #5903
- @tokenicrat made their first contribution in #5921
- @mayanksaini18 made their first contribution in #5934
- @santoshyadavdev made their first contribution in #5954
Full Changelog: v0.28.0...v0.29.0
v0.28.0
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)
v0.27.1
v0.27.0
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](https://github....
