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