chore(deps): update ghcr.io/usememos/memos docker tag to v0.30.0 #36

Open
renovate-bot wants to merge 1 commit from renovate/ghcr.io-usememos-memos-0.x into main
Member

This PR contains the following updates:

Package Update Change
ghcr.io/usememos/memos minor 0.25.10.30.0

Release Notes

usememos/memos (ghcr.io/usememos/memos)

v0.30.0

Compare Source

Summary

Memos 0.30 delivers a major writing and navigation refresh, centered on the new
CodeMirror editor, richer memo detail views, configurable multi-column feeds, and
faster Explore and feed rendering. It also replaces the MCP integration with a
curated OpenAPI-driven tool surface, expands deployment-time configuration, and
strengthens authentication, sharing, and private-instance access boundaries.

This stable release includes all changes shipped through 0.30.0-rc.1 and
0.30.0-rc.2, plus the final authentication, SSO, sharing, and MCP fixes listed
below.

⚠ BREAKING CHANGES
  • Access control: Instances without --instance-url (or MEMOS_INSTANCE_URL) now 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 retain the previous public behavior. (d1cef7a) (415a3ec)
  • Shared memo API: GetMemoByShare and GET /api/v1/shares/{share_id} have been replaced by GetSharedMemo and GET /api/v1/shares/{share_token}/memo. API clients must update the RPC, request type, field name, and REST path. Share-token responses are limited to the shared memo and its attachments and no longer expose the surrounding parent, comments, or relation graph. (0d2cbd4) (415a3ec)
  • Filters: now() has been replaced by the now timestamp variable, and time fields now use CEL timestamps. Update saved shortcuts to use expressions such as created_ts >= now - duration("24h") or timestamp(<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 must switch to /mcp and the new service-prefixed tool names. Tool errors now use isError and text content rather than a non-standard structuredContent.error payload. (#​6026) (03e34bd)
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 adds tag completion, list indentation, improved keyboard shortcuts, focus mode, and a toggleable formatting toolbar for headings, lists, task lists, code blocks, bold, italic, strikethrough, and inline code. (5a73d7) (e3c231f)
  • 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 restored when navigating back from another page. (d4b5a16) (e497895)
  • Memo feeds: Added persisted controls for one, two, three, or automatically fitted columns, compact mode, and link previews. Compact rendering is opt-in in single-column feeds so full memo content is shown by default. Multi-column feeds stay balanced as cards resize, while newly created memos remain easy to find above pinned content. (177d65a) (e3e4ae1) (cafa56f)
  • 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. Canonical and nested resource names can be passed directly to follow-up tools. (777d227) (0e1d821) (390126f)
  • 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)
  • 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 and tag settings: Expanded CEL shortcuts with string matching, regular expressions, collection predicates, timestamp accessors, set operations, and an untagged-memos example. Tag colors and content-blur rules are now per-user, with existing instance tag settings copied during migration. (f0e4a56) (b787bfa) (#​6017)
  • 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. Access tokens now default to no expiration, and the About page and documentation surface the Memos Web Clipper. (715306e) (cc20327) (f946974)
  • Internationalization and interface: Added a searchable locale picker, expanded European locale coverage, completed missing Japanese and Simplified Chinese translations, refreshed the sign-in, sign-up, and About pages, and aligned common controls across the app. (4183985) (a47d049) (564da94)
  • Markdown and storage: Added GFM footnote rendering and navigation, plus an insecure_skip_tls_verify option for S3-compatible storage with self-signed certificates. (1020060) (#​6039)
  • 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
  • Authentication and SSO: Stabilized SSO option loading, added OAuth client-auth auto-detection, distinguished fresh instances from populated instances without an admin, and made first-time SSO provisioning atomic across SQLite, MySQL, and PostgreSQL. Valid, non-reserved SSO identifiers are used as local usernames with UUID fallback, and concurrent first sign-ins no longer leave orphaned users. (6c17e87) (96cb653) (019f4f9)
  • 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, removed internal RPC prefixes from user-facing errors, and consistently enforced private-instance access policy across Connect, REST Gateway, files, and RSS. (84776cc) (b7d5d09) (0bfeb91) (415a3ec)
  • MCP reliability: Fixed round-tripping canonical resource names, nested resource routing, success-schema validation for tool errors, partial-update request schemas, path-bound request bodies, destructive-operation annotations, and oversized request handling. (03e34bd) (390126f)
  • 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, added pagination so every comment page can be loaded, included the parent memo relation in comment webhook payloads, and limited share tokens to the selected memo rather than its conversation and relation graph. (ecbe2ab) (#​6083) (415a3ec)
  • 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 ListUsers returns consistent paginated results. (385fa22) (4bc3928)
  • Interface: Replaced mismatched memo skeletons with a delayed spinner, improved mobile control spacing, truncated long location labels without hiding the full address, corrected radio-group indicator alignment, and positioned tooltip arrows outside their content panels. (#​6047) (3b601b8) (#​6097) (2d01420) (#​6095) (773e56e)
  • Container: Prevented the entrypoint from restarting indefinitely when MEMOS_UID=0. (#​6061)

v0.29.1

Compare Source

Bug Fixes
  • markdown: keep task item content in one grid column (7c3bff4)
  • support <meta name=description> in link previews (#​6000) (e8d32e8)
  • web: render video attachment posters on mobile (0e2a9a9)

v0.29.0

Compare Source

Features
  • about: add about page with bird sprites (411ba7b)
  • activity-calendar: aggregate by ViewContext.timeBasis (8daef1d)
  • add <Placeholder> component with ASCII bird states (#​5949) (8c16ffa)
  • add configurable --log-level flag (#​5934) (f1e2a06)
  • add dedicated shortcuts page (#​5942) (1df6479)
  • add link metadata endpoints (9c5c604)
  • frontend: add pixel bird tilemaps (cf55f11)
  • memo: add task list quick actions (#​5983) (648b3bd)
  • memo: create memos on the selected calendar date (#​5925) (ef55013)
  • notification: add smtp email settings (cd4f28a)
  • placeholder: add woodpecker tilemap (638e4f3)
  • render link metadata cards (0bc5669)
  • stats: admin instance resource statistics (ea0625d)
  • stats: support filtered all-user stats (88ac3ec)
  • transcription: explicit STT settings with provider, model, prompt (#​5926) (238f27d)
Bug Fixes
  • avoid update event on memo create attachments (#​5961) (3c3382a)
  • delete user cleanup (#​5981) (e53b7d9)
  • editor: wrap selected text when pasting URL (e0bb3a2)
  • fileserver: preserve HDR image metadata in thumbnails (c724232)
  • frontend: correct static cache headers (084f40b)
  • frontend: use correct url path for memos in sitemap.xml (#​5921) (603781f)
  • httpgetter: prevent DNS rebinding in link metadata fetch (078488c)
  • markdown: align list items with checkboxes (e008b1a)
  • memo: enforce parent visibility for comments (4a1e401)
  • s3presign: preserve motion media payload (7f1f53f)
  • security: enforce attachment ownership on memo updates (35bf761)
  • sse: stream initial response and refresh tokens (21303e8)
  • user: omit internal settings from list responses (#​5917) (1df3fe7)
  • web: sync avatar changes immediately after profile update (#​5903) (328396a)
Performance Improvements

v0.28.0

Compare Source

Features
Bug Fixes

v0.27.1

Compare Source

Bug Fixes

v0.27.0

Compare Source

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

v0.26.2

Compare Source

What's Changed

  • Fix spurious logout on page reload with expired access token
  • Fix explore page showing private tags and improve stats hook
  • Fix calendar navigation to use current page path (#​5605)
  • Fix default memo visibility not being correctly applied (#​5623)
  • Fix delete memo errors — only run post-delete actions on success
  • Fix infinite view transition loop by memoizing useNavigateTo
  • Fix task list item index scoping to memo content container
  • Fix cross-tab session loss by persisting auth token in localStorage
  • Fix spurious GetCurrentUser call on init when no token is stored
  • Fix SSRF vulnerability in webhook dispatcher (security)
  • Fix MemoEditor layout and timestamp popover styling
  • Fix attachment/memo deletion when local file is missing
  • Fix MonthNavigator month label not reacting to language changes
  • Fix truncation of memo batch attachments (#​5654)
  • Fix comment reactions and deletion not invalidating comments query (#​5641)
  • Fix calendar year picker to allow navigation back to 1970
  • Fix redirect to auth page instead of explore on session expiry
  • Fix PAT handling in PostgreSQL — handle missing data gracefully, add tests (#​5605)
  • Fix ampersand support in tags to enable compound tags
  • Eliminate redundant fetch when opening inline memo editor
  • Replace EditableTimestamp with inline editor timestamp popover

New Contributors

Full Changelog: https://github.com/usememos/memos/compare/v0.26.1...v0.26.2

v0.26.1

Compare Source

Bug Fixes

  • Avoid inbox crashes by gracefully handling deleted memos in the activity service. (984d9b46)
  • Correctly parse environment variables that contain underscores. (a69056a1)
  • Return gRPC-style errors consistently instead of Echo HTTP errors. (d9dc5be2)
  • Fix video attachment handling. (c4176b4e)
  • Prevent 401 errors on window focus when an access token expires. (81ef53b3)
  • Ensure the shortcut edit button opens the edit dialog (not create). (e7605d90)
  • Block Ctrl+Enter from saving while the editor is still loading content (#​5581). (6bb383a4)
  • Fix nested task list rendering and checkbox interactions (#​5575). (b4fea8c6)
  • Make OAuth PKCE optional during sign-in (#​5570). (cf0a285e)
  • Prevent private memos from disappearing during token refresh (#​5565). (6db58fae)
  • Add Unicode case-insensitive search support for SQLite (#​5559). (8770b186)
  • Correct handling of pasted files in the memo editor. (2db57b13)
  • Restore the access token creation flow. (0dbc35a2)
  • Preserve tag case when extracting Markdown tags. (e1c8101d)
  • Auto-fix permission issues when upgrading from 0.25.3 to 0.26.0. (d14cfa1c)

New Contributors

Full Changelog: https://github.com/usememos/memos/compare/v0.26.0...v0.26.1

v0.26.0

Compare Source

What's Changed

🚀 Major Features
  • Refresh Token Rotation with Sliding Window Sessions - Enhanced authentication security by implementing refresh token rotation and sliding window session expiration for better session management

  • Streaming for Video/Audio Files - Fixed memory exhaustion issues by implementing streaming for media files instead of loading them entirely into memory

  • EXIF Metadata Stripping for Image Uploads - Privacy enhancement that automatically strips EXIF metadata (location, camera info, etc.) from uploaded images

  • Role Refactor: HOST → ADMIN - Migrated the HOST role to ADMIN for clearer terminology and permission naming

  • React Query Migration (#​5379) - Major frontend state management refactor, replacing custom state management with React Query v5 for improved caching, data synchronization, and developer experience

  • Memo Map in User Profile - Implemented map view in user profiles to visualize memo locations geographically with Google Maps integration

  • HDR Image and Video Support - Added support for HDR (High Dynamic Range) images and videos

  • Midnight Theme (#​5288) - Added new midnight theme option for users who prefer a darker interface

Other Improvements
  • feat: contribution New Locale: Galician (gl, gl_ES) (#​5376)
  • feat: add iframe support for embedded videos in markdown content
  • feat: enhance attachment handling with MIME type validation
  • feat: add glassmorphism map controls with Google Maps integration
  • feat: add slash commands tooltip to InsertMenu
  • refactor: migrate to connect-rpc (#​5338)
  • refactor: user auth improvements (#​5360)
  • refactor: consolidate MemoEditor components (#​5409)
  • refactor: remove legacy session cookie authentication
  • refactor: remove deprecated Sessions and AccessTokens settings
  • style: improve code block styling and formatting
  • perf: optimize memory usage for statistics and image processing
  • perf: optimize backend tests with parallel execution
🐛 Bug Fixes
  • fix: add access control checks for attachments, comments, and reactions
  • fix(ui): math render (#​5549)
  • fix(ui): correct calendar header month parsing (#​5532)
  • fix: improve editor auto-scroll and Safari IME handling (#​5469)
  • fix: prevent browser cache from serving stale memo data (#​5470)
  • fix: return Unauthenticated instead of PermissionDenied on token expiration (#​5454)
  • fix: apply theme and locale changes immediately on login screen (#​5442)
  • fix: allow public memo API access without authentication (#​5451)
  • fix: KaTeX math rendering with underscores (#​5438)
  • fix(frontend): ensure attachments are properly linked when creating memos (#​5428)
  • fix(theme): improve text contrast in default dark mode (#​5323)
  • fix(web): disable setext header syntax (#​5314)
  • fix(ui): fix todo command does nothing (#​5329)
  • fix: clean up memo_relation and attachments when deleting memo
  • fix: allow guests to view public memo comments
🌍 Localization
  • chore(i18n): update British English spelling (#​5529)
  • chore: update Chinese translation (#​5519)
  • chore(i18n): add missing Korean translations (#​5456)
  • chore: update simplified chinese localization (#​5422)
  • Update german translations (#​5419)
  • chore: add missing French locale translations (#​5405)
  • chore: add missing keys to Polish translation (#​5380)
  • chore(locales): update Italian translation (#​5346)
Warp - The terminal reimagined with AI and collaborative tools for developers
Warp - The terminal for the 21st century

New Contributors

Full Changelog: https://github.com/usememos/memos/compare/v0.25.3...v0.26.0

v0.25.3

Compare Source

What's Changed

  • The markdown parser/renderer now follows CommonMark and GFM specifications for better compatibility and consistency
  • feat: add Focus Mode for distraction-free writing - New writing mode that minimizes distractions for focused memo creation
  • feat: add ability to delete unused attachments (#​5272) - Clean up unused attachments to save storage space
  • feat: standardize theme system with auto sync option (#​5231) - Theme now syncs with system preferences automatically
  • feat: add load more button and pagination to attachments page (#​5258) - Better navigation for large attachment lists
  • fix: resolve tag sidebar filtering and reactivity issues - Tags now filter properly in the sidebar
  • fix: prevent memory exhaustion in thumbnail generation - More stable thumbnail generation
  • fix: markdown list auto-completion creates new line correctly (#​5238) - List continuation works as expected
Warp - The terminal reimagined with AI and collaborative tools for developers
Warp - The terminal for the 21st century

New Contributors

Full Changelog: https://github.com/usememos/memos/compare/v0.25.2...v0.25.3

v0.25.2

Compare Source

What's Changed

  • feat: automatic thumbnail generation for S3-stored images
  • feat: masonry layout with responsive columns
  • feat: system theme detection and automatic dark/light mode switching
  • feat: manual latitude/longitude input for location tagging (#​5152)
  • feat: copy memo content from action menu
  • feat: enhanced reaction selector with hover and mobile-friendly scrolling
  • feat: improved geolocation handling in LocationSelector
  • feat: theme-aware syntax highlighting in code blocks
  • fix: add user authentication security checks
  • fix: correct theme colors in calendar cells
  • fix: prevent dialog state leakage between sessions
  • fix: markdown parser compatibility improvements
  • chore: accessible confirmation dialogs with markdown support (#​5111)
  • chore: enhanced store architecture and state management
  • chore: simplified concurrent operations (#​5162)
  • chore: improved Traditional Chinese translations (#​5159)
  • refactor: streamlined memo filtering logic
Warp - The terminal reimagined with AI and collaborative tools for developers
Warp - The terminal for the 21st century

New Contributors

Full Changelog: https://github.com/usememos/memos/compare/v0.25.1...v0.25.2

Learn More

Website: www.usememos.com
Changelog: www.usememos.com/changelog
Documentation: www.usememos.com/docs


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/usememos/memos](https://github.com/usememos/memos) | minor | `0.25.1` → `0.30.0` | --- ### Release Notes <details> <summary>usememos/memos (ghcr.io/usememos/memos)</summary> ### [`v0.30.0`](https://github.com/usememos/memos/blob/HEAD/CHANGELOG.md#0300-2026-07-26) [Compare Source](https://github.com/usememos/memos/compare/v0.29.1...v0.30.0) ##### Summary Memos 0.30 delivers a major writing and navigation refresh, centered on the new CodeMirror editor, richer memo detail views, configurable multi-column feeds, and faster Explore and feed rendering. It also replaces the MCP integration with a curated OpenAPI-driven tool surface, expands deployment-time configuration, and strengthens authentication, sharing, and private-instance access boundaries. This stable release includes all changes shipped through `0.30.0-rc.1` and `0.30.0-rc.2`, plus the final authentication, SSO, sharing, and MCP fixes listed below. ##### ⚠ BREAKING CHANGES - **Access control:** Instances without `--instance-url` (or `MEMOS_INSTANCE_URL`) now 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 retain the previous public behavior. ([d1cef7a](https://github.com/usememos/memos/commit/d1cef7a9ab23e8c93f76b2f32661c720c733536d)) ([415a3ec](https://github.com/usememos/memos/commit/415a3ec73d7abee4496eab39b4d135a89387cdc6)) - **Shared memo API:** `GetMemoByShare` and `GET /api/v1/shares/{share_id}` have been replaced by `GetSharedMemo` and `GET /api/v1/shares/{share_token}/memo`. API clients must update the RPC, request type, field name, and REST path. Share-token responses are limited to the shared memo and its attachments and no longer expose the surrounding parent, comments, or relation graph. ([0d2cbd4](https://github.com/usememos/memos/commit/0d2cbd4f5a410a8edc2093b8834f8f13f6ca9ad6)) ([415a3ec](https://github.com/usememos/memos/commit/415a3ec73d7abee4496eab39b4d135a89387cdc6)) - **Filters:** `now()` has been replaced by the `now` timestamp variable, and time fields now use CEL timestamps. Update saved shortcuts to use expressions such as `created_ts >= now - duration("24h")` or `timestamp(<epoch>)` instead of comparing time fields with bare epoch values. ([26f4b73](https://github.com/usememos/memos/commit/26f4b73cb9a996f9232daad2b5daa34360742697)) - **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 must switch to `/mcp` and the new service-prefixed tool names. Tool errors now use `isError` and text content rather than a non-standard `structuredContent.error` payload. ([#&#8203;6026](https://github.com/usememos/memos/issues/6026)) ([03e34bd](https://github.com/usememos/memos/commit/03e34bd0da2f225addbd00d6a7bb5a472c83aed8)) ##### 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 adds tag completion, list indentation, improved keyboard shortcuts, focus mode, and a toggleable formatting toolbar for headings, lists, task lists, code blocks, bold, italic, strikethrough, and inline code. ([5a73d7](https://github.com/usememos/memos/commit/5a73d7d3e56f853a965207ac709e8f5e84918959)) ([e3c231f](https://github.com/usememos/memos/commit/e3c231fcac5691f9590a5d685bdebec23b73be35)) - **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 restored when navigating back from another page. ([d4b5a16](https://github.com/usememos/memos/commit/d4b5a1695b9acf4da3ef72f600789a4a0f90e4d5)) ([e497895](https://github.com/usememos/memos/commit/e497895bf3b72cdae92e5bab6cd5b691c8eedc15)) - **Memo feeds:** Added persisted controls for one, two, three, or automatically fitted columns, compact mode, and link previews. Compact rendering is opt-in in single-column feeds so full memo content is shown by default. Multi-column feeds stay balanced as cards resize, while newly created memos remain easy to find above pinned content. ([177d65a](https://github.com/usememos/memos/commit/177d65a90e321fa975a7cf19bd3c075143af5c10)) ([e3e4ae1](https://github.com/usememos/memos/commit/e3e4ae10512f514f71729779b5096d0d591c8cf4)) ([cafa56f](https://github.com/usememos/memos/commit/cafa56f1a8c9091062a4b220284e8ca697b050e8)) - **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. Canonical and nested resource names can be passed directly to follow-up tools. ([777d227](https://github.com/usememos/memos/commit/777d227eb992c4feccd5d78c781cf8e9094e38de)) ([0e1d821](https://github.com/usememos/memos/commit/0e1d821fb84310feff40b90d899403d45bced596)) ([390126f](https://github.com/usememos/memos/commit/390126f1cd5f6aca55a17faf031655da4354b60b)) - **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](https://github.com/usememos/memos/commit/0038295bbc772b38425b6c7f9ca814e4d1e44260)) - **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. ([#&#8203;6013](https://github.com/usememos/memos/issues/6013)) ([#&#8203;6027](https://github.com/usememos/memos/issues/6027)) - **Filters and tag settings:** Expanded CEL shortcuts with string matching, regular expressions, collection predicates, timestamp accessors, set operations, and an untagged-memos example. Tag colors and content-blur rules are now per-user, with existing instance tag settings copied during migration. ([f0e4a56](https://github.com/usememos/memos/commit/f0e4a5624f4371e08fb0c41510891c9f8cce6ba0)) ([b787bfa](https://github.com/usememos/memos/commit/b787bfa75f74d8ee5ec271bd308c2e5a0389ed35)) ([#&#8203;6017](https://github.com/usememos/memos/issues/6017)) - **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. Access tokens now default to no expiration, and the About page and documentation surface the Memos Web Clipper. ([715306e](https://github.com/usememos/memos/commit/715306ea66306a91765d3f7c3ede8bc815d2def5)) ([cc20327](https://github.com/usememos/memos/commit/cc20327b8a1d595de6fe8915be303eddc8816756)) ([f946974](https://github.com/usememos/memos/commit/f94697496b60f5fe590c2ffa19e3f0c93b749af4)) - **Internationalization and interface:** Added a searchable locale picker, expanded European locale coverage, completed missing Japanese and Simplified Chinese translations, refreshed the sign-in, sign-up, and About pages, and aligned common controls across the app. ([4183985](https://github.com/usememos/memos/commit/418398587cef90151745ba0dbc51cef4762045ca)) ([a47d049](https://github.com/usememos/memos/commit/a47d04954e75c54491138601c72f1c0cbe140f3c)) ([564da94](https://github.com/usememos/memos/commit/564da949cb87491ca8e493d2f7aedcd2ef9545a1)) - **Markdown and storage:** Added GFM footnote rendering and navigation, plus an `insecure_skip_tls_verify` option for S3-compatible storage with self-signed certificates. ([1020060](https://github.com/usememos/memos/commit/10200606db24e3d70fb8efefee99c7b0a369ddea)) ([#&#8203;6039](https://github.com/usememos/memos/issues/6039)) - **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](https://github.com/usememos/memos/commit/88c6ee8ebcc341aa1d2e2ae38638a518f4745de1)) ([6c1055f](https://github.com/usememos/memos/commit/6c1055f483c92c2a95193bea07110b6775359651)) ([249b331](https://github.com/usememos/memos/commit/249b331596fd1c9ceceb4e72da8e422499be683f)) - **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](https://github.com/usememos/memos/commit/469c995cc04b5e7de259156d28c58b948e85d111)) ##### Fixes and polish - **Authentication and SSO:** Stabilized SSO option loading, added OAuth client-auth auto-detection, distinguished fresh instances from populated instances without an admin, and made first-time SSO provisioning atomic across SQLite, MySQL, and PostgreSQL. Valid, non-reserved SSO identifiers are used as local usernames with UUID fallback, and concurrent first sign-ins no longer leave orphaned users. ([6c17e87](https://github.com/usememos/memos/commit/6c17e87cf61cd9c62ea4ef4e25d4adb5603ffc88)) ([96cb653](https://github.com/usememos/memos/commit/96cb65320b714ef8d7993ddb7c9182350ee9da4c)) ([019f4f9](https://github.com/usememos/memos/commit/019f4f9adcfcfca73fc9e2a966d0569fac888a2c)) - **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, removed internal RPC prefixes from user-facing errors, and consistently enforced private-instance access policy across Connect, REST Gateway, files, and RSS. ([84776cc](https://github.com/usememos/memos/commit/84776cc106745278371e5a8c8d43abca6d38e8b5)) ([b7d5d09](https://github.com/usememos/memos/commit/b7d5d09f8a7445076811d6f53b98d3445ce3afac)) ([0bfeb91](https://github.com/usememos/memos/commit/0bfeb91d50fdd4bafd15c13bb02b3e2810d4b2e4)) ([415a3ec](https://github.com/usememos/memos/commit/415a3ec73d7abee4496eab39b4d135a89387cdc6)) - **MCP reliability:** Fixed round-tripping canonical resource names, nested resource routing, success-schema validation for tool errors, partial-update request schemas, path-bound request bodies, destructive-operation annotations, and oversized request handling. ([03e34bd](https://github.com/usememos/memos/commit/03e34bd0da2f225addbd00d6a7bb5a472c83aed8)) ([390126f](https://github.com/usememos/memos/commit/390126f1cd5f6aca55a17faf031655da4354b60b)) - **Editor:** Improved formatting toggles and keyboard shortcuts, file paste and drop handling, focus-mode layout, caret behavior in empty space, and CodeMirror spacing. ([c349c15](https://github.com/usememos/memos/commit/c349c1549e49950e3171b7de28faba5d89249cfa)) ([#&#8203;6076](https://github.com/usememos/memos/issues/6076)) ([#&#8203;6093](https://github.com/usememos/memos/issues/6093)) - **Memos and comments:** Preserved expanded task-list state, added pagination so every comment page can be loaded, included the parent memo relation in comment webhook payloads, and limited share tokens to the selected memo rather than its conversation and relation graph. ([ecbe2ab](https://github.com/usememos/memos/commit/ecbe2ab7977fcd3521aeae1226e816a9dc2a6a40)) ([#&#8203;6083](https://github.com/usememos/memos/issues/6083)) ([415a3ec](https://github.com/usememos/memos/commit/415a3ec73d7abee4496eab39b4d135a89387cdc6)) - **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](https://github.com/usememos/memos/commit/a50ce09e8159836aed1a97fa717488283378200f)) ([#&#8203;6051](https://github.com/usememos/memos/issues/6051)) - **API and security:** Cross-origin API requests now work with bearer tokens while cookie authentication remains same-origin, and `ListUsers` returns consistent paginated results. ([385fa22](https://github.com/usememos/memos/commit/385fa22056c51a42a0eb99fd08a8876009c2c52d)) ([4bc3928](https://github.com/usememos/memos/commit/4bc39280290b0f2612ff52285689854b6cf1344b)) - **Interface:** Replaced mismatched memo skeletons with a delayed spinner, improved mobile control spacing, truncated long location labels without hiding the full address, corrected radio-group indicator alignment, and positioned tooltip arrows outside their content panels. ([#&#8203;6047](https://github.com/usememos/memos/issues/6047)) ([3b601b8](https://github.com/usememos/memos/commit/3b601b841670ece4a2832341a99ccc74124a745e)) ([#&#8203;6097](https://github.com/usememos/memos/issues/6097)) ([2d01420](https://github.com/usememos/memos/commit/2d01420c23372d5708904ec78e03485edb44d49b)) ([#&#8203;6095](https://github.com/usememos/memos/issues/6095)) ([773e56e](https://github.com/usememos/memos/commit/773e56e537657508af4e357f9c8845af4d4f15e8)) - **Container:** Prevented the entrypoint from restarting indefinitely when `MEMOS_UID=0`. ([#&#8203;6061](https://github.com/usememos/memos/issues/6061)) ### [`v0.29.1`](https://github.com/usememos/memos/blob/HEAD/CHANGELOG.md#0291-2026-06-04) [Compare Source](https://github.com/usememos/memos/compare/v0.29.0...v0.29.1) ##### Bug Fixes - **markdown:** keep task item content in one grid column ([7c3bff4](https://github.com/usememos/memos/commit/7c3bff4e98223fb99a5d49f093e3cd57dd140ba4)) - support \<meta name=description> in link previews ([#&#8203;6000](https://github.com/usememos/memos/issues/6000)) ([e8d32e8](https://github.com/usememos/memos/commit/e8d32e87d1d6e4927250ad5794ba5965e0260153)) - **web:** render video attachment posters on mobile ([0e2a9a9](https://github.com/usememos/memos/commit/0e2a9a9c0ce0e2da63535210c553b3ae2f79b239)) ### [`v0.29.0`](https://github.com/usememos/memos/blob/HEAD/CHANGELOG.md#0290-2026-05-27) [Compare Source](https://github.com/usememos/memos/compare/v0.28.0...v0.29.0) ##### Features - **about:** add about page with bird sprites ([411ba7b](https://github.com/usememos/memos/commit/411ba7b34c0c23ad217a7897835097887a28a036)) - **activity-calendar:** aggregate by ViewContext.timeBasis ([8daef1d](https://github.com/usememos/memos/commit/8daef1dc89544512fff78fd64d8216b2babc2e42)) - add \<Placeholder> component with ASCII bird states ([#&#8203;5949](https://github.com/usememos/memos/issues/5949)) ([8c16ffa](https://github.com/usememos/memos/commit/8c16ffa1f1410f9413cb57ebe251b4b604f9aeff)) - add configurable `--log-level` flag ([#&#8203;5934](https://github.com/usememos/memos/issues/5934)) ([f1e2a06](https://github.com/usememos/memos/commit/f1e2a06b46c7f45ba6562c308d2703fdfb4067b0)) - add dedicated shortcuts page ([#&#8203;5942](https://github.com/usememos/memos/issues/5942)) ([1df6479](https://github.com/usememos/memos/commit/1df6479443c334732b862d60a0f76e61f00ebb89)) - add link metadata endpoints ([9c5c604](https://github.com/usememos/memos/commit/9c5c604944428d3f682f35c9d05a87c1d4c3152f)) - **frontend:** add pixel bird tilemaps ([cf55f11](https://github.com/usememos/memos/commit/cf55f1107273c928e7c2d6bc26df5f3efea26458)) - **memo:** add task list quick actions ([#&#8203;5983](https://github.com/usememos/memos/issues/5983)) ([648b3bd](https://github.com/usememos/memos/commit/648b3bd812e5bf2b1abb9f8b3529efefe4734e7c)) - **memo:** create memos on the selected calendar date ([#&#8203;5925](https://github.com/usememos/memos/issues/5925)) ([ef55013](https://github.com/usememos/memos/commit/ef55013418d68e2d6a24a6d02a0365c1ffff03d7)) - **notification:** add smtp email settings ([cd4f28a](https://github.com/usememos/memos/commit/cd4f28ae1058a125e245ea0a6eae16aea71b8f9d)) - **placeholder:** add woodpecker tilemap ([638e4f3](https://github.com/usememos/memos/commit/638e4f398e90c556f70af150a79538312c8fc760)) - render link metadata cards ([0bc5669](https://github.com/usememos/memos/commit/0bc56694b0ca347ab1eb083f62997a22007b763d)) - **stats:** admin instance resource statistics ([ea0625d](https://github.com/usememos/memos/commit/ea0625da45a419e08158ab4102051f3fe5e59b87)) - **stats:** support filtered all-user stats ([88ac3ec](https://github.com/usememos/memos/commit/88ac3ec31ee3e808db82663c04a31cf730d1221e)) - **transcription:** explicit STT settings with provider, model, prompt ([#&#8203;5926](https://github.com/usememos/memos/issues/5926)) ([238f27d](https://github.com/usememos/memos/commit/238f27dea149492a78a8994470b0aac55fece78d)) ##### Bug Fixes - avoid update event on memo create attachments ([#&#8203;5961](https://github.com/usememos/memos/issues/5961)) ([3c3382a](https://github.com/usememos/memos/commit/3c3382a3c652bed3b58058931ff3cbf1d875b9a8)) - delete user cleanup ([#&#8203;5981](https://github.com/usememos/memos/issues/5981)) ([e53b7d9](https://github.com/usememos/memos/commit/e53b7d96e70965529ba3b04ea720ea6966f77b60)) - **editor:** wrap selected text when pasting URL ([e0bb3a2](https://github.com/usememos/memos/commit/e0bb3a2e684e932309df2f9fb0ff774ce8e6b692)) - **fileserver:** preserve HDR image metadata in thumbnails ([c724232](https://github.com/usememos/memos/commit/c7242324a18962e453e7f2a0309a7c07b358bdbe)) - **frontend:** correct static cache headers ([084f40b](https://github.com/usememos/memos/commit/084f40bc9e5922ff2d41c08dce837b96696437aa)) - **frontend:** use correct url path for memos in sitemap.xml ([#&#8203;5921](https://github.com/usememos/memos/issues/5921)) ([603781f](https://github.com/usememos/memos/commit/603781f792b2603fbda93146988a64a93c92d760)) - **httpgetter:** prevent DNS rebinding in link metadata fetch ([078488c](https://github.com/usememos/memos/commit/078488ca818626fbcab69bdfb4b93b58dca6b6eb)) - **markdown:** align list items with checkboxes ([e008b1a](https://github.com/usememos/memos/commit/e008b1a23c77945eff87707eb15578d4d6d74e4c)) - **memo:** enforce parent visibility for comments ([4a1e401](https://github.com/usememos/memos/commit/4a1e401bd99c7850ac48e9693b25c9ebeecfb042)) - **s3presign:** preserve motion media payload ([7f1f53f](https://github.com/usememos/memos/commit/7f1f53ffc417962f6930d1e6e3783eacd911003d)) - **security:** enforce attachment ownership on memo updates ([35bf761](https://github.com/usememos/memos/commit/35bf761b8c2c3f155bdc06e9b373b6076116a725)) - **sse:** stream initial response and refresh tokens ([21303e8](https://github.com/usememos/memos/commit/21303e879d2c7a857306206d2cbdae83f61983e6)) - **user:** omit internal settings from list responses ([#&#8203;5917](https://github.com/usememos/memos/issues/5917)) ([1df3fe7](https://github.com/usememos/memos/commit/1df3fe79559ccf94b6c71e9ffb58e870ed43820d)) - **web:** sync avatar changes immediately after profile update ([#&#8203;5903](https://github.com/usememos/memos/issues/5903)) ([328396a](https://github.com/usememos/memos/commit/328396a97f2219592032e8418c383e0ab7edaca6)) ##### Performance Improvements - lazy load heavy first-screen dependencies ([#&#8203;5947](https://github.com/usememos/memos/issues/5947)) ([a6024ee](https://github.com/usememos/memos/commit/a6024eebf129c4b8fb65ee0cba09c6657274bfde)) ### [`v0.28.0`](https://github.com/usememos/memos/blob/HEAD/CHANGELOG.md#0280-2026-04-27) [Compare Source](https://github.com/usememos/memos/compare/v0.27.1...v0.28.0) ##### Features - **auth:** add SSO user identity linkage ([#&#8203;5883](https://github.com/usememos/memos/issues/5883)) ([d688914](https://github.com/usememos/memos/commit/d688914b2864791eeadbf21c882608632875f17c)) - **memos:** choose created or updated time for memos ([#&#8203;5894](https://github.com/usememos/memos/issues/5894)) ([c268551](https://github.com/usememos/memos/commit/c268551a16929a2cbea6891951feff91926bba59)) - redesign account and SSO management ([#&#8203;5886](https://github.com/usememos/memos/issues/5886)) ([ee17998](https://github.com/usememos/memos/commit/ee1799851e88674a6920c7a56d93428fcf95e662)) ##### Bug Fixes - **auth:** harden authorization and username validation ([#&#8203;5890](https://github.com/usememos/memos/issues/5890)) ([0fb83a7](https://github.com/usememos/memos/commit/0fb83a745dd5057ade45a3caad2c444af2239113)) - disable modal prop on DropdownMenu to prevent scroll disappearing ([#&#8203;5861](https://github.com/usememos/memos/issues/5861)) ([d98f665](https://github.com/usememos/memos/commit/d98f6659190b8d1a8252e64549d9120d85e05d33)) - fix legacy username auth flows ([#&#8203;5885](https://github.com/usememos/memos/issues/5885)) ([30c0611](https://github.com/usememos/memos/commit/30c0611a82f9254952a74650095105254f2940e4)) - **markdown:** split mixed task and bullet lists ([e2c6084](https://github.com/usememos/memos/commit/e2c60845eaff9a78b8d8eb3ccc9a067ef5690976)) - reduce list memo query overhead ([#&#8203;5880](https://github.com/usememos/memos/issues/5880)) ([5063804](https://github.com/usememos/memos/commit/50638040f618b02b0c6d010e1d41554c75067517)) - **web:** preserve task checkbox state ([#&#8203;5867](https://github.com/usememos/memos/issues/5867)) ([b5863d7](https://github.com/usememos/memos/commit/b5863d76be3cfbf3e0f8237d8e762122b5a0a679)) ### [`v0.27.1`](https://github.com/usememos/memos/blob/HEAD/CHANGELOG.md#0271-2026-04-19) [Compare Source](https://github.com/usememos/memos/compare/v0.27.0...v0.27.1) ##### Bug Fixes - mixed-case user resource names ([#&#8203;5853](https://github.com/usememos/memos/issues/5853)) ([01be01f](https://github.com/usememos/memos/commit/01be01f4b7676af41bdd1758b1e9b096aa922546)) - **release:** inject build version into artifacts ([f8a304b](https://github.com/usememos/memos/commit/f8a304bae33086320b39095d631288156eec4249)) - user resource names can be uuidv4 from idp sub claim ([#&#8203;5856](https://github.com/usememos/memos/issues/5856)) ([bbded58](https://github.com/usememos/memos/commit/bbded584ce85a856d863485768e08b53adec7244)) ### [`v0.27.0`](https://github.com/usememos/memos/blob/HEAD/CHANGELOG.md#0270-2026-04-18) [Compare Source](https://github.com/usememos/memos/compare/v0.26.2...v0.27.0) ##### Features - add --allow-private-webhooks flag to bypass SSRF protection ([#&#8203;5694](https://github.com/usememos/memos/issues/5694)) ([cd5816c](https://github.com/usememos/memos/commit/cd5816c428931f56561f7d48b649a33858812539)) - add blur\_content attribute to tag metadata settings ([#&#8203;5767](https://github.com/usememos/memos/issues/5767)) ([45b2153](https://github.com/usememos/memos/commit/45b21530d9ebbc730e77bcbcf407f4c295b52e93)) - add Gemini transcription provider ([#&#8203;5830](https://github.com/usememos/memos/issues/5830)) ([d87539a](https://github.com/usememos/memos/commit/d87539a1e1261590ab355220e33fa0ae00bd9431)) - add GitHub release installer and release workflow ([1ed542c](https://github.com/usememos/memos/commit/1ed542c21db421e9aa0cc47417a92c6bd103e257)) - add live refresh via Server-Sent Events (SSE) with visual indicator ([#&#8203;5638](https://github.com/usememos/memos/issues/5638)) ([ea0892a](https://github.com/usememos/memos/commit/ea0892a8b26d8806a093e3a942562dfc22794f68)) - add MCP server with PAT authentication ([47d9414](https://github.com/usememos/memos/commit/47d9414702dc18966af385352b960bfe451511b7)) - add outline navigation to memo detail sidebar ([#&#8203;5771](https://github.com/usememos/memos/issues/5771)) ([6b30579](https://github.com/usememos/memos/commit/6b3057990396f9cb6f21706c2e99dddebc35ffd5)) - **ai:** add BYOK audio transcription ([#&#8203;5832](https://github.com/usememos/memos/issues/5832)) ([101704c](https://github.com/usememos/memos/commit/101704c8eac17c7f34508d8db6c53bc972061cdb)) - **ai:** add instance AI providers and transcription ([#&#8203;5829](https://github.com/usememos/memos/issues/5829)) ([83ed32f](https://github.com/usememos/memos/commit/83ed32f1195841d2d6c057c3e00086a3147879a2)) - **attachments:** add Live Photo and Motion Photo support ([#&#8203;5810](https://github.com/usememos/memos/issues/5810)) ([4b4e719](https://github.com/usememos/memos/commit/4b4e719470184e49cd62084b1aa53c9a777a9fec)) - **cli:** add version subcommand ([#&#8203;5731](https://github.com/usememos/memos/issues/5731)) ([0ba4c0f](https://github.com/usememos/memos/commit/0ba4c0f397c532a5a314f35ddeb3ce3633e84d42)) - **editor:** add voice note recording to the memo composer ([#&#8203;5801](https://github.com/usememos/memos/issues/5801)) ([c0d5854](https://github.com/usememos/memos/commit/c0d5854f678f357cf4054d448e0311f2ee90f8ac)) - extract title from first H1 heading into memo property ([#&#8203;5726](https://github.com/usememos/memos/issues/5726)) ([1e688b2](https://github.com/usememos/memos/commit/1e688b2a5d78c2972f4b0078a7b033dae5d1cbf3)) - **i18n:** update sse connect label in Chinese ([#&#8203;5732](https://github.com/usememos/memos/issues/5732)) ([89c6902](https://github.com/usememos/memos/commit/89c69028953fa33dbb6e0e257d764636c0fc2d09)) - **instance:** add canonical tag metadata setting ([#&#8203;5736](https://github.com/usememos/memos/issues/5736)) ([65d14fb](https://github.com/usememos/memos/commit/65d14fbb63053fc1fbf1f63881c81adbc9d01671)) - **instance:** add notification transport setting ([#&#8203;5737](https://github.com/usememos/memos/issues/5737)) ([a249d06](https://github.com/usememos/memos/commit/a249d06e2e0f33e0e3fea34471a891352dacc466)) - **mcp:** enhance MCP server with full capabilities and new tools ([#&#8203;5720](https://github.com/usememos/memos/issues/5720)) ([b8e9ee2](https://github.com/usememos/memos/commit/b8e9ee2b26a59e1b19aab6db3ca39656fc18785a)) - **mcp:** harden tool exposure and side effects ([#&#8203;5850](https://github.com/usememos/memos/issues/5850)) ([583c3d2](https://github.com/usememos/memos/commit/583c3d24f4d785faa5e034c1b88ed90eda119baa)) - **mcp:** refactor MCP server to standard protocol structure ([803d488](https://github.com/usememos/memos/commit/803d488a5f8f55477cd3ad4cc4cf0fac98901dd3)) - **memo-editor:** add compact live waveform recorder panel ([#&#8203;5817](https://github.com/usememos/memos/issues/5817)) ([e51985a](https://github.com/usememos/memos/commit/e51985a29ffeeecd318b2fb793358ed45bb0eff4)) - **memo-preview:** support comment metadata in previews ([#&#8203;5768](https://github.com/usememos/memos/issues/5768)) ([e176b28](https://github.com/usememos/memos/commit/e176b28c801cc3bb3718208a96a7d64c36620d0f)) - **memo:** add image sharing in detail view ([38fc22b](https://github.com/usememos/memos/commit/38fc22b7541b8a9ddcd848cf77054fcf844eb87f)) - **memo:** add share links for private memos ([#&#8203;5742](https://github.com/usememos/memos/issues/5742)) ([3f3133d](https://github.com/usememos/memos/commit/3f3133d6e2f404061e147f9dd2424680dc0303a3)) - **mentions:** add memo mention parsing, notifications, and rendering ([#&#8203;5811](https://github.com/usememos/memos/issues/5811)) ([24fc8ab](https://github.com/usememos/memos/commit/24fc8ab8ca68d092e7b12a5d51c48ca9420f72b5)) - replace auto-increment ID with UID for identity provider resource names ([#&#8203;5687](https://github.com/usememos/memos/issues/5687)) ([92d937b](https://github.com/usememos/memos/commit/92d937b1aa87365152edc005a3b736e6bf9b9e45)) - show inline comment preview in list view ([3a5d3c8](https://github.com/usememos/memos/commit/3a5d3c8ff92ae5c24559dc4574300d6475820a87)) - **store:** change default storage type to local filesystem ([78efa68](https://github.com/usememos/memos/commit/78efa6802e2fd96c981e86c5b658fb4b5c05091f)) - treat tag setting keys as anchored regex patterns ([#&#8203;5759](https://github.com/usememos/memos/issues/5759)) ([9e04049](https://github.com/usememos/memos/commit/9e04049632e63f1cf53535773f170c1aa5af7168)) - **ui:** allow navigating between images with arrows in preview dialog ([#&#8203;5669](https://github.com/usememos/memos/issues/5669)) ([104d2ec](https://github.com/usememos/memos/commit/104d2ec0a6973e983c46724165fdc0916515ad16)) - **user:** add per-user tag metadata settings ([#&#8203;5735](https://github.com/usememos/memos/issues/5735)) ([330291d](https://github.com/usememos/memos/commit/330291d4d9fa95649e940001898929b4f6f0367e)) - **web:** add demo mode banner ([#&#8203;5836](https://github.com/usememos/memos/issues/5836)) ([35504cc](https://github.com/usememos/memos/commit/35504cc8bd6f9921291fb565633d549388a3f948)) - **webhook:** dispatch webhook on memo comment creation ([7c1defb](https://github.com/usememos/memos/commit/7c1defba01fbc91cc81e1a0841cecb6738056db7)) ##### Bug Fixes - access token refresh on web app ([#&#8203;5681](https://github.com/usememos/memos/issues/5681)) ([3010f10](https://github.com/usememos/memos/commit/3010f10eafb49af5aadd71a94b3ef7a6ec71f617)) - add unix socket file permission setting (755 -> 660) ([#&#8203;5849](https://github.com/usememos/memos/issues/5849)) ([0fc1dab](https://github.com/usememos/memos/commit/0fc1dab28b33f7fdbe9a21cd3bd3affe75dd7f19)) - **api:** appease image size lint ([ff6389a](https://github.com/usememos/memos/commit/ff6389a5ef73772fcb5c132bf1cb169fb4744c00)) - **api:** improve SSE hub design and fix double-broadcast on comments ([c53677f](https://github.com/usememos/memos/commit/c53677fcba202a8eed35c8ecdfaacea5152b8691)) - **api:** make credentials write-only and restrict sensitive settings to admins ([9d3a74b](https://github.com/usememos/memos/commit/9d3a74bcccf934aa2fa95ee240b56cc3b3a25776)) - **api:** reduce memory pressure in backend paths ([c456637](https://github.com/usememos/memos/commit/c45663761d148e94d3e1b30f4810922e7c2571ab)) - **api:** remove public activity service ([#&#8203;5734](https://github.com/usememos/memos/issues/5734)) ([04f239a](https://github.com/usememos/memos/commit/04f239a2fc74f7090c779a6a7b8a08238fd31b88)) - **api:** restrict user email exposure to self and admins ([#&#8203;5784](https://github.com/usememos/memos/issues/5784)) ([a24d420](https://github.com/usememos/memos/commit/a24d4209222814e4a8bedfc0392e91462bc855ad)) - **api:** switch user resource names to usernames ([#&#8203;5779](https://github.com/usememos/memos/issues/5779)) ([acddef1](https://github.com/usememos/memos/commit/acddef1f3dcca44806bcbb85e9dc5cae7daa5285)) - **api:** tolerate missing related users in memo conversions ([#&#8203;5809](https://github.com/usememos/memos/issues/5809)) ([25feef3](https://github.com/usememos/memos/commit/25feef3aadd34bfd474d7e3b685815a6509bc4c6)) - **auth:** recover session via refresh cookie when localStorage is empty ([#&#8203;5748](https://github.com/usememos/memos/issues/5748)) ([551ee1d](https://github.com/usememos/memos/commit/551ee1d81f398abdcaf73a0c2b782c8379b0e3f2)) - backend tests action ([065e817](https://github.com/usememos/memos/commit/065e817470b1d3b6b00222525791b85d825c1492)) - clear content search filter when selecting shortcut ([#&#8203;5499](https://github.com/usememos/memos/issues/5499)) ([2c3f9e3](https://github.com/usememos/memos/commit/2c3f9e3bfbe09e5d0028d1525c1df83c03f547c9)) - correct typos in comments, error messages, and identifiers ([#&#8203;5704](https://github.com/usememos/memos/issues/5704)) ([8f43e80](https://github.com/usememos/memos/commit/8f43e8075b62706f99da4005ab04b165b35215f6)) - detect legacy installations with empty schema version ([9628d3d](https://github.com/usememos/memos/commit/9628d3de21289e887ffeb6cc4b6710913a0de44e)) - **editor:** show newly linked memos when editing a memo with attachments ([026ea92](https://github.com/usememos/memos/commit/026ea92f7b4005c30ca84340c22018740659ab51)) - ensure comment divs span full width in MemoDetail ([ce44164](https://github.com/usememos/memos/commit/ce441644af34ffff156f1793c40011c2b82e8d5f)) - **fileserver:** render SVG attachment previews ([40fd700](https://github.com/usememos/memos/commit/40fd700fb8be27a8d7a300a2636cf4f366572176)) - **filter:** enforce CEL syntax semantics ([0e89407](https://github.com/usememos/memos/commit/0e89407ee91deda87e0df7464a89d26d1e9a88b3)) - **frontend:** restore sitemap and robots routes ([fee7fcd](https://github.com/usememos/memos/commit/fee7fcd6608b9d07da1f146c33c9bb8f898f708f)) - handle chunk load errors after redeployment with auto-reload ([#&#8203;5703](https://github.com/usememos/memos/issues/5703)) ([bdd3554](https://github.com/usememos/memos/commit/bdd3554b897246bac5c1e6fd801495c24b6a656e)) - harden memo content iframe and HTML sanitization ([7e21b72](https://github.com/usememos/memos/commit/7e21b728b346e80023c93e8986130f83e70584f9)) - hide transcribe button without AI provider ([ab53329](https://github.com/usememos/memos/commit/ab5332901fd6626f0a2ae6b99671af9663f68078)) - improve image preview dialog and live photo trigger ([aafcc21](https://github.com/usememos/memos/commit/aafcc21ae6f96a313fb372365dd1af8a1a69d1ba)) - improve installer compatibility and docs ([f90d9a4](https://github.com/usememos/memos/commit/f90d9a49a78d0764a6c5cf8f6720e69ea1164b25)) - improve KaTeX and Mermaid error handling and overflow ([6b37fcc](https://github.com/usememos/memos/commit/6b37fcc01b5dcded6a2ec254fbaf895f7812d072)) - include plain URLs and tags in memo snippet generation ([#&#8203;5688](https://github.com/usememos/memos/issues/5688)) ([3d4f793](https://github.com/usememos/memos/commit/3d4f793f97b567bda823a60b7fe10e09e14499ce)) - **lint:** correct goimports struct literal alignment after removing write-only credential fields ([#&#8203;5794](https://github.com/usememos/memos/issues/5794)) ([9610ed8](https://github.com/usememos/memos/commit/9610ed8fc809b3e7aa4b93e4909634957fa94cf7)) - **map:** align dark mode map styling ([7ac9989](https://github.com/usememos/memos/commit/7ac9989d43f3967b466f340da3841290d86b20f1)) - **map:** refine Leaflet controls and memo map styling ([894b3eb](https://github.com/usememos/memos/commit/894b3eb045c7d2c2acce847c34a85295c909dcf7)) - **markdown:** support height/width attributes on img elements ([737acbb](https://github.com/usememos/memos/commit/737acbba2f5e3dd911da3a77d2d5d1cde1bf8ba1)) - **memo-editor:** scope Cmd+Enter save to the active editor ([#&#8203;5745](https://github.com/usememos/memos/issues/5745)) ([05810e7](https://github.com/usememos/memos/commit/05810e7882cb03d448d9d8fa84bc6ca54eafbed0)) - **mysql:** handle CreateMemo custom timestamps with FROM\_UNIXTIME ([#&#8203;5673](https://github.com/usememos/memos/issues/5673)) ([09d73e8](https://github.com/usememos/memos/commit/09d73e8b6e16c43a61767817909a472916c83daa)) - normalize attachment MIME types before validation ([c3e7e2c](https://github.com/usememos/memos/commit/c3e7e2c316d01bf857931c38303efc87307f2a19)) - preserve draft content when tab is suspended or editor remounts ([9ca7122](https://github.com/usememos/memos/commit/9ca71229a6c0dfad44b76ed06fced46c5bef49c7)) - prevent local attachment uploads from overwriting files ([4add9b0](https://github.com/usememos/memos/commit/4add9b04ad5d0b7608c985281f5975dc39f9a572)) - prevent stale comment drafts from being restored ([e520b63](https://github.com/usememos/memos/commit/e520b637fd8d0f6331674003abe72f9dfbae8231)) - remove duplicate Japanese locale keys ([efeb28c](https://github.com/usememos/memos/commit/efeb28c872a2bd6edd28fa3b68bd0b15af923d50)) - render audio attachments as inline players ([#&#8203;5699](https://github.com/usememos/memos/issues/5699)) ([2ccb98a](https://github.com/usememos/memos/commit/2ccb98a6cbc40544e81eeeca2a2cbbaf8348f45e)) - restrict archived memo access to creator only ([#&#8203;5707](https://github.com/usememos/memos/issues/5707)) ([f4154d0](https://github.com/usememos/memos/commit/f4154d090be3896c8e0dd83440f24953bbeb308c)) - **routing:** redirect unauthenticated users to /explore when public visibility is allowed ([98859eb](https://github.com/usememos/memos/commit/98859eb5e5065a7c12ada983b7c38c5af5035bb6)) - **server:** close SSE clients during shutdown ([a5ddd5a](https://github.com/usememos/memos/commit/a5ddd5adafef282f00b23e00e145119d4316f24f)) - sync html lang attribute with active locale ([#&#8203;5753](https://github.com/usememos/memos/issues/5753)) ([be00abe](https://github.com/usememos/memos/commit/be00abe852479820b7c574e15e276d70961ab7bd)) - tag parsing truncates emojis with variation selectors ([#&#8203;5496](https://github.com/usememos/memos/issues/5496)) ([3ea6ea3](https://github.com/usememos/memos/commit/3ea6ea3108f58dc34f39fa6f21d761bd2e97732b)) - **tags:** allow blur-only tag metadata ([#&#8203;5800](https://github.com/usememos/memos/issues/5800)) ([1921b57](https://github.com/usememos/memos/commit/1921b57662c2129d179930f71e5c42caf9070a19)) - toggle focus mode do not reset editor height ([#&#8203;5504](https://github.com/usememos/memos/issues/5504)) ([0729779](https://github.com/usememos/memos/commit/0729779e0427c68bdbc5b6b711a5683f66ba9bbc)) - **ui:** show comment editor above the comment list ([#&#8203;5662](https://github.com/usememos/memos/issues/5662)) ([6b0736b](https://github.com/usememos/memos/commit/6b0736b29325ff7698b7395dc761f2ca41e6521c)) - **ui:** unify metadata component styles across MemoView and MemoEditor ([664b8c5](https://github.com/usememos/memos/commit/664b8c56290026ba2beb7b75db24c684824b8670)) - unify live photo previews around LIVE badge playback ([6b0487d](https://github.com/usememos/memos/commit/6b0487dcd857ba72189ca0624cb4985961f08f25)) - **webhooks:** trigger memo updates for attachment and relation changes ([#&#8203;5795](https://github.com/usememos/memos/issues/5795)) ([acbc914](https://github.com/usememos/memos/commit/acbc914dea8d4e533028b03929193a4af1ac32b4)) - **web:** prevent MemoContent prop leaks ([22519b5](https://github.com/usememos/memos/commit/22519b57a0a971ab927a03015c994c63b8c3f1da)) - **web:** refine attachment media layout ([a0d83e1](https://github.com/usememos/memos/commit/a0d83e1a9e9d0ba50a0103e594adb011728faf8c)) - **web:** refresh memo detail cache after editor save ([333c9df](https://github.com/usememos/memos/commit/333c9df233240a843a9e62d17c6ff464690636f8)) - **web:** use BroadcastChannel to sync token refreshes across tabs ([bbdc998](https://github.com/usememos/memos/commit/bbdc998646e8093223a448378a2c29690f0d8612)) ##### Performance Improvements - batch load memo relations when listing memos ([#&#8203;5692](https://github.com/usememos/memos/issues/5692)) ([1e82714](https://github.com/usememos/memos/commit/1e82714a52c72455a6ba02605cc641d7ad4fbf1a)) ### [`v0.26.2`](https://github.com/usememos/memos/releases/tag/v0.26.2) [Compare Source](https://github.com/usememos/memos/compare/v0.26.1...v0.26.2) #### What's Changed - Fix spurious logout on page reload with expired access token - Fix explore page showing private tags and improve stats hook - Fix calendar navigation to use current page path ([#&#8203;5605](https://github.com/usememos/memos/issues/5605)) - Fix default memo visibility not being correctly applied ([#&#8203;5623](https://github.com/usememos/memos/issues/5623)) - Fix delete memo errors — only run post-delete actions on success - Fix infinite view transition loop by memoizing `useNavigateTo` - Fix task list item index scoping to memo content container - Fix cross-tab session loss by persisting auth token in localStorage - Fix spurious `GetCurrentUser` call on init when no token is stored - Fix SSRF vulnerability in webhook dispatcher (security) - Fix MemoEditor layout and timestamp popover styling - Fix attachment/memo deletion when local file is missing - Fix MonthNavigator month label not reacting to language changes - Fix truncation of memo batch attachments ([#&#8203;5654](https://github.com/usememos/memos/issues/5654)) - Fix comment reactions and deletion not invalidating comments query ([#&#8203;5641](https://github.com/usememos/memos/issues/5641)) - Fix calendar year picker to allow navigation back to 1970 - Fix redirect to auth page instead of explore on session expiry - Fix PAT handling in PostgreSQL — handle missing data gracefully, add tests ([#&#8203;5605](https://github.com/usememos/memos/issues/5605)) - Fix ampersand support in tags to enable compound tags - Eliminate redundant fetch when opening inline memo editor - Replace `EditableTimestamp` with inline editor timestamp popover #### New Contributors - [@&#8203;CharyeahOwO](https://github.com/CharyeahOwO) made their first contribution in [#&#8203;5605](https://github.com/usememos/memos/pull/5605) - [@&#8203;Kaki021](https://github.com/Kaki021) made their first contribution in [#&#8203;5623](https://github.com/usememos/memos/pull/5623) - [@&#8203;milvasic](https://github.com/milvasic) made their first contribution in [#&#8203;5641](https://github.com/usememos/memos/pull/5641) **Full Changelog**: <https://github.com/usememos/memos/compare/v0.26.1...v0.26.2> ### [`v0.26.1`](https://github.com/usememos/memos/releases/tag/v0.26.1) [Compare Source](https://github.com/usememos/memos/compare/v0.26.0...v0.26.1) #### Bug Fixes - Avoid inbox crashes by gracefully handling deleted memos in the activity service. ([984d9b46](https://github.com/usememos/memos/commit/984d9b46)) - Correctly parse environment variables that contain underscores. ([a69056a1](https://github.com/usememos/memos/commit/a69056a1)) - Return gRPC-style errors consistently instead of Echo HTTP errors. ([d9dc5be2](https://github.com/usememos/memos/commit/d9dc5be2)) - Fix video attachment handling. ([c4176b4e](https://github.com/usememos/memos/commit/c4176b4e)) - Prevent 401 errors on window focus when an access token expires. ([81ef53b3](https://github.com/usememos/memos/commit/81ef53b3)) - Ensure the shortcut edit button opens the edit dialog (not create). ([e7605d90](https://github.com/usememos/memos/commit/e7605d90)) - Block `Ctrl+Enter` from saving while the editor is still loading content ([#&#8203;5581](https://github.com/usememos/memos/issues/5581)). ([6bb383a4](https://github.com/usememos/memos/commit/6bb383a4)) - Fix nested task list rendering and checkbox interactions ([#&#8203;5575](https://github.com/usememos/memos/issues/5575)). ([b4fea8c6](https://github.com/usememos/memos/commit/b4fea8c6)) - Make OAuth PKCE optional during sign-in ([#&#8203;5570](https://github.com/usememos/memos/issues/5570)). ([cf0a285e](https://github.com/usememos/memos/commit/cf0a285e)) - Prevent private memos from disappearing during token refresh ([#&#8203;5565](https://github.com/usememos/memos/issues/5565)). ([6db58fae](https://github.com/usememos/memos/commit/6db58fae)) - Add Unicode case-insensitive search support for SQLite ([#&#8203;5559](https://github.com/usememos/memos/issues/5559)). ([8770b186](https://github.com/usememos/memos/commit/8770b186)) - Correct handling of pasted files in the memo editor. ([2db57b13](https://github.com/usememos/memos/commit/2db57b13)) - Restore the access token creation flow. ([0dbc35a2](https://github.com/usememos/memos/commit/0dbc35a2)) - Preserve tag case when extracting Markdown tags. ([e1c8101d](https://github.com/usememos/memos/commit/e1c8101d)) - Auto-fix permission issues when upgrading from 0.25.3 to 0.26.0. ([d14cfa1c](https://github.com/usememos/memos/commit/d14cfa1c)) #### New Contributors - [@&#8203;d-jankowski](https://github.com/d-jankowski) made their first contribution in [#&#8203;5569](https://github.com/usememos/memos/pull/5569) - [@&#8203;MemoryClear](https://github.com/MemoryClear) made their first contribution in [#&#8203;5573](https://github.com/usememos/memos/pull/5573) **Full Changelog**: <https://github.com/usememos/memos/compare/v0.26.0...v0.26.1> ### [`v0.26.0`](https://github.com/usememos/memos/releases/tag/v0.26.0) [Compare Source](https://github.com/usememos/memos/compare/v0.25.3...v0.26.0) #### What's Changed ##### 🚀 Major Features - **Refresh Token Rotation with Sliding Window Sessions** - Enhanced authentication security by implementing refresh token rotation and sliding window session expiration for better session management - **Streaming for Video/Audio Files** - Fixed memory exhaustion issues by implementing streaming for media files instead of loading them entirely into memory - **EXIF Metadata Stripping for Image Uploads** - Privacy enhancement that automatically strips EXIF metadata (location, camera info, etc.) from uploaded images - **Role Refactor: HOST → ADMIN** - Migrated the HOST role to ADMIN for clearer terminology and permission naming - **React Query Migration** ([#&#8203;5379](https://github.com/usememos/memos/pull/5379)) - Major frontend state management refactor, replacing custom state management with React Query v5 for improved caching, data synchronization, and developer experience - **Memo Map in User Profile** - Implemented map view in user profiles to visualize memo locations geographically with Google Maps integration - **HDR Image and Video Support** - Added support for HDR (High Dynamic Range) images and videos - **Midnight Theme** ([#&#8203;5288](https://github.com/usememos/memos/pull/5288)) - Added new midnight theme option for users who prefer a darker interface ##### ✨ Other Improvements - feat: contribution New Locale: Galician (gl, gl\_ES) ([#&#8203;5376](https://github.com/usememos/memos/pull/5376)) - feat: add iframe support for embedded videos in markdown content - feat: enhance attachment handling with MIME type validation - feat: add glassmorphism map controls with Google Maps integration - feat: add slash commands tooltip to InsertMenu - refactor: migrate to connect-rpc ([#&#8203;5338](https://github.com/usememos/memos/pull/5338)) - refactor: user auth improvements ([#&#8203;5360](https://github.com/usememos/memos/pull/5360)) - refactor: consolidate MemoEditor components ([#&#8203;5409](https://github.com/usememos/memos/pull/5409)) - refactor: remove legacy session cookie authentication - refactor: remove deprecated Sessions and AccessTokens settings - style: improve code block styling and formatting - perf: optimize memory usage for statistics and image processing - perf: optimize backend tests with parallel execution ##### 🐛 Bug Fixes - fix: add access control checks for attachments, comments, and reactions - fix(ui): math render ([#&#8203;5549](https://github.com/usememos/memos/pull/5549)) - fix(ui): correct calendar header month parsing ([#&#8203;5532](https://github.com/usememos/memos/pull/5532)) - fix: improve editor auto-scroll and Safari IME handling ([#&#8203;5469](https://github.com/usememos/memos/pull/5469)) - fix: prevent browser cache from serving stale memo data ([#&#8203;5470](https://github.com/usememos/memos/pull/5470)) - fix: return Unauthenticated instead of PermissionDenied on token expiration ([#&#8203;5454](https://github.com/usememos/memos/pull/5454)) - fix: apply theme and locale changes immediately on login screen ([#&#8203;5442](https://github.com/usememos/memos/pull/5442)) - fix: allow public memo API access without authentication ([#&#8203;5451](https://github.com/usememos/memos/pull/5451)) - fix: KaTeX math rendering with underscores ([#&#8203;5438](https://github.com/usememos/memos/pull/5438)) - fix(frontend): ensure attachments are properly linked when creating memos ([#&#8203;5428](https://github.com/usememos/memos/pull/5428)) - fix(theme): improve text contrast in default dark mode ([#&#8203;5323](https://github.com/usememos/memos/pull/5323)) - fix(web): disable setext header syntax ([#&#8203;5314](https://github.com/usememos/memos/pull/5314)) - fix(ui): fix todo command does nothing ([#&#8203;5329](https://github.com/usememos/memos/pull/5329)) - fix: clean up memo\_relation and attachments when deleting memo - fix: allow guests to view public memo comments ##### 🌍 Localization - chore(i18n): update British English spelling ([#&#8203;5529](https://github.com/usememos/memos/pull/5529)) - chore: update Chinese translation ([#&#8203;5519](https://github.com/usememos/memos/pull/5519)) - chore(i18n): add missing Korean translations ([#&#8203;5456](https://github.com/usememos/memos/pull/5456)) - chore: update simplified chinese localization ([#&#8203;5422](https://github.com/usememos/memos/pull/5422)) - Update german translations ([#&#8203;5419](https://github.com/usememos/memos/pull/5419)) - chore: add missing French locale translations ([#&#8203;5405](https://github.com/usememos/memos/pull/5405)) - chore: add missing keys to Polish translation ([#&#8203;5380](https://github.com/usememos/memos/pull/5380)) - chore(locales): update Italian translation ([#&#8203;5346](https://github.com/usememos/memos/pull/5346)) #### 💎 Featured Sponsor ##### [Warp - The terminal reimagined with AI and collaborative tools for developers](https://go.warp.dev/memos) <a href="https://go.warp.dev/memos" target="_blank" rel="noopener"> <img src="https://raw.githubusercontent.com/warpdotdev/brand-assets/main/Github/Sponsor/Warp-Github-LG-02.png" alt="Warp - The terminal for the 21st century" height="256" /> </a> #### New Contributors * @&#8203;kanghyki made their first contribution in https://github.com/usememos/memos/pull/5280 * @&#8203;realChriss made their first contribution in https://github.com/usememos/memos/pull/5288 * @&#8203;seiyap70 made their first contribution in https://github.com/usememos/memos/pull/5294 * @&#8203;spaghetti-coder made their first contribution in https://github.com/usememos/memos/pull/5328 * @&#8203;xiaolinny made their first contribution in https://github.com/usememos/memos/pull/5332 * @&#8203;maishivamhoo123 made their first contribution in https://github.com/usememos/memos/pull/5323 * @&#8203;catoblepa made their first contribution in https://github.com/usememos/memos/pull/5346 * @&#8203;dwojtas made their first contribution in https://github.com/usememos/memos/pull/5380 * @&#8203;xmgz made their first contribution in https://github.com/usememos/memos/pull/5376 * @&#8203;Linqi1234 made their first contribution in https://github.com/usememos/memos/pull/5404 * @&#8203;guiguir68 made their first contribution in https://github.com/usememos/memos/pull/5405 * @&#8203;rteitge made their first contribution in https://github.com/usememos/memos/pull/5419 * @&#8203;sheep-realms made their first contribution in https://github.com/usememos/memos/pull/5422 * @&#8203;majiayu000 made their first contribution in https://github.com/usememos/memos/pull/5428 * @&#8203;Faizaanp made their first contribution in https://github.com/usememos/memos/pull/5438 * @&#8203;Omcodes23 made their first contribution in https://github.com/usememos/memos/pull/5442 * @&#8203;myodan made their first contribution in https://github.com/usememos/memos/pull/5456 * @&#8203;zhongzhong4zz made their first contribution in https://github.com/usememos/memos/pull/5482 * @&#8203;pgoslatara made their first contribution in https://github.com/usememos/memos/pull/5522 * @&#8203;salmanmkc made their first contribution in https://github.com/usememos/memos/pull/5528 * @&#8203;itzmk21 made their first contribution in https://github.com/usememos/memos/pull/5529 * @&#8203;BrenticusMaximus made their first contribution in https://github.com/usememos/memos/pull/5532 * @&#8203;cuiweixie made their first contribution in https://github.com/usememos/memos/pull/5539 * @&#8203;ganeshkumara10 made their first contribution in https://github.com/usememos/memos/pull/5549 **Full Changelog**: <https://github.com/usememos/memos/compare/v0.25.3...v0.26.0> ### [`v0.25.3`](https://github.com/usememos/memos/releases/tag/v0.25.3) [Compare Source](https://github.com/usememos/memos/compare/v0.25.2...v0.25.3) #### What's Changed - The markdown parser/renderer now follows CommonMark and GFM specifications for better compatibility and consistency - feat: add Focus Mode for distraction-free writing - New writing mode that minimizes distractions for focused memo creation - feat: add ability to delete unused attachments ([#&#8203;5272](https://github.com/usememos/memos/issues/5272)) - Clean up unused attachments to save storage space - feat: standardize theme system with auto sync option ([#&#8203;5231](https://github.com/usememos/memos/issues/5231)) - Theme now syncs with system preferences automatically - feat: add load more button and pagination to attachments page ([#&#8203;5258](https://github.com/usememos/memos/issues/5258)) - Better navigation for large attachment lists - fix: resolve tag sidebar filtering and reactivity issues - Tags now filter properly in the sidebar - fix: prevent memory exhaustion in thumbnail generation - More stable thumbnail generation - fix: markdown list auto-completion creates new line correctly ([#&#8203;5238](https://github.com/usememos/memos/issues/5238)) - List continuation works as expected #### 💎 Featured Sponsor ##### [Warp - The terminal reimagined with AI and collaborative tools for developers](https://go.warp.dev/memos) <a href="https://go.warp.dev/memos" target="_blank" rel="noopener"> <img src="https://raw.githubusercontent.com/warpdotdev/brand-assets/main/Github/Sponsor/Warp-Github-LG-02.png" alt="Warp - The terminal for the 21st century" height="256" /> </a> #### New Contributors * @&#8203;Elliott-byte made their first contribution in https://github.com/usememos/memos/pull/5229 * @&#8203;gitkeniwo made their first contribution in https://github.com/usememos/memos/pull/5258 * @&#8203;richardszegh made their first contribution in https://github.com/usememos/memos/pull/5272 **Full Changelog**: <https://github.com/usememos/memos/compare/v0.25.2...v0.25.3> ### [`v0.25.2`](https://github.com/usememos/memos/releases/tag/v0.25.2) [Compare Source](https://github.com/usememos/memos/compare/v0.25.1...v0.25.2) #### What's Changed - feat: automatic thumbnail generation for S3-stored images - feat: masonry layout with responsive columns - feat: system theme detection and automatic dark/light mode switching - feat: manual latitude/longitude input for location tagging ([#&#8203;5152](https://github.com/usememos/memos/issues/5152)) - feat: copy memo content from action menu - feat: enhanced reaction selector with hover and mobile-friendly scrolling - feat: improved geolocation handling in LocationSelector - feat: theme-aware syntax highlighting in code blocks - fix: add user authentication security checks - fix: correct theme colors in calendar cells - fix: prevent dialog state leakage between sessions - fix: markdown parser compatibility improvements - chore: accessible confirmation dialogs with markdown support ([#&#8203;5111](https://github.com/usememos/memos/issues/5111)) - chore: enhanced store architecture and state management - chore: simplified concurrent operations ([#&#8203;5162](https://github.com/usememos/memos/issues/5162)) - chore: improved Traditional Chinese translations ([#&#8203;5159](https://github.com/usememos/memos/issues/5159)) - refactor: streamlined memo filtering logic #### 💎 Featured Sponsor ##### [Warp - The terminal reimagined with AI and collaborative tools for developers](https://go.warp.dev/memos) <a href="https://go.warp.dev/memos" target="_blank" rel="noopener"> <img src="https://raw.githubusercontent.com/warpdotdev/brand-assets/main/Github/Sponsor/Warp-Github-LG-02.png" alt="Warp - The terminal for the 21st century" height="256" /> </a> #### New Contributors * @&#8203;nicolasluckie made their first contribution in https://github.com/usememos/memos/pull/5111 * @&#8203;asttool made their first contribution in https://github.com/usememos/memos/pull/5162 * @&#8203;bmitchinson made their first contribution in https://github.com/usememos/memos/pull/5152 * @&#8203;simoncarrignon made their first contribution in https://github.com/usememos/memos/pull/5174 * @&#8203;FloDwld made their first contribution in https://github.com/usememos/memos/pull/5179 **Full Changelog**: <https://github.com/usememos/memos/compare/v0.25.1...v0.25.2> #### Learn More Website: [www.usememos.com](https://www.usememos.com/) Changelog: [www.usememos.com/changelog](https://www.usememos.com/changelog) Documentation: [www.usememos.com/docs](https://www.usememos.com/docs) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNTMuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI1My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
renovate-bot changed title from Update ghcr.io/usememos/memos Docker tag to v0.29.1 to chore(deps): update ghcr.io/usememos/memos docker tag to v0.29.1 2026-07-17 23:12:22 +00:00
renovate-bot changed title from chore(deps): update ghcr.io/usememos/memos docker tag to v0.29.1 to Update ghcr.io/usememos/memos Docker tag to v0.29.1 2026-07-21 01:09:13 +00:00
renovate-bot changed title from Update ghcr.io/usememos/memos Docker tag to v0.29.1 to chore(deps): update ghcr.io/usememos/memos docker tag to v0.29.1 2026-07-21 02:09:27 +00:00
renovate-bot changed title from chore(deps): update ghcr.io/usememos/memos docker tag to v0.29.1 to chore(deps): update ghcr.io/usememos/memos docker tag to v0.30.0 2026-07-26 18:14:01 +00:00
This pull request is broken due to missing fork information.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/ghcr.io-usememos-memos-0.x:renovate/ghcr.io-usememos-memos-0.x
git switch renovate/ghcr.io-usememos-memos-0.x

Merge

Merge the changes and update on Forgejo.
git switch main
git merge --no-ff renovate/ghcr.io-usememos-memos-0.x
git switch renovate/ghcr.io-usememos-memos-0.x
git rebase main
git switch main
git merge --ff-only renovate/ghcr.io-usememos-memos-0.x
git switch renovate/ghcr.io-usememos-memos-0.x
git rebase main
git switch main
git merge --no-ff renovate/ghcr.io-usememos-memos-0.x
git switch main
git merge --squash renovate/ghcr.io-usememos-memos-0.x
git switch main
git merge --ff-only renovate/ghcr.io-usememos-memos-0.x
git switch main
git merge renovate/ghcr.io-usememos-memos-0.x
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ops/homelab!36
No description provided.