Update outlinewiki/outline Docker tag to v1.10.1 #786

Merged
AverageMarcus merged 1 commits from renovate/outlinewiki-outline-1.x into master 2026-09-14 05:16:38 +00:00
Collaborator

This PR contains the following updates:

Package Update Change
outlinewiki/outline minor 1.9.21.10.1

Release Notes

outline/outline (outlinewiki/outline)

v1.10.1

Compare Source

What's Changed

  • Added WebMCP support in #​13576, allowing agents in Chrome and ChatGPT to programmatically control Outline through the browser.
  • Alt/Mod-click toggle disclosure folds nested or all toggle blocks in #​13678
  • Keep editor "find and replace" panel open in #​13643
  • Added Open Knowledge Format (OKF) export in #​13644
Performance improvements
  • Add indexes on user foreign key columns in #​13631
  • Upgraded Zod and enable schema compilation in #​13647
  • History revision content now prefetched on hover in history sidebar in #​13688
  • Optimized document queries by excluding content when not needed in #​13706
Fixes
  • Allowed editing webhooks without signing secrets in #​13622
  • Escaped MCP attachment PUT upload command arguments in #​13613
  • Prevented overlapping nested list markers by @​47star in #​13584
  • preserve toggle fold state across remote and local document edits by @​chenniannian90 in #​13425
  • Fixed manual sizing of embedded PDFs in #​13645
  • Added missing transaction in GitLabIssueProvider in #​13646
  • Fixed Mermaid diagram rendering size issue in #​13648
  • Align attachment upload permissions in #​13654
  • Load revision content in document history in #​13656
  • Revisions now show accurate stats in #​13657
  • Editor crash when upload placeholder targets a position with no node in #​13658
  • Guard null $cursor in toggle block in #​13660
  • Child documents list empty until sidebar renders the collection in #​13662
  • Tighten authentication on views.create endpoint in #​13663
  • Markdown list dropped when a plain item precedes a checkbox item in #​13665
  • Allow document mentions to wrap in #​13639
  • Validate API key and OAuth scopes at the model layer in #​13664
  • Persist comment sidebar open/close state across reloads in #​13667
  • Allow dropping a document after an expanded subtree in the sidebar in #​13668
  • History "Current version" entry never finishes loading in #​13669
  • AuthStore.availableTeams never becomes observable in #​13672
  • Expand folded toggle blocks when printing in #​13677
  • Signed file downloads rejected when an API key lacks scope for the route in #​13681
  • AuthStore.fetchConfig updates config outside a MobX action in #​13682
  • previous() on UserMembership and Star returned the next item in #​13684
  • Crash opening the template editor in #​13686
  • robots.txt blocked crawlers from indexable shares on self-hosted installs in #​13687
  • History changes indicator missing on load and stuck on "N changes" in #​13673
  • Revision view does not re-render when late-loaded content arrives in #​13683
  • Links in view mode ignore modifier clicks, drag, and keyboard activation in #​13689
  • Members receive authorization error when importing a document in #​13696
  • Stop repeated requests after final table page in #​13697
  • Table of contents clicks ignored while a search term is active in #​13698
  • Byte range handling for media in Safari in #​13695
  • Scroll position reset when navigating between revisions in #​13704

Full Changelog: https://github.com/outline/outline/compare/v1.10.0...v1.10.1

v1.10.0

Compare Source

What's Changed

This release has a focus on increasing performance and reducing memory usage both on the client and server - but some fantastic new functionality crept in too, of course.

Highlights
  • Open two views in side-by-side split view from any menu or cmd+click in #​13044
  • Users with read-only access can now leave inline comments in #​13209
  • Added [[ trigger for mentioning or creating a document in #​13402
  • Documents can now be shown with numbered headings, as a display preference in #​13522
  • Sidebar sections can now be reordered by dragging their headers in #​13505
  • Live document stats can now be displayed in the corner of the editor in #​13318
  • Danish and Indonesian have been added to the available language options in #​13221
  • Color swatches now have a hover card in the editor in #​13192
  • Web pages, Email (.eml), TextPack, and PDF files can now be imported in #​13229 #​13235 #​13302
MCP
  • Public share urls are now returned for documents in #​13043
  • Available icon names are now exposed as a resource in #​13048
  • All MCP tools now input and output Markdown consistently in #​13234
  • Success payloads from MCP mutation tools now use less tokens in #​13257
  • Archived documents are now excluded from MCP search by default in #​13518
Performance improvements
  • The sidebar menu and navigation tree are faster by @​Ali-ovo in #​12873
  • Server memory usage is reduced, with container memory best practices documented in #​13042
  • Boot migration check now runs as a separate process to reduce memory usage in #​13049
  • Drag and drop re-rendering has been optimized in #​13114
  • Local content search through the command menu is much faster and more accurate in #​13115
  • Nested policies are now briefly cached on the server in #​13172
  • Markdown import merge now uses an O(1) title lookup by @​irontaek in #​13117
  • The revisions.list endpoint now loads less data in #​13202
  • findByPk now requires fewer database connections in #​13214
  • Route chunks are now preloaded on sidebar hover intent in #​13263
  • Search no longer needs to join on memberships in #​13269
  • Search queries are now faster in #​13293
  • The popularity score scan is now index-friendly and spread over an hour in #​13306
  • Relationships are no longer fetched for newly created documents in #​13308
  • Creating a new document is faster in #​13310
  • Collection structure locks now use FOR NO KEY UPDATE in #​13314
  • The document row lock is now taken after text processing in #​13315
  • Deleting a document subtree no longer triggers N+1 queries in #​13311
  • Mermaid is no longer part of the initial bundle in #​13380
  • Browser tracing now sends fewer spans to Sentry in #​13389
  • Revision diffs are now skipped when they are too expensive to compute in #​13432
  • FontAwesome icon packs are no longer eagerly loaded in #​13463
  • Loading of y-prosemirror has been reworked in #​13521
  • The PWA precache is now limited and the service worker is skipped on share views in #​13519
Other improvements
  • Small images are now inlined as base64 into exported HTML in #​13036
  • A cleanup job now trims search_queries to match event log retention in #​13035
  • Backlinks and References now have a context menu in #​13045
  • Socket management has moved from the client to the server in #​13120
  • Streaming file outputs now pass through correctly in #​13153
  • The output stream is now attached before zip entries are added in #​13167
  • Export emails now say how many days remain until the download expires in #​13175
  • Pasting over an image in the editor now replaces it in #​13178
  • Icon picker styling and usability was improved in #​13177
  • Resizing the sidebar now has a rubber-banding effect in #​13188
  • Dialog headers now show the title of the entity in #​13196
  • Improved accessibility in the keyboard shortcuts guide in #​13193
  • Collections can now be duplicated in #​13197
  • CSRF cookies are now secure and host-bound where possible in #​13203
  • The group table now has a context menu in #​13220
  • Date mentions now support times in #​13222
  • Shared documents now show the search highlight chip in #​13227
  • Importing a file now happens in a dedicated dialog in #​13228
  • Hovering a user now shows their profile card in #​13230
  • Pinned documents can now be collapsed in #​13233
  • Documents can now be multi-selected in #​13041
  • "Members" has been renamed to "Users" throughout in #​13262
  • The invite and import onboarding links in the sidebar can now be dismissed in #​13292
  • The last download format is now remembered, and the format picker has been redesigned in #​13272
  • History events now show when they happened through the API or MCP in #​13294
  • The users, groups, and group members settings tables now support multi-select in #​13295
  • Last viewed tab on home is now remembered in #​13303
  • The header is tighter, and the floating keyboard shortcuts button has been removed in #​13304
  • Revision history now shows how the author was authenticated in #​13312
  • You can now choose which columns are visible in settings tables in #​13326
  • The users table now has "Invited by" and "Joined" columns in #​13325
  • The IconPicker now uses standard tabs in place of custom ones in #​13358
  • Template drafts are now saved as they are written in #​13357
  • The templates settings table now supports multi-select in #​13359
  • The shares settings table now supports multi-select in #​13360
  • Archived documents are now badged in the command menu in #​13366
  • Document export options are now consistent everywhere in #​13364
  • Command bar results now have a stable order in #​13382
  • Modifier-click now opens a link in the split view in #​13368
  • The language can now be set with a shortcut when creating a code block with backticks in #​13400
  • documents.update now accepts an optional lastRevision parameter in #​13410
  • The child documents list now has a "New doc" item in #​13415
  • Mention suggestions are now ranked by familiarity in #​13435
  • Trigger text is now highlighted while the suggestion menu is open in #​13406
  • A filter DSL has been added in #​12176
  • The first column now stays in place when scrolling tables that have a header column in #​13444
  • Elements only visible when logged-in are now separated on shared pages in #​13445
  • The README now has container image badges by @​rlenferink in #​13396
  • Collaboration connections are now re-authorized when access changes in #​13454
  • Policies are now persisted to IndexedDB, so abilities survive a reload in #​13138
  • Editor nodes are now server-rendered with React in #​13113
  • The trash can now be filtered by who deleted an item and when in #​13474
  • Editor node and mark attributes are now rendered more precisely in #​13486
  • The drafts count in the sidebar is now animated in #​13490
  • Pinned documents now have unpin and context menu controls in #​13498
  • Menus, dialogs, and other floating surfaces now have superellipse corners in #​13520
  • users.list now supports the filter DSL in #​13456
  • Outline now records who deleted a document in #​13484
  • The Markdown representation of a shared link is now discoverable in #​13527
  • The mobile formatting toolbar has been improved in #​13533
  • collections.list now supports the filter DSL in #​13442
  • Collections now show a line of metadata in #​13538
  • @ prefixed Markdown links are now converted to mentions on server writes in #​13403
  • HEIC and HEIF images can now be uploaded as avatars in #​13577

Fixes

  • Crash when dropping outside editor after drag began over it in #​13037
  • Improve handling of files not found in remote bucket in #​13039
  • Inline images are not correctly output in HTML export in #​13040
  • Handle link copy error in #​13038
  • Account for multiple tab bars mounted at once in #​13050
  • Allow read-scoped API tokens to list collection memberships by @​okxint in #​13057
  • Dark border printing docs from dark theme in #​13074
  • Remove user listing for guests in #​13083
  • documents.add_user event missing teamId in #​13084
  • OOM on large markdown imports in #​13086
  • OIDC email update in #​13079
  • MCP: Clarify create_document HTML media handling in tool schema by @​Ali-ovo in #​13093
  • Remove Home and Search buttons on logged out 404 page in #​13094
  • Spuriously removed edit string in #​13097
  • useKeyDown binding blocks browser defaults in #​13098
  • Add row lock in documentUpdater in #​13108
  • Escape characters with special meaning in LIKE statements in #​13111
  • Ensure JSDOM’s window is torn down in #​13112
  • State mapping must be ProjectionAlias in #​13121
  • handleTopDropCapture ignored in #​13126
  • Temporary directory left behind after S3 storage file handle in #​13127
  • Clear search chip highlight when opening CMD+F in #​13135
  • Preserve diagrams.net source through API markdown round-trip by @​IEatCodeDaily in #​13082
  • Avoid user serialization on public share response in #​13144
  • Add missing zod schema check for incoming document.text in #​13143
  • collaboratorIds async/distributed nature should not guard persistence in #​13145
  • Narrow validation on relationships.list endpoint in #​13147
  • Lock contention on documents.create in #​13149
  • Respect move policy in sidebar drag and drop in #​13150
  • attachments.redirect should be considered in read scope in #​13155
  • Never downgrade Node.js in update workflow in #​13154
  • Evaluate of undefined in useKeyDown in #​13163
  • Suppress 499 error reporting in #​13165
  • Crash opening comment sidebar in Lightbox on public share in #​13164
  • Re-check file operation permissions at download in #​13148
  • relationships.list drafts in #​13170
  • Cannot view past 25 archived collections in #​13171
  • Hide comment gutter icons on mobile in #​13174
  • Crash when two mermaid diagrams are adjacent in #​13173
  • Recalculate memberships in the same transaction when moving document in #​13182
  • Don't report failed image/video dimension loading to Sentry in #​13185
  • Remove cache mutation in unfurl in #​13183
  • Mangled class names cause x is not a function in prod in #​13184
  • Crash on open share menu when receiving wss event in #​13186
  • Button elements in DocumentMeta incorrectly rendered as links in #​13187
  • urls.unfurl does not treat FQD as internal in #​13189
  • Memory leak in cancan cache in #​13194
  • Cannot duplicate document from read-only collection in #​13198
  • googletagmanager not included in CSP unless enabled through env in #​13195
  • Archived collections have incorrect depth in #​13199
  • Revision diff not shown when previous revision loads late by @​UditDewan in #​13140
  • Incorrect text wrap in version control in #​13200
  • Strip comments for diffing in #​13212
  • Shared content should not resolve for a suspended workspace in #​13213
  • Policy serialization in #​13211
  • Restore v3 i18n in #​13215
  • OIDC forced secure cookie in #​13217
  • Silence false positive sequelize class fields warning in #​13224
  • CMD-Enter in table within toggle block does not add row in #​13226
  • Contributors list empty on documents in #​13231
  • Restoring a document to a missing revision returns 404 in #​13249
  • Error id guards break for non-Error throwables in #​13250
  • Log failures when scheduling collection duplication task in #​13251
  • Don't show success toast when a batch operation fails entirely in #​13253
  • Whitelist fields in URL unfurl presenter in #​13254
  • Bound plain text cache in command bar search index in #​13252
  • "Shared with me" hidden when first page holds only deleted documents in #​13255
  • Suppress click event before guard clauses in Templatize action in #​13256
  • Invalid sort comparator for frequently used items in #​13258
  • Show roles as a selection list in the user role menu in #​13260
  • Multi-select swallows taps on mobile document list items in #​13261
  • Remap internal links when duplicating a document tree in #​13270
  • Fade menu content at bottom edge when scrollable in #​13288
  • Prevent long dialog titles from overflowing the modal in #​13290
  • Allow inline comments on documents created via the API in #​13289
  • Mermaid links intercepted by lightbox in read-only mode in #​13276
  • Reduce peak memory duplicating large document trees, stabilize useActionContext identity in #​13298
  • Statement timeouts reported as 404 in #​13300
  • Editor: Re-measure code block toolbar when block resizes by @​okxint in #​13299
  • Table cell background pasted as a text highlight in #​13307
  • Unhandled rejection when a Redlock lock release fails in #​13316
  • Avoid duplicate key errors when re-creating attachments by id in #​13317
  • Comments sidebar opens on load when document has a draft comment in #​13319
  • Unpin button displayed when user lacks permission to delete pin in #​13324
  • Duplicate team subdomain surfaced as a 500 error in #​13329
  • Guests can enumerate users and groups through mention suggestions in #​13330
  • documents.import writes into an unauthorized collection when nested in #​13331
  • Avoid issuing collab token to API clients in #​13332
  • Improve BadGatewayError reporting in #​13341
  • Sanitize user-provided name when building export storage keys in #​13336
  • Run MCP create_document inside a transaction in #​13335
  • Missing ip address on events created during account provisioning in #​13334
  • Back off repeated confirmation emails for share subscriptions in #​13342
  • Tighten scoping of share subscription notifications in #​13343
  • Build canonical redirect url from team, not request host in #​13344
  • Crash inserting a template with no content from the block menu in #​13345
  • Caret stuck in emoji node in #​13354
  • Custom color picker should open on the current color in #​13356
  • Improve block menu keyword coverage in #​13362
  • Publish button should only show ellipsis when a dialog will open in #​13361
  • Focus link editor input when opened with Cmd+K in #​13363
  • Make the whole toggle title clickable in read only mode in #​13365
  • Stale workflow failing on Print outputs step in #​13367
  • Suppress global shortcuts when focus is in a keyboard control in #​13369
  • Stop retrying document persistence indefinitely in #​13370
  • Consistently sanitize urls in editor components in #​13372
  • "All members" set to "Can Edit" on Collection permissions defaults to read-only by @​tsushanth in #​13392
  • History changes are not always shown by @​tsushanth in #​13393
  • Anchor links not scrolling on shared documents in #​13390
  • Improve matching of anchorText property in #​13385
  • Preserve custom port in client-side redirects in #​13401
  • Align history visibility with restore access for trashed documents in #​13407
  • Prevent removing document members with inherited access in #​13408
  • Apply all content transforms in DocumentHelper.toJSON in #​13413
  • Tighten credential handling in OAuth client and batch endpoints in #​13414
  • Align credential transport handling in authentication middleware in #​13416
  • Unhandled socket error during websocket upgrade crashes server in #​13409
  • Align mention unfurl with document insights settings in #​13420
  • Align pins.list response with document access in #​13421
  • Apply MCP preference to dynamically registered OAuth clients in #​13418
  • Attachment downloads lose original file extension in #​13423
  • Omit last activity info from share unfurl response in #​13422
  • Tighten one-time credential handling in OAuth token exchange in #​13417
  • Make code fence markdown serialization round-trip stable in #​13434
  • Align CSRF cookie resolution between attach and verify paths in #​13426
  • Heading anchor widget breaking IME composition in #​13433
  • Restart worker when queue health check cannot complete in #​13431
  • API updates published to wrong Redis when collaboration Redis is separate in #​13437
  • Match base domain on a label boundary when parsing hosts in #​13419
  • Optically center letter avatars in Facepile in #​13439
  • Pasting a table from Google Sheets does not create a table in #​13443
  • Shift-click table grips to select a range of rows or columns in #​13447
  • Pages fail to load on older browsers in #​13450
  • Nested drafts removed when parent document is permanently deleted in #​13453
  • Crash when pasting a single block of content into document title in #​13451
  • Dragging text within an image caption corrupts the document in #​13449
  • Crash when a remote edit arrives during a table column resize in #​13452
  • Headings at the end of a document never highlight in the contents in #​13455
  • Sticky hash prevents re-scroll to TOC heading in #​13458
  • Serialize external mentions as links in exported markdown in #​13459
  • Hide inapplicable options in the menu for deleted documents in #​13460
  • Stabilize signed attachment urls so browser caches can be reused in #​13462
  • Include nested documents when downloading a document in #​13465
  • Uploads fail when the file name contains an accented character in #​13480
  • Rendering of PDF previews in server-side document HTML in #​13478
  • Correct open depths when unwrapping a single table cell on copy in #​13479
  • Code block with a null language makes the document impossible to open in #​13482
  • Uncaught error handling messages from the diagram editor in #​13483
  • Recover from mismatched chunks after a deploy in #​13489
  • RangeError when restoring editor selection after focus in #​13487
  • Do no report expired wss auth to error tracker in #​13488
  • Ctrl+Left jumping to the start of a heading in #​13494
  • RangeError rendering a diff with sibling node modifications in #​13496
  • Crash inserting a math block from the suggestions menu in #​13495
  • Unfurl GitLab epics in #​13497
  • Rate limit response headers and first-request accounting in #​13506
  • Consistent rate limiter keys across path variants in #​13504
  • Treat an unreadable request stream as a client closed request in #​13524
  • Document update rejected when preferences are null in #​13525
  • Crash opening document menu on mobile in #​13526
  • Recover from closed IndexedDB connections in store persistence in #​13523
  • Contents highlight lost when scrolling deep headings in #​13531
  • Hold hover state on DocumentCard when context menu is open in #​13529
  • Only show editing stats toggle when viewing a document in #​13530
  • Search result context cut mid-word by earlier highlights in #​13532
  • Mobile toolbar taps and keyboard tracking in #​13536
  • Revision diff mismatching node closing tokens in #​13537
  • Remove associated notifications when access is lost in #​13208
  • Round reading time up to the next minute in #​13548
  • Ignore small movements in useSwipe hook in #​13549
  • Properly bind and unbind listeners in useHover in #​13550
  • Hash and location state lost by useConsumeQueryParam in #​13551
  • Stop reporting expected IndexedDB connection closures in #​13552
  • Enforce import restrictions shadowed by nested oxlint configs in #​13558
  • Reliability of count-based limit checks in #​13542
  • Respect heading number preference in HTML export in #​13563
  • Keep OIDC provider identifier in sync with configured domain in #​13574
  • Sidebar context lost when navigating from action menus in #​13566
  • Insert files dropped around the document at the nearest editor position in #​13575
  • History: Show revision author in meta when viewing a revision by @​chenniannian90 in #​13571
  • Raise OAuth redirect_uris limit from 10 to 20 in #​13583
  • Preserve MCP attachment form values in #​13597
  • Provision OIDC users with locale claim in #​13601
  • Match PWA chrome to active theme in #​13599
  • Align revision export authorization with document export in #​13603
  • Keep expanded code blocks open after undo in #​13600
  • Preserve tables in quoted document patches in #​13604
  • Deadlock on cleanup task retry in #​13598

New Contributors

Full Changelog: https://github.com/outline/outline/compare/v1.9.2...v1.10.0


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 is behind base branch, 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 CLI.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [outlinewiki/outline](https://github.com/outline/outline) | minor | `1.9.2` → `1.10.1` | --- ### Release Notes <details> <summary>outline/outline (outlinewiki/outline)</summary> ### [`v1.10.1`](https://github.com/outline/outline/releases/tag/v1.10.1) [Compare Source](https://github.com/outline/outline/compare/v1.10.0...v1.10.1) #### What's Changed - Added [WebMCP support](https://developer.chrome.com/docs/ai/webmcp) in [#&#8203;13576](https://github.com/outline/outline/pull/13576), allowing agents in Chrome and ChatGPT to programmatically control Outline through the browser. - Alt/Mod-click toggle disclosure folds nested or all toggle blocks in [#&#8203;13678](https://github.com/outline/outline/pull/13678) - Keep editor "find and replace" panel open in [#&#8203;13643](https://github.com/outline/outline/pull/13643) - Added Open Knowledge Format (OKF) export in [#&#8203;13644](https://github.com/outline/outline/pull/13644) ##### Performance improvements - Add indexes on user foreign key columns in [#&#8203;13631](https://github.com/outline/outline/pull/13631) - Upgraded Zod and enable schema compilation in [#&#8203;13647](https://github.com/outline/outline/pull/13647) - History revision content now prefetched on hover in history sidebar in [#&#8203;13688](https://github.com/outline/outline/pull/13688) - Optimized document queries by excluding content when not needed in [#&#8203;13706](https://github.com/outline/outline/pull/13706) ##### Fixes - Allowed editing webhooks without signing secrets in [#&#8203;13622](https://github.com/outline/outline/pull/13622) - Escaped MCP attachment PUT upload command arguments in [#&#8203;13613](https://github.com/outline/outline/pull/13613) - Prevented overlapping nested list markers by [@&#8203;47star](https://github.com/47star) in [#&#8203;13584](https://github.com/outline/outline/pull/13584) - preserve toggle fold state across remote and local document edits by [@&#8203;chenniannian90](https://github.com/chenniannian90) in [#&#8203;13425](https://github.com/outline/outline/pull/13425) - Fixed manual sizing of embedded PDFs in [#&#8203;13645](https://github.com/outline/outline/pull/13645) - Added missing transaction in `GitLabIssueProvider` in [#&#8203;13646](https://github.com/outline/outline/pull/13646) - Fixed Mermaid diagram rendering size issue in [#&#8203;13648](https://github.com/outline/outline/pull/13648) - Align attachment upload permissions in [#&#8203;13654](https://github.com/outline/outline/pull/13654) - Load revision content in document history in [#&#8203;13656](https://github.com/outline/outline/pull/13656) - Revisions now show accurate stats in [#&#8203;13657](https://github.com/outline/outline/pull/13657) - Editor crash when upload placeholder targets a position with no node in [#&#8203;13658](https://github.com/outline/outline/pull/13658) - Guard null `$cursor` in toggle block in [#&#8203;13660](https://github.com/outline/outline/pull/13660) - Child documents list empty until sidebar renders the collection in [#&#8203;13662](https://github.com/outline/outline/pull/13662) - Tighten authentication on views.create endpoint in [#&#8203;13663](https://github.com/outline/outline/pull/13663) - Markdown list dropped when a plain item precedes a checkbox item in [#&#8203;13665](https://github.com/outline/outline/pull/13665) - Allow document mentions to wrap in [#&#8203;13639](https://github.com/outline/outline/pull/13639) - Validate API key and OAuth scopes at the model layer in [#&#8203;13664](https://github.com/outline/outline/pull/13664) - Persist comment sidebar open/close state across reloads in [#&#8203;13667](https://github.com/outline/outline/pull/13667) - Allow dropping a document after an expanded subtree in the sidebar in [#&#8203;13668](https://github.com/outline/outline/pull/13668) - History "Current version" entry never finishes loading in [#&#8203;13669](https://github.com/outline/outline/pull/13669) - AuthStore.availableTeams never becomes observable in [#&#8203;13672](https://github.com/outline/outline/pull/13672) - Expand folded toggle blocks when printing in [#&#8203;13677](https://github.com/outline/outline/pull/13677) - Signed file downloads rejected when an API key lacks scope for the route in [#&#8203;13681](https://github.com/outline/outline/pull/13681) - AuthStore.fetchConfig updates config outside a MobX action in [#&#8203;13682](https://github.com/outline/outline/pull/13682) - previous() on UserMembership and Star returned the next item in [#&#8203;13684](https://github.com/outline/outline/pull/13684) - Crash opening the template editor in [#&#8203;13686](https://github.com/outline/outline/pull/13686) - `robots.txt` blocked crawlers from indexable shares on self-hosted installs in [#&#8203;13687](https://github.com/outline/outline/pull/13687) - History changes indicator missing on load and stuck on "N changes" in [#&#8203;13673](https://github.com/outline/outline/pull/13673) - Revision view does not re-render when late-loaded content arrives in [#&#8203;13683](https://github.com/outline/outline/pull/13683) - Links in view mode ignore modifier clicks, drag, and keyboard activation in [#&#8203;13689](https://github.com/outline/outline/pull/13689) - Members receive authorization error when importing a document in [#&#8203;13696](https://github.com/outline/outline/pull/13696) - Stop repeated requests after final table page in [#&#8203;13697](https://github.com/outline/outline/pull/13697) - Table of contents clicks ignored while a search term is active in [#&#8203;13698](https://github.com/outline/outline/pull/13698) - Byte range handling for media in Safari in [#&#8203;13695](https://github.com/outline/outline/pull/13695) - Scroll position reset when navigating between revisions in [#&#8203;13704](https://github.com/outline/outline/pull/13704) **Full Changelog**: <https://github.com/outline/outline/compare/v1.10.0...v1.10.1> ### [`v1.10.0`](https://github.com/outline/outline/releases/tag/v1.10.0) [Compare Source](https://github.com/outline/outline/compare/v1.9.2...v1.10.0) #### What's Changed This release has a focus on increasing performance and reducing memory usage both on the client and server - but some fantastic new functionality crept in too, of course. ##### Highlights - Open two views in side-by-side split view from any menu or `cmd`+`click` in [#&#8203;13044](https://github.com/outline/outline/pull/13044) - Users with read-only access can now leave inline comments in [#&#8203;13209](https://github.com/outline/outline/pull/13209) - Added `[[` trigger for mentioning or creating a document in [#&#8203;13402](https://github.com/outline/outline/pull/13402) - Documents can now be shown with numbered headings, as a display preference in [#&#8203;13522](https://github.com/outline/outline/pull/13522) - Sidebar sections can now be reordered by dragging their headers in [#&#8203;13505](https://github.com/outline/outline/pull/13505) - Live document stats can now be displayed in the corner of the editor in [#&#8203;13318](https://github.com/outline/outline/pull/13318) - Danish and Indonesian have been added to the available language options in [#&#8203;13221](https://github.com/outline/outline/pull/13221) - Color swatches now have a hover card in the editor in [#&#8203;13192](https://github.com/outline/outline/pull/13192) - Web pages, Email (`.eml`), TextPack, and PDF files can now be imported in [#&#8203;13229](https://github.com/outline/outline/pull/13229) [#&#8203;13235](https://github.com/outline/outline/pull/13235) [#&#8203;13302](https://github.com/outline/outline/pull/13302) ##### MCP - Public share urls are now returned for documents in [#&#8203;13043](https://github.com/outline/outline/pull/13043) - Available icon names are now exposed as a resource in [#&#8203;13048](https://github.com/outline/outline/pull/13048) - All MCP tools now input and output Markdown consistently in [#&#8203;13234](https://github.com/outline/outline/pull/13234) - Success payloads from MCP mutation tools now use less tokens in [#&#8203;13257](https://github.com/outline/outline/pull/13257) - Archived documents are now excluded from MCP search by default in [#&#8203;13518](https://github.com/outline/outline/pull/13518) ##### Performance improvements - The sidebar menu and navigation tree are faster by [@&#8203;Ali-ovo](https://github.com/Ali-ovo) in [#&#8203;12873](https://github.com/outline/outline/pull/12873) - Server memory usage is reduced, with container memory best practices documented in [#&#8203;13042](https://github.com/outline/outline/pull/13042) - Boot migration check now runs as a separate process to reduce memory usage in [#&#8203;13049](https://github.com/outline/outline/pull/13049) - Drag and drop re-rendering has been optimized in [#&#8203;13114](https://github.com/outline/outline/pull/13114) - Local content search through the command menu is much faster and more accurate in [#&#8203;13115](https://github.com/outline/outline/pull/13115) - Nested policies are now briefly cached on the server in [#&#8203;13172](https://github.com/outline/outline/pull/13172) - Markdown import merge now uses an O(1) title lookup by [@&#8203;irontaek](https://github.com/irontaek) in [#&#8203;13117](https://github.com/outline/outline/pull/13117) - The `revisions.list` endpoint now loads less data in [#&#8203;13202](https://github.com/outline/outline/pull/13202) - `findByPk` now requires fewer database connections in [#&#8203;13214](https://github.com/outline/outline/pull/13214) - Route chunks are now preloaded on sidebar hover intent in [#&#8203;13263](https://github.com/outline/outline/pull/13263) - Search no longer needs to join on memberships in [#&#8203;13269](https://github.com/outline/outline/pull/13269) - Search queries are now faster in [#&#8203;13293](https://github.com/outline/outline/pull/13293) - The popularity score scan is now index-friendly and spread over an hour in [#&#8203;13306](https://github.com/outline/outline/pull/13306) - Relationships are no longer fetched for newly created documents in [#&#8203;13308](https://github.com/outline/outline/pull/13308) - Creating a new document is faster in [#&#8203;13310](https://github.com/outline/outline/pull/13310) - Collection structure locks now use `FOR NO KEY UPDATE` in [#&#8203;13314](https://github.com/outline/outline/pull/13314) - The document row lock is now taken after text processing in [#&#8203;13315](https://github.com/outline/outline/pull/13315) - Deleting a document subtree no longer triggers N+1 queries in [#&#8203;13311](https://github.com/outline/outline/pull/13311) - Mermaid is no longer part of the initial bundle in [#&#8203;13380](https://github.com/outline/outline/pull/13380) - Browser tracing now sends fewer spans to Sentry in [#&#8203;13389](https://github.com/outline/outline/pull/13389) - Revision diffs are now skipped when they are too expensive to compute in [#&#8203;13432](https://github.com/outline/outline/pull/13432) - FontAwesome icon packs are no longer eagerly loaded in [#&#8203;13463](https://github.com/outline/outline/pull/13463) - Loading of `y-prosemirror` has been reworked in [#&#8203;13521](https://github.com/outline/outline/pull/13521) - The PWA precache is now limited and the service worker is skipped on share views in [#&#8203;13519](https://github.com/outline/outline/pull/13519) ##### Other improvements - Small images are now inlined as base64 into exported HTML in [#&#8203;13036](https://github.com/outline/outline/pull/13036) - A cleanup job now trims `search_queries` to match event log retention in [#&#8203;13035](https://github.com/outline/outline/pull/13035) - Backlinks and References now have a context menu in [#&#8203;13045](https://github.com/outline/outline/pull/13045) - Socket management has moved from the client to the server in [#&#8203;13120](https://github.com/outline/outline/pull/13120) - Streaming file outputs now pass through correctly in [#&#8203;13153](https://github.com/outline/outline/pull/13153) - The output stream is now attached before zip entries are added in [#&#8203;13167](https://github.com/outline/outline/pull/13167) - Export emails now say how many days remain until the download expires in [#&#8203;13175](https://github.com/outline/outline/pull/13175) - Pasting over an image in the editor now replaces it in [#&#8203;13178](https://github.com/outline/outline/pull/13178) - Icon picker styling and usability was improved in [#&#8203;13177](https://github.com/outline/outline/pull/13177) - Resizing the sidebar now has a rubber-banding effect in [#&#8203;13188](https://github.com/outline/outline/pull/13188) - Dialog headers now show the title of the entity in [#&#8203;13196](https://github.com/outline/outline/pull/13196) - Improved accessibility in the keyboard shortcuts guide in [#&#8203;13193](https://github.com/outline/outline/pull/13193) - Collections can now be duplicated in [#&#8203;13197](https://github.com/outline/outline/pull/13197) - CSRF cookies are now secure and host-bound where possible in [#&#8203;13203](https://github.com/outline/outline/pull/13203) - The group table now has a context menu in [#&#8203;13220](https://github.com/outline/outline/pull/13220) - Date mentions now support times in [#&#8203;13222](https://github.com/outline/outline/pull/13222) - Shared documents now show the search highlight chip in [#&#8203;13227](https://github.com/outline/outline/pull/13227) - Importing a file now happens in a dedicated dialog in [#&#8203;13228](https://github.com/outline/outline/pull/13228) - Hovering a user now shows their profile card in [#&#8203;13230](https://github.com/outline/outline/pull/13230) - Pinned documents can now be collapsed in [#&#8203;13233](https://github.com/outline/outline/pull/13233) - Documents can now be multi-selected in [#&#8203;13041](https://github.com/outline/outline/pull/13041) - "Members" has been renamed to "Users" throughout in [#&#8203;13262](https://github.com/outline/outline/pull/13262) - The invite and import onboarding links in the sidebar can now be dismissed in [#&#8203;13292](https://github.com/outline/outline/pull/13292) - The last download format is now remembered, and the format picker has been redesigned in [#&#8203;13272](https://github.com/outline/outline/pull/13272) - History events now show when they happened through the API or MCP in [#&#8203;13294](https://github.com/outline/outline/pull/13294) - The users, groups, and group members settings tables now support multi-select in [#&#8203;13295](https://github.com/outline/outline/pull/13295) - Last viewed tab on home is now remembered in [#&#8203;13303](https://github.com/outline/outline/pull/13303) - The header is tighter, and the floating keyboard shortcuts button has been removed in [#&#8203;13304](https://github.com/outline/outline/pull/13304) - Revision history now shows how the author was authenticated in [#&#8203;13312](https://github.com/outline/outline/pull/13312) - You can now choose which columns are visible in settings tables in [#&#8203;13326](https://github.com/outline/outline/pull/13326) - The users table now has "Invited by" and "Joined" columns in [#&#8203;13325](https://github.com/outline/outline/pull/13325) - The `IconPicker` now uses standard tabs in place of custom ones in [#&#8203;13358](https://github.com/outline/outline/pull/13358) - Template drafts are now saved as they are written in [#&#8203;13357](https://github.com/outline/outline/pull/13357) - The templates settings table now supports multi-select in [#&#8203;13359](https://github.com/outline/outline/pull/13359) - The shares settings table now supports multi-select in [#&#8203;13360](https://github.com/outline/outline/pull/13360) - Archived documents are now badged in the command menu in [#&#8203;13366](https://github.com/outline/outline/pull/13366) - Document export options are now consistent everywhere in [#&#8203;13364](https://github.com/outline/outline/pull/13364) - Command bar results now have a stable order in [#&#8203;13382](https://github.com/outline/outline/pull/13382) - Modifier-click now opens a link in the split view in [#&#8203;13368](https://github.com/outline/outline/pull/13368) - The language can now be set with a shortcut when creating a code block with backticks in [#&#8203;13400](https://github.com/outline/outline/pull/13400) - `documents.update` now accepts an optional `lastRevision` parameter in [#&#8203;13410](https://github.com/outline/outline/pull/13410) - The child documents list now has a "New doc" item in [#&#8203;13415](https://github.com/outline/outline/pull/13415) - Mention suggestions are now ranked by familiarity in [#&#8203;13435](https://github.com/outline/outline/pull/13435) - Trigger text is now highlighted while the suggestion menu is open in [#&#8203;13406](https://github.com/outline/outline/pull/13406) - A filter DSL has been added in [#&#8203;12176](https://github.com/outline/outline/pull/12176) - The first column now stays in place when scrolling tables that have a header column in [#&#8203;13444](https://github.com/outline/outline/pull/13444) - Elements only visible when logged-in are now separated on shared pages in [#&#8203;13445](https://github.com/outline/outline/pull/13445) - The README now has container image badges by [@&#8203;rlenferink](https://github.com/rlenferink) in [#&#8203;13396](https://github.com/outline/outline/pull/13396) - Collaboration connections are now re-authorized when access changes in [#&#8203;13454](https://github.com/outline/outline/pull/13454) - Policies are now persisted to IndexedDB, so abilities survive a reload in [#&#8203;13138](https://github.com/outline/outline/pull/13138) - Editor nodes are now server-rendered with React in [#&#8203;13113](https://github.com/outline/outline/pull/13113) - The trash can now be filtered by who deleted an item and when in [#&#8203;13474](https://github.com/outline/outline/pull/13474) - Editor node and mark attributes are now rendered more precisely in [#&#8203;13486](https://github.com/outline/outline/pull/13486) - The drafts count in the sidebar is now animated in [#&#8203;13490](https://github.com/outline/outline/pull/13490) - Pinned documents now have unpin and context menu controls in [#&#8203;13498](https://github.com/outline/outline/pull/13498) - Menus, dialogs, and other floating surfaces now have superellipse corners in [#&#8203;13520](https://github.com/outline/outline/pull/13520) - `users.list` now supports the filter DSL in [#&#8203;13456](https://github.com/outline/outline/pull/13456) - Outline now records who deleted a document in [#&#8203;13484](https://github.com/outline/outline/pull/13484) - The Markdown representation of a shared link is now discoverable in [#&#8203;13527](https://github.com/outline/outline/pull/13527) - The mobile formatting toolbar has been improved in [#&#8203;13533](https://github.com/outline/outline/pull/13533) - `collections.list` now supports the filter DSL in [#&#8203;13442](https://github.com/outline/outline/pull/13442) - Collections now show a line of metadata in [#&#8203;13538](https://github.com/outline/outline/pull/13538) - `@` prefixed Markdown links are now converted to mentions on server writes in [#&#8203;13403](https://github.com/outline/outline/pull/13403) - HEIC and HEIF images can now be uploaded as avatars in [#&#8203;13577](https://github.com/outline/outline/pull/13577) #### Fixes - Crash when dropping outside editor after drag began over it in [#&#8203;13037](https://github.com/outline/outline/pull/13037) - Improve handling of files not found in remote bucket in [#&#8203;13039](https://github.com/outline/outline/pull/13039) - Inline images are not correctly output in HTML export in [#&#8203;13040](https://github.com/outline/outline/pull/13040) - Handle link copy error in [#&#8203;13038](https://github.com/outline/outline/pull/13038) - Account for multiple tab bars mounted at once in [#&#8203;13050](https://github.com/outline/outline/pull/13050) - Allow read-scoped API tokens to list collection memberships by [@&#8203;okxint](https://github.com/okxint) in [#&#8203;13057](https://github.com/outline/outline/pull/13057) - Dark border printing docs from dark theme in [#&#8203;13074](https://github.com/outline/outline/pull/13074) - Remove user listing for guests in [#&#8203;13083](https://github.com/outline/outline/pull/13083) - `documents.add_user` event missing `teamId` in [#&#8203;13084](https://github.com/outline/outline/pull/13084) - OOM on large markdown imports in [#&#8203;13086](https://github.com/outline/outline/pull/13086) - OIDC email update in [#&#8203;13079](https://github.com/outline/outline/pull/13079) - MCP: Clarify `create_document` HTML media handling in tool schema by [@&#8203;Ali-ovo](https://github.com/Ali-ovo) in [#&#8203;13093](https://github.com/outline/outline/pull/13093) - Remove Home and Search buttons on logged out 404 page in [#&#8203;13094](https://github.com/outline/outline/pull/13094) - Spuriously removed edit string in [#&#8203;13097](https://github.com/outline/outline/pull/13097) - `useKeyDown` binding blocks browser defaults in [#&#8203;13098](https://github.com/outline/outline/pull/13098) - Add row lock in `documentUpdater` in [#&#8203;13108](https://github.com/outline/outline/pull/13108) - Escape characters with special meaning in LIKE statements in [#&#8203;13111](https://github.com/outline/outline/pull/13111) - Ensure JSDOM’s window is torn down in [#&#8203;13112](https://github.com/outline/outline/pull/13112) - State mapping must be `ProjectionAlias` in [#&#8203;13121](https://github.com/outline/outline/pull/13121) - `handleTopDropCapture` ignored in [#&#8203;13126](https://github.com/outline/outline/pull/13126) - Temporary directory left behind after S3 storage file handle in [#&#8203;13127](https://github.com/outline/outline/pull/13127) - Clear search chip highlight when opening `CMD+F` in [#&#8203;13135](https://github.com/outline/outline/pull/13135) - Preserve diagrams.net source through API markdown round-trip by [@&#8203;IEatCodeDaily](https://github.com/IEatCodeDaily) in [#&#8203;13082](https://github.com/outline/outline/pull/13082) - Avoid user serialization on public share response in [#&#8203;13144](https://github.com/outline/outline/pull/13144) - Add missing zod schema check for incoming document.text in [#&#8203;13143](https://github.com/outline/outline/pull/13143) - `collaboratorIds` async/distributed nature should not guard persistence in [#&#8203;13145](https://github.com/outline/outline/pull/13145) - Narrow validation on `relationships.list` endpoint in [#&#8203;13147](https://github.com/outline/outline/pull/13147) - Lock contention on `documents.create` in [#&#8203;13149](https://github.com/outline/outline/pull/13149) - Respect move policy in sidebar drag and drop in [#&#8203;13150](https://github.com/outline/outline/pull/13150) - `attachments.redirect` should be considered in read scope in [#&#8203;13155](https://github.com/outline/outline/pull/13155) - Never downgrade Node.js in update workflow in [#&#8203;13154](https://github.com/outline/outline/pull/13154) - Evaluate of undefined in `useKeyDown` in [#&#8203;13163](https://github.com/outline/outline/pull/13163) - Suppress 499 error reporting in [#&#8203;13165](https://github.com/outline/outline/pull/13165) - Crash opening comment sidebar in Lightbox on public share in [#&#8203;13164](https://github.com/outline/outline/pull/13164) - Re-check file operation permissions at download in [#&#8203;13148](https://github.com/outline/outline/pull/13148) - `relationships.list` drafts in [#&#8203;13170](https://github.com/outline/outline/pull/13170) - Cannot view past 25 archived collections in [#&#8203;13171](https://github.com/outline/outline/pull/13171) - Hide comment gutter icons on mobile in [#&#8203;13174](https://github.com/outline/outline/pull/13174) - Crash when two mermaid diagrams are adjacent in [#&#8203;13173](https://github.com/outline/outline/pull/13173) - Recalculate memberships in the same transaction when moving document in [#&#8203;13182](https://github.com/outline/outline/pull/13182) - Don't report failed image/video dimension loading to Sentry in [#&#8203;13185](https://github.com/outline/outline/pull/13185) - Remove cache mutation in unfurl in [#&#8203;13183](https://github.com/outline/outline/pull/13183) - Mangled class names cause `x is not a function` in prod in [#&#8203;13184](https://github.com/outline/outline/pull/13184) - Crash on open share menu when receiving wss event in [#&#8203;13186](https://github.com/outline/outline/pull/13186) - Button elements in `DocumentMeta` incorrectly rendered as links in [#&#8203;13187](https://github.com/outline/outline/pull/13187) - `urls.unfurl` does not treat FQD as internal in [#&#8203;13189](https://github.com/outline/outline/pull/13189) - Memory leak in cancan cache in [#&#8203;13194](https://github.com/outline/outline/pull/13194) - Cannot duplicate document from read-only collection in [#&#8203;13198](https://github.com/outline/outline/pull/13198) - googletagmanager not included in CSP unless enabled through env in [#&#8203;13195](https://github.com/outline/outline/pull/13195) - Archived collections have incorrect depth in [#&#8203;13199](https://github.com/outline/outline/pull/13199) - Revision diff not shown when previous revision loads late by [@&#8203;UditDewan](https://github.com/UditDewan) in [#&#8203;13140](https://github.com/outline/outline/pull/13140) - Incorrect text wrap in version control in [#&#8203;13200](https://github.com/outline/outline/pull/13200) - Strip comments for diffing in [#&#8203;13212](https://github.com/outline/outline/pull/13212) - Shared content should not resolve for a suspended workspace in [#&#8203;13213](https://github.com/outline/outline/pull/13213) - Policy serialization in [#&#8203;13211](https://github.com/outline/outline/pull/13211) - Restore v3 i18n in [#&#8203;13215](https://github.com/outline/outline/pull/13215) - OIDC forced secure cookie in [#&#8203;13217](https://github.com/outline/outline/pull/13217) - Silence false positive sequelize class fields warning in [#&#8203;13224](https://github.com/outline/outline/pull/13224) - `CMD-Enter` in table within toggle block does not add row in [#&#8203;13226](https://github.com/outline/outline/pull/13226) - Contributors list empty on documents in [#&#8203;13231](https://github.com/outline/outline/pull/13231) - Restoring a document to a missing revision returns 404 in [#&#8203;13249](https://github.com/outline/outline/pull/13249) - Error id guards break for non-Error throwables in [#&#8203;13250](https://github.com/outline/outline/pull/13250) - Log failures when scheduling collection duplication task in [#&#8203;13251](https://github.com/outline/outline/pull/13251) - Don't show success toast when a batch operation fails entirely in [#&#8203;13253](https://github.com/outline/outline/pull/13253) - Whitelist fields in URL unfurl presenter in [#&#8203;13254](https://github.com/outline/outline/pull/13254) - Bound plain text cache in command bar search index in [#&#8203;13252](https://github.com/outline/outline/pull/13252) - "Shared with me" hidden when first page holds only deleted documents in [#&#8203;13255](https://github.com/outline/outline/pull/13255) - Suppress click event before guard clauses in Templatize action in [#&#8203;13256](https://github.com/outline/outline/pull/13256) - Invalid sort comparator for frequently used items in [#&#8203;13258](https://github.com/outline/outline/pull/13258) - Show roles as a selection list in the user role menu in [#&#8203;13260](https://github.com/outline/outline/pull/13260) - Multi-select swallows taps on mobile document list items in [#&#8203;13261](https://github.com/outline/outline/pull/13261) - Remap internal links when duplicating a document tree in [#&#8203;13270](https://github.com/outline/outline/pull/13270) - Fade menu content at bottom edge when scrollable in [#&#8203;13288](https://github.com/outline/outline/pull/13288) - Prevent long dialog titles from overflowing the modal in [#&#8203;13290](https://github.com/outline/outline/pull/13290) - Allow inline comments on documents created via the API in [#&#8203;13289](https://github.com/outline/outline/pull/13289) - Mermaid links intercepted by lightbox in read-only mode in [#&#8203;13276](https://github.com/outline/outline/pull/13276) - Reduce peak memory duplicating large document trees, stabilize useActionContext identity in [#&#8203;13298](https://github.com/outline/outline/pull/13298) - Statement timeouts reported as 404 in [#&#8203;13300](https://github.com/outline/outline/pull/13300) - Editor: Re-measure code block toolbar when block resizes by [@&#8203;okxint](https://github.com/okxint) in [#&#8203;13299](https://github.com/outline/outline/pull/13299) - Table cell background pasted as a text highlight in [#&#8203;13307](https://github.com/outline/outline/pull/13307) - Unhandled rejection when a Redlock lock release fails in [#&#8203;13316](https://github.com/outline/outline/pull/13316) - Avoid duplicate key errors when re-creating attachments by id in [#&#8203;13317](https://github.com/outline/outline/pull/13317) - Comments sidebar opens on load when document has a draft comment in [#&#8203;13319](https://github.com/outline/outline/pull/13319) - Unpin button displayed when user lacks permission to delete pin in [#&#8203;13324](https://github.com/outline/outline/pull/13324) - Duplicate team subdomain surfaced as a 500 error in [#&#8203;13329](https://github.com/outline/outline/pull/13329) - Guests can enumerate users and groups through mention suggestions in [#&#8203;13330](https://github.com/outline/outline/pull/13330) - documents.import writes into an unauthorized collection when nested in [#&#8203;13331](https://github.com/outline/outline/pull/13331) - Avoid issuing collab token to API clients in [#&#8203;13332](https://github.com/outline/outline/pull/13332) - Improve `BadGatewayError` reporting in [#&#8203;13341](https://github.com/outline/outline/pull/13341) - Sanitize user-provided name when building export storage keys in [#&#8203;13336](https://github.com/outline/outline/pull/13336) - Run MCP create\_document inside a transaction in [#&#8203;13335](https://github.com/outline/outline/pull/13335) - Missing ip address on events created during account provisioning in [#&#8203;13334](https://github.com/outline/outline/pull/13334) - Back off repeated confirmation emails for share subscriptions in [#&#8203;13342](https://github.com/outline/outline/pull/13342) - Tighten scoping of share subscription notifications in [#&#8203;13343](https://github.com/outline/outline/pull/13343) - Build canonical redirect url from team, not request host in [#&#8203;13344](https://github.com/outline/outline/pull/13344) - Crash inserting a template with no content from the block menu in [#&#8203;13345](https://github.com/outline/outline/pull/13345) - Caret stuck in emoji node in [#&#8203;13354](https://github.com/outline/outline/pull/13354) - Custom color picker should open on the current color in [#&#8203;13356](https://github.com/outline/outline/pull/13356) - Improve block menu keyword coverage in [#&#8203;13362](https://github.com/outline/outline/pull/13362) - Publish button should only show ellipsis when a dialog will open in [#&#8203;13361](https://github.com/outline/outline/pull/13361) - Focus link editor input when opened with Cmd+K in [#&#8203;13363](https://github.com/outline/outline/pull/13363) - Make the whole toggle title clickable in read only mode in [#&#8203;13365](https://github.com/outline/outline/pull/13365) - Stale workflow failing on Print outputs step in [#&#8203;13367](https://github.com/outline/outline/pull/13367) - Suppress global shortcuts when focus is in a keyboard control in [#&#8203;13369](https://github.com/outline/outline/pull/13369) - Stop retrying document persistence indefinitely in [#&#8203;13370](https://github.com/outline/outline/pull/13370) - Consistently sanitize urls in editor components in [#&#8203;13372](https://github.com/outline/outline/pull/13372) - "All members" set to "Can Edit" on Collection permissions defaults to read-only by [@&#8203;tsushanth](https://github.com/tsushanth) in [#&#8203;13392](https://github.com/outline/outline/pull/13392) - History changes are not always shown by [@&#8203;tsushanth](https://github.com/tsushanth) in [#&#8203;13393](https://github.com/outline/outline/pull/13393) - Anchor links not scrolling on shared documents in [#&#8203;13390](https://github.com/outline/outline/pull/13390) - Improve matching of `anchorText` property in [#&#8203;13385](https://github.com/outline/outline/pull/13385) - Preserve custom port in client-side redirects in [#&#8203;13401](https://github.com/outline/outline/pull/13401) - Align history visibility with restore access for trashed documents in [#&#8203;13407](https://github.com/outline/outline/pull/13407) - Prevent removing document members with inherited access in [#&#8203;13408](https://github.com/outline/outline/pull/13408) - Apply all content transforms in `DocumentHelper.toJSON` in [#&#8203;13413](https://github.com/outline/outline/pull/13413) - Tighten credential handling in OAuth client and batch endpoints in [#&#8203;13414](https://github.com/outline/outline/pull/13414) - Align credential transport handling in authentication middleware in [#&#8203;13416](https://github.com/outline/outline/pull/13416) - Unhandled socket error during websocket upgrade crashes server in [#&#8203;13409](https://github.com/outline/outline/pull/13409) - Align mention unfurl with document insights settings in [#&#8203;13420](https://github.com/outline/outline/pull/13420) - Align pins.list response with document access in [#&#8203;13421](https://github.com/outline/outline/pull/13421) - Apply MCP preference to dynamically registered OAuth clients in [#&#8203;13418](https://github.com/outline/outline/pull/13418) - Attachment downloads lose original file extension in [#&#8203;13423](https://github.com/outline/outline/pull/13423) - Omit last activity info from share unfurl response in [#&#8203;13422](https://github.com/outline/outline/pull/13422) - Tighten one-time credential handling in OAuth token exchange in [#&#8203;13417](https://github.com/outline/outline/pull/13417) - Make code fence markdown serialization round-trip stable in [#&#8203;13434](https://github.com/outline/outline/pull/13434) - Align CSRF cookie resolution between attach and verify paths in [#&#8203;13426](https://github.com/outline/outline/pull/13426) - Heading anchor widget breaking IME composition in [#&#8203;13433](https://github.com/outline/outline/pull/13433) - Restart worker when queue health check cannot complete in [#&#8203;13431](https://github.com/outline/outline/pull/13431) - API updates published to wrong Redis when collaboration Redis is separate in [#&#8203;13437](https://github.com/outline/outline/pull/13437) - Match base domain on a label boundary when parsing hosts in [#&#8203;13419](https://github.com/outline/outline/pull/13419) - Optically center letter avatars in Facepile in [#&#8203;13439](https://github.com/outline/outline/pull/13439) - Pasting a table from Google Sheets does not create a table in [#&#8203;13443](https://github.com/outline/outline/pull/13443) - Shift-click table grips to select a range of rows or columns in [#&#8203;13447](https://github.com/outline/outline/pull/13447) - Pages fail to load on older browsers in [#&#8203;13450](https://github.com/outline/outline/pull/13450) - Nested drafts removed when parent document is permanently deleted in [#&#8203;13453](https://github.com/outline/outline/pull/13453) - Crash when pasting a single block of content into document title in [#&#8203;13451](https://github.com/outline/outline/pull/13451) - Dragging text within an image caption corrupts the document in [#&#8203;13449](https://github.com/outline/outline/pull/13449) - Crash when a remote edit arrives during a table column resize in [#&#8203;13452](https://github.com/outline/outline/pull/13452) - Headings at the end of a document never highlight in the contents in [#&#8203;13455](https://github.com/outline/outline/pull/13455) - Sticky hash prevents re-scroll to TOC heading in [#&#8203;13458](https://github.com/outline/outline/pull/13458) - Serialize external mentions as links in exported markdown in [#&#8203;13459](https://github.com/outline/outline/pull/13459) - Hide inapplicable options in the menu for deleted documents in [#&#8203;13460](https://github.com/outline/outline/pull/13460) - Stabilize signed attachment urls so browser caches can be reused in [#&#8203;13462](https://github.com/outline/outline/pull/13462) - Include nested documents when downloading a document in [#&#8203;13465](https://github.com/outline/outline/pull/13465) - Uploads fail when the file name contains an accented character in [#&#8203;13480](https://github.com/outline/outline/pull/13480) - Rendering of PDF previews in server-side document HTML in [#&#8203;13478](https://github.com/outline/outline/pull/13478) - Correct open depths when unwrapping a single table cell on copy in [#&#8203;13479](https://github.com/outline/outline/pull/13479) - Code block with a null language makes the document impossible to open in [#&#8203;13482](https://github.com/outline/outline/pull/13482) - Uncaught error handling messages from the diagram editor in [#&#8203;13483](https://github.com/outline/outline/pull/13483) - Recover from mismatched chunks after a deploy in [#&#8203;13489](https://github.com/outline/outline/pull/13489) - RangeError when restoring editor selection after focus in [#&#8203;13487](https://github.com/outline/outline/pull/13487) - Do no report expired wss auth to error tracker in [#&#8203;13488](https://github.com/outline/outline/pull/13488) - Ctrl+Left jumping to the start of a heading in [#&#8203;13494](https://github.com/outline/outline/pull/13494) - RangeError rendering a diff with sibling node modifications in [#&#8203;13496](https://github.com/outline/outline/pull/13496) - Crash inserting a math block from the suggestions menu in [#&#8203;13495](https://github.com/outline/outline/pull/13495) - Unfurl GitLab epics in [#&#8203;13497](https://github.com/outline/outline/pull/13497) - Rate limit response headers and first-request accounting in [#&#8203;13506](https://github.com/outline/outline/pull/13506) - Consistent rate limiter keys across path variants in [#&#8203;13504](https://github.com/outline/outline/pull/13504) - Treat an unreadable request stream as a client closed request in [#&#8203;13524](https://github.com/outline/outline/pull/13524) - Document update rejected when preferences are null in [#&#8203;13525](https://github.com/outline/outline/pull/13525) - Crash opening document menu on mobile in [#&#8203;13526](https://github.com/outline/outline/pull/13526) - Recover from closed IndexedDB connections in store persistence in [#&#8203;13523](https://github.com/outline/outline/pull/13523) - Contents highlight lost when scrolling deep headings in [#&#8203;13531](https://github.com/outline/outline/pull/13531) - Hold hover state on DocumentCard when context menu is open in [#&#8203;13529](https://github.com/outline/outline/pull/13529) - Only show editing stats toggle when viewing a document in [#&#8203;13530](https://github.com/outline/outline/pull/13530) - Search result context cut mid-word by earlier highlights in [#&#8203;13532](https://github.com/outline/outline/pull/13532) - Mobile toolbar taps and keyboard tracking in [#&#8203;13536](https://github.com/outline/outline/pull/13536) - Revision diff mismatching node closing tokens in [#&#8203;13537](https://github.com/outline/outline/pull/13537) - Remove associated notifications when access is lost in [#&#8203;13208](https://github.com/outline/outline/pull/13208) - Round reading time up to the next minute in [#&#8203;13548](https://github.com/outline/outline/pull/13548) - Ignore small movements in `useSwipe` hook in [#&#8203;13549](https://github.com/outline/outline/pull/13549) - Properly bind and unbind listeners in `useHover` in [#&#8203;13550](https://github.com/outline/outline/pull/13550) - Hash and location state lost by `useConsumeQueryParam` in [#&#8203;13551](https://github.com/outline/outline/pull/13551) - Stop reporting expected IndexedDB connection closures in [#&#8203;13552](https://github.com/outline/outline/pull/13552) - Enforce import restrictions shadowed by nested oxlint configs in [#&#8203;13558](https://github.com/outline/outline/pull/13558) - Reliability of count-based limit checks in [#&#8203;13542](https://github.com/outline/outline/pull/13542) - Respect heading number preference in HTML export in [#&#8203;13563](https://github.com/outline/outline/pull/13563) - Keep OIDC provider identifier in sync with configured domain in [#&#8203;13574](https://github.com/outline/outline/pull/13574) - Sidebar context lost when navigating from action menus in [#&#8203;13566](https://github.com/outline/outline/pull/13566) - Insert files dropped around the document at the nearest editor position in [#&#8203;13575](https://github.com/outline/outline/pull/13575) - History: Show revision author in meta when viewing a revision by [@&#8203;chenniannian90](https://github.com/chenniannian90) in [#&#8203;13571](https://github.com/outline/outline/pull/13571) - Raise OAuth `redirect_uris` limit from 10 to 20 in [#&#8203;13583](https://github.com/outline/outline/pull/13583) - Preserve MCP attachment form values in [#&#8203;13597](https://github.com/outline/outline/pull/13597) - Provision OIDC users with locale claim in [#&#8203;13601](https://github.com/outline/outline/pull/13601) - Match PWA chrome to active theme in [#&#8203;13599](https://github.com/outline/outline/pull/13599) - Align revision export authorization with document export in [#&#8203;13603](https://github.com/outline/outline/pull/13603) - Keep expanded code blocks open after undo in [#&#8203;13600](https://github.com/outline/outline/pull/13600) - Preserve tables in quoted document patches in [#&#8203;13604](https://github.com/outline/outline/pull/13604) - Deadlock on cleanup task retry in [#&#8203;13598](https://github.com/outline/outline/pull/13598) #### New Contributors - [@&#8203;okxint](https://github.com/okxint) made their first contribution in [#&#8203;13057](https://github.com/outline/outline/pull/13057) - [@&#8203;IEatCodeDaily](https://github.com/IEatCodeDaily) made their first contribution in [#&#8203;13082](https://github.com/outline/outline/pull/13082) - [@&#8203;irontaek](https://github.com/irontaek) made their first contribution in [#&#8203;13117](https://github.com/outline/outline/pull/13117) - [@&#8203;UditDewan](https://github.com/UditDewan) made their first contribution in [#&#8203;13140](https://github.com/outline/outline/pull/13140) - [@&#8203;rlenferink](https://github.com/rlenferink) made their first contribution in [#&#8203;13396](https://github.com/outline/outline/pull/13396) - [@&#8203;chenniannian90](https://github.com/chenniannian90) made their first contribution in [#&#8203;13571](https://github.com/outline/outline/pull/13571) **Full Changelog**: <https://github.com/outline/outline/compare/v1.9.2...v1.10.0> </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 is behind base branch, 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 CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC41Ni4zIiwidXBkYXRlZEluVmVyIjoiNDQuNzUuMSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->
renovate added 1 commit 2026-09-10 03:34:09 +00:00
renovate force-pushed renovate/outlinewiki-outline-1.x from cfa503a0d7 to 3f670fcd3c 2026-09-10 03:34:09 +00:00 Compare
renovate changed title from Update outlinewiki/outline Docker tag to v1.10.0 to Update outlinewiki/outline Docker tag to v1.10.1 2026-09-10 03:34:12 +00:00
AverageMarcus merged commit 407555362a into master 2026-09-14 05:16:38 +00:00
AverageMarcus deleted branch renovate/outlinewiki-outline-1.x 2026-09-14 05:16:38 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: AverageMarcus/cluster.fun#786