github usememos/memos 26.10-rc.1

pre-release3 hours ago

Memos 26.10-rc.1 adds contextual editor suggestions, transcription for existing audio attachments, and a unified way to browse by creator and Space. Markdown, Calendar and Map views, image previews, and navigation receive improvements throughout the app.

What's new

  • Editor suggestions: New memo drafts offer tags, checklist formatting, and visibility choices based on the current filters or selected View. Suggestions are optional and disappear once fulfilled. (#6367)
  • Audio transcription: Transcribe an existing audio attachment from the memo editor using the configured transcription provider. The transcript is inserted into the draft for review and saving; existing text and the original audio are preserved. (#6375)
  • Browsing: Keep the selected creator and Space while switching between Timeline, Calendar, Map, and Attachments. The attachment library includes files from memos you can read and shows their uploaders. (#6378)
  • Calendar and Map: Signed-out visitors can browse readable memos in Calendar and Map. Photos and author avatars make days and map pins easier to identify when browsing several authors, and the desktop calendar leaves room for its day panel. (guest browsing, multi-author views)
  • Spaces: Choose a memo's Space alongside its visibility in the editor's audience menu. Edit a top-level memo to add, change, or remove its Space, then save both changes together. (audience menu)

Improvements and fixes

  • Markdown and editing: Collapsible sections gain clearer indicators and spacing while preserving native keyboard controls and nested sections. Heading sizes match between editing and reading, block spacing is more consistent, and formatting shortcuts keep selection-edge whitespace outside Markdown delimiters. (#6364, Markdown layout, #6404)

  • Image previews: Pinch to zoom, drag zoomed images to pan, and swipe between gallery images at fit zoom. Preview controls stay within the visible mobile viewport. (#6414, #6448, #6401)

  • Memos and filters: Pinned memos have a clearer corner marker in single-creator feeds, while mixed-author feeds stay chronological. Filters such as has_task_list == false correctly include memos without that property. Deleting a memo also deletes its comments and nested replies, preventing them from resurfacing as standalone memos. (#6369, pin ordering, #6382, #6424)

  • Navigation and interface: Memo timestamps work as links that can open in a new tab. Theme and language controls live in sidebar submenus and stay on screen in narrow viewports; notifications follow the active theme, and reaction pickers close without flashing at the page corner. (memo links, preference menus, submenu positioning, #6377, #6402)

  • Languages: Norwegian Nynorsk is available, and the Korean label for hidden content uses neutral wording. (#6394, Korean wording)

  • Release numbering: Releases use calendar versions such as 26.10, 26.10.1, and 26.10-rc.1, without a v prefix. Stable container releases publish the exact version, monthly series, and stable tags; release candidates publish only their exact tag. The installer continues to support historical v0.x releases. (#6362)

  • Link previews: Titles and images appear more reliably in previews of large web pages. (preview metadata)

Upgrade notes

  • Upgrade path: If you run a version earlier than 0.31.0, first upgrade to 0.31.0 and start it successfully before installing this release. Versions earlier than 0.22 must first run 0.25.3, then 0.31.0. Installations already running 0.31.0 can upgrade directly. Fresh installations need no intermediate release. (#6362)
  • Tasks View: The built-in Tasks View is removed. Create a saved View with has_task_list && has_incomplete_tasks to keep browsing unfinished tasks. (Tasks View change)
  • Moving memos: The separate Move to Space action is replaced by Space selection in the memo editor's audience menu. (audience menu)
  • API clients: Every external API client must update its paths and any affected field or type names. Binary protobuf clients must regenerate from the new schema. The complete breaking changes below come from the API changelog. (#6447)

Breaking API changes

  • The API no longer carries a v1 version marker. Every client must update its paths:
    • REST routes move from /api/v1/... to /api/... (for example GET /api/memos). Server-sent events move from
      /api/v1/sse to /api/sse.
    • The proto package memos.api.v1 is now memos.api, so Connect and gRPC procedures move from
      /memos.api.v1.<Service>/<Method> to /memos.api.<Service>/<Method>.
    • Resource types move from memos.api.v1/<Type> to memos.api/<Type>.
    • The domain of google.rpc.ErrorInfo details is now memos.api.
    • For this release only, requests to /api/v1/... and /memos.api.v1.* return 410 Gone with an UNIMPLEMENTED
      error that points here. The next release removes these routes.
  • Binary protobuf clients must regenerate from the new schema because field numbers have changed. JSON clients must update
    any renamed fields listed below.
  • Update renamed API methods, fields, and types:
    • MemoService: ListMemoAttachments, ListMemoRelations, ListMemoComments, CreateMemoComment,
      ListMemoReactions, and UpsertMemoReaction take parent instead of name (REST path variable
      {parent=memos/*}). ListMemoCommentsResponse.memos is now comments. The nested MemoRelation.Memo type is
      now MemoRelation.MemoRef. The MemoShare resource singular/plural is now memoShare/memoShares.
    • UserService.ListAllUserStats is now ListUserStats. It requires a parent: users/- for all users (REST
      GET /api/users/-/stats instead of GET /api/users:stats) or users/{user} for one user. The response field
      stats is now user_stats.
    • BatchGetUsersRequest.usernames is now names and takes resource names (users/{user}), not bare usernames.
    • PersonalAccessToken.created_at, expires_at, and last_used_at are now create_time, expire_time, and
      last_use_time.
    • LinkedIdentity.idp_name and extern_uid are now identity_provider and external_uid;
      CreateLinkedIdentityRequest.idp_name is now identity_provider.
    • The MemoView and UserNotification resource singulars are now memoView and userNotification.
    • UserStats.tag_count is now tag_counts.
    • MemoImportPlan, MemoImportReport, and MemoImportIssue are now ImportMemosPlan, ImportMemosReport, and
      ImportMemosIssue. ImportMemosPlan.memos and attachments are now memo_count and attachment_count;
      ImportMemosIssue.memo is now memo_uid.
    • UserNotification.SpaceInvitationPayload.State is now InvitationState.
    • UpdateUserSettingRequest.setting and ListUserSettingsResponse.settings are now user_setting and
      user_settings; UpdateInstanceSettingRequest.setting and BatchGetInstanceSettingsResponse.settings are now
      instance_setting and instance_settings.
    • SignInResponse.access_token_expires_at and RefreshTokenResponse.expires_at are both now
      access_token_expire_time.
    • SignInRequest.SSOCredentials is now SsoCredentials, and its idp_name is now identity_provider.

Please report regressions in GitHub issues.

New Contributors

Full Changelog: v0.31.0...26.10-rc.1

Don't miss a new memos release

NewReleases is sending notifications on new releases.