Outline Release Notes
55 release notes curated from 35 sources by the Releasebot Team. Last updated: Sep 9, 2026
- Sep 9, 2026
- Date parsed from source:Sep 9, 2026
- First seen by Releasebot:Sep 9, 2026
v1.10.1
Outline adds WebMCP support for browser-controlled agents, brings OKF export, and improves editor, history, and sidebar workflows. This release also delivers performance upgrades and a broad set of fixes across uploads, permissions, revisions, rendering, and navigation.
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: v1.10.0...v1.10.1
Original source - Sep 8, 2026
- Date parsed from source:Sep 8, 2026
- First seen by Releasebot:Sep 10, 2026
WebMCP support
Outline adds WebMCP support so in-page AI agents can discover and call structured tools in the browser, with command bar actions mirrored automatically and safety controls that block destructive actions.
Outline now has support for WebMCP, a browser standard that lets in-page AI agents discover and call structured tools directly through document.modelContext. This means agents in Chrome and ChatGPT can programmatically control Outline through the browser itself, no separate server connection required.
- Action mirroring – existing command bar actions are automatically registered as WebMCP tools, complete with the same visibility rules and context you already get in the UI
- Safety controls – destructive actions like deletes are excluded from what agents can call
- Team preference gating – WebMCP sits behind your workspace's existing MCP settings, so it's off unless MCP is enabled for your team
All of your release notes in one feed
Join Releasebot and get updates from Outline and hundreds of other software products.
- Sep 3, 2026
- Date parsed from source:Sep 3, 2026
- First seen by Releasebot:Sep 10, 2026
Open Knowledge Format export
Outline adds OKF exports for collections and workspaces, packaging markdown and metadata into portable bundles.
Collections and workspaces can now be exported in the Open Knowledge Format (OKF), an open, portable bundle of markdown files designed to keep your content and its metadata readable outside of Outline.
Each document is exported as markdown with YAML frontmatter describing its title, type, description, and when it was generated, and every bundle includes a root index.md that declares the OKF version and lists its top-level entries. It's available anywhere you can already export to markdown — just pick "OKF" as the format from the export dialog.
Original source - Sep 2, 2026
- Date parsed from source:Sep 2, 2026
- First seen by Releasebot:Sep 3, 2026
v1.10.0
Outline adds split view, inline comments for read-only users, new mention triggers and document import options, plus sidebar reordering, live stats, MCP updates, and performance improvements that reduce memory use and speed up search, navigation, and editing.
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
- @okxint made their first contribution in #13057
- @IEatCodeDaily made their first contribution in #13082
- @irontaek made their first contribution in #13117
- @UditDewan made their first contribution in #13140
- @rlenferink made their first contribution in #13396
- @chenniannian90 made their first contribution in #13571
Full Changelog: v1.9.2...v1.10.0
Original source - Aug 4, 2026
- Date parsed from source:Aug 4, 2026
- First seen by Releasebot:Sep 10, 2026
Import web pages, emails, PDFs, and TextBundle archives
Outline adds more import options for bringing existing notes and archives into your workspace, including saved web pages, emails, text-based PDFs, and TextPack archives with embedded images.
Outline can now import content from a few more sources, making it easier to bring existing notes and archives into your workspace.
- Web pages – import a page saved as MHTML (.mhtml/.mht) straight from your browser, images and all.
- Emails – import an .eml message and Outline will convert it to a document, using the email subject as the title.
- PDFs – import a text-based PDF and Outline will recover headings, lists, and tables from the layout, converting it to a fully editable document.
- TextPack – import .textpack archives, the zipped format used by apps like Bear, Ulysses, and iA Writer, including any embedded images.
Similar to Outline with recent updates:
- Google release notes2054 release notes · Latest Sep 11, 2026
- Notion release notes182 release notes · Latest Sep 10, 2026
- xAI release notes245 release notes · Latest Sep 11, 2026
- Anthropic release notes809 release notes · Latest Sep 12, 2026
- OpenAI release notes1011 release notes · Latest Sep 11, 2026
- Ubiquiti release notes943 release notes · Latest Sep 12, 2026
- Aug 3, 2026
- Date parsed from source:Aug 3, 2026
- First seen by Releasebot:Sep 10, 2026
Multi-select
Outline adds bulk multi-select across documents, users, groups, and group members, making it easier to star, pin, archive, update settings, and manage people in one go with familiar shift-click and select-all controls.
You can now select multiple items at once across Outline and act on them together, instead of repeating the same action one row at a time.
- Documents – select multiple documents from search results or any document list to star, pin, archive, or otherwise batch-update them in a single action.
- Users, groups, and group members – the same selection model is now available in workspace settings, so admins can resend invites, activate, suspend, revoke, or remove several people or groups at once.
Selection works the way you'd expect: click to toggle a row, shift-click to select a range, or use "select all". A toolbar appears with the relevant bulk actions as soon as something is selected, and selected rows are highlighted so it's always clear what you're about to change.
Original source - Jul 31, 2026
- Date parsed from source:Jul 31, 2026
- First seen by Releasebot:Aug 6, 2026
Profile cards on hover
Outline adds hover profile cards with names, status, local time, and avatar context anywhere in the app.
Hovering over a person's avatar anywhere in Outline now shows a small profile card, so you can get context on who they are without leaving the page you're on.
The card shows their name, avatar, status (such as invited, suspended, admin, or guest), and their local time — handy for knowing whether a teammate is likely to be online before you @mention them.
Original source - Jul 21, 2026
- Date parsed from source:Jul 21, 2026
- First seen by Releasebot:Sep 10, 2026
Split view
Outline adds split view so you can open two documents side by side, work across panes, and use independent navigation, comments, and history in each pane.
You can now open two documents side by side with the new split view, making it easy to reference one document while working in another.
- Open a second pane – choose "Open in split view" from a document or collection's menu, or from the command bar
- Quick shortcuts – modifier-click any link in the sidebar or editor (in the desktop app), or press Cmd+Enter / Ctrl+Enter from the command menu, to open it in the split pane instead of navigating away
- Resizable panes – drag the divider between panes to adjust their widths, or double-click it to reset to an even split
Each pane keeps its own navigation history, so links you click inside a pane open within that pane rather than replacing what you're viewing elsewhere. Comments and history panels also work independently per pane.
Original source - Jul 21, 2026
- Date parsed from source:Jul 21, 2026
- First seen by Releasebot:Jul 21, 2026
v1.9.2
Outline releases improved templates and editor reliability with API query support, easier export cleanup, better comment and search behavior, MCP file uploads, editable image dimensions, and fixes for sign-in, proxy, theme, Mermaid, and sidebar issues.
What's Changed
- Added "query" parameter to templates.list API endpoint in #12996
- Deleting failed and expired exports now possible by @47star in #13032
Fixes
- Floating toolbar in template settings no longer overlaps sidebar in #12994
- "Mermaid" no longer appears twice in language picker in #13000
- "Reset theme" control correctly updates input value in #12999
- Errored mermaid diagram no longer zoomable in #13001
- Debounced search query persistence in #13004
- Multiple fixes for comment gutter mark behavior and scroll-to-comment in #13013
- Search queries from MCP are now recorded in #13011
- Consistent usage of configured proxy with auth providers in #13018
- Docker image no longer includes test fixtures in #13021
- MCP can now upload files with local storage method in #13023
- Image dimensions editable in editor again in #13025
- Focusing starred link no longer scrolls to original location in #13029
- Fixed indent of group-shared document children by @zz80900 in #13028
- Full keyspace is now used for email verification codes in #13031
- Option to invite existing user not in doc in #13034
- Fixed 502 on sign-in from oversized id_token cookie using OIDC (#12986) in #12995
New Contributors
- @zz80900 made their first contribution in #13028
- @47star made their first contribution in #13032
Full Changelog: v1.9.1...v1.9.2
Original source - Jul 17, 2026
- Date parsed from source:Jul 17, 2026
- First seen by Releasebot:Jul 18, 2026
- Jul 13, 2026
- Date parsed from source:Jul 13, 2026
- First seen by Releasebot:Jul 13, 2026
v1.9.1
Outline adds Slab importer support, new RGB and HSL swatches, and a sidebarHidden query option, while improving MCP list results, heading link previews, comment marks, desktop sign-in for self-hosted deployments, and several editor and sidebar fixes.
What's Changed
Improvements
- Added importer support for Slab in #12859
- Added support for rgb, hsl swatches in #12972
- New sidebarHidden query option in #12947
- Empty list tool results in MCP now return improved responses by @syf2211 in #12864
- Unfurl previews for heading links are now aware of heading links in #12857
- Added comment marks in editor gutter in #12840
Fixes
- Long code words no longer cause comment bound overflow in #12961
- Desktop sign-in supported for self-hosted deployments in #12952
- Fix image overflow in table cells by @tsushanth in #12902
- Another fix for foreignObject sizing in Mermaid diagrams by @tsushanth in #12872
- Prevent collapsed sidebar opening during text selection in #12965
- Improved fast-click behavior in sidebar in #12966
- Comments menu now works correctly when triggered from a document list in #12968
- Service worker loading in #12978
New Contributors
- @tsushanth made their first contribution in #12902
- @syf2211 made their first contribution in #12864
Full Changelog: v1.9.0...v1.9.1
Original source - Jul 9, 2026
- Date parsed from source:Jul 9, 2026
- First seen by Releasebot:Jul 10, 2026
v1.9.0
Outline releases v1.9.0 with passkey login on desktop, broader MCP and document tooling, and a wave of editor, import, export, PDF, and accessibility improvements. It also adds support for templates, HTML input, private default collections, and several storage and OIDC updates.
What's Changed
Highlights
Login with Passkey is now supported on desktop in #12749
Markdown input such as --- now work after a soft-break in #12925
MCP
Now supports reading and using templates in #12639
Added document restore tool in #12575
document_update,collection_update tools now return error when no changes occur in #12890
Add HTML input support to `create_document tool by @Ali-ovo in #12943
Newly created collections via MCP now default to private in #12644
Make client_name optional on /oauth/register by @cassvail in #12836
Add WWW-Authenticate header to /mcp 401 responses by @cassvail in #12834
Other improvements
Table menus in editor were improved and now include alignment options for rows in #12611
Added support for Slack-style +:100: reaction shorthand in #12650
Added PROXY_HEADERS_TRUSTED env option (defaults to true) in #12676
CloudFront support for signed attachment URLs by @oliinykdm in #12656
Table sorting is now IP-address aware in #12734
Small images can now be displayed inline for iconography in #12776
Added support for presigned PUT uploads for S3-compatible storage by @nmnmcc in #12748
Image corner drag resizing is now enabled by @UmbraCi in #12690
Added spec-compliant OIDC logout in #12804
Add support for OIDC provider returning JWT from userinfo endpoint in #12879
Fixes
PDF display now correctly scales on mobile in #12608
place cursor at start of inserted table row/column in #12610
Improve patch merging of links in table cells through MCP in #12614
Code blocks auto-collapse while editing in #12616
Spurious post-import edits in #12620
Before/After creation options appear in menu when no permission on parent doc in #12629
Updated validateUrlNotPrivate to match implementation in SSRF in #12636
Widen validated emails for Azure in #12637
Pasted content sometimes appears in plaintext in #12638
Dragging images in editor in #12647
perf: Improve performance of in-page search in #12649
Prevent selecting word-joiner characters around multiplayer cursor in #12660
Reject collections.update requests that include both description and data in payload in #12648
Improve markdown serialization speed in #12667
Editor math block parsing and NaN media dimensions in #12668
Toggling a nested list no longer converts parent lists in #12670
Duplicate paths in export ZIP in #12674
Date mentions in #12621
Comment thread animations in #12677
Nested list behavior in #12678
Various checkbox fixes in #12679
perf: Server startup time in #12680
Tracking of block toolbars in #12681
Reset focusedCommentId on document nav in #12687
Setting attributes from col/row span in #12686
Encode code & math fences in table cells with to avoid breaking rows in #12569
Image drop into editor in #12691
only users with "manage" permissions can edit page permissions by @orikad in #12597
Enable PDF toggle for pre -contentType files in #12709
Import avatar image from Azure/Entra/Microsoft in #12710
Allow template management to be extended to viewers in #12719
Pinterest host matching too broad in #12718
Allow webhook urls without a top-level domain when self-hosted in #12728
Documents shared directly with user not accessible through MCP list tool in #12717
Importer fails after stripping emoji within mark on first line in #12730
Inline code marks longer than the width of editor escape bounds in #12735
Newlines in block fences in table cells in #12740
Cmd+A in image/video captions now works correctly in #12751
Suggestion menus are now correctly announced to screenreaders in #12750
Prevent concurrent OAuth refresh attempts from revoking grant in #12752
Smoothed out image lightbox transition in #12756
Incorrect sidebar hover state with menu open in #12758
Collapse code blocks taller than half the viewport in #12743
Vertically center empty state in notifications popover in #12764
Viewer can disclose existing shared document in #12769
Remove settings from integration presenter in #12770
Remove quote flattening on markdown serialization in #12774
Notion import crash on empty table ("Index 0 out of range") in #12775
Ensure mention in doc emails always include context in #12787
Flicker of sticky table header in #12803
Retain location state when clicking on hash links in doc and TOC in #12805
Guard missing key in manifest in #12806
"User verification was required" during passkey signin in #12817
CleanupDemotedUserTask throws on deleted user in #12818
Guard against orphaned jobs in queue in #12819
Refactor find logic for non-ascii characters in #12813
Avoid pointless +1 on Facepile (show avatar instead) in #12823
Settings appear behind sidebar in #12824
Handle deleted user or team in UserCreatedProcessor in #12839
Avoid SequelizeEmptyResultError in AvatarProcessor in #12838
Avoid SequelizeEmptyResultError when team is missing in CollectionsProcessor in #12837
Remove separate editing guard on Rename action in #12846
revisions.list response too large in #12822
Cannot connect existing workspace when signed into multiple in #12870
mermaid Ctrl+Enter edit shortcut not working on Windows in #12867
Ensure accessible name to search and text inputs in #12869
Incorrect typing of passport request handlers in #12883
useMediaQuery value incorrect on first render in #12914
Handle transient errors in HealthMonitor in #12913
useIdle never triggered without user activity in #12908
all _FILE suffix secrets in env are cemented at startup in #12889
Show more useful breadcrumbs on search results in #12915
Various unlabeled and undescribed interactive elements in #12912
Sensitive fields can leak into logging when non-primitive in #12910
Decode percent-encoded filenames from URLs in #12906
Stale CSRF token sent on request retries and form submissions in #12888
passThrough prop not correctly applied in #12930
Skip attachment work in exports when includeAttachments is false in #12933
Math formulas not rendering correctly in HTML/PDF output in #12939
Comments sidebar opens on document load when draft comment exists in #12897
validateUrlNotPrivate hardening in #12938
perf: Do not load webhook content during failure check in #12944
correctly paste doc links with hash by @salihudickson in #12900
New Contributors
@eliottreich made their first contribution in #12662
@oliinykdm made their first contribution in #12656
@orikad made their first contribution in #12597
@nmnmcc made their first contribution in #12748
@UmbraCi made their first contribution in #12690
@cassvail made their first contribution in #12836
Full Changelog: v1.8.1...v1.9.0
Original source - Jun 27, 2026
- Date parsed from source:Jun 27, 2026
- First seen by Releasebot:Jun 28, 2026
Toggle headings
Outline adds toggle headings for collapsible sections, letting you insert closed, structured blocks from the slash menu in one step.
You can now insert a collapsible toggle section pre-filled with a heading in one step. Open the slash menu ( / ) and choose Big toggle heading, Medium toggle heading, or Small toggle heading to drop in a heading nested inside a toggle block — no manual wrapping required.
This makes it easy to build structured, scannable documents where readers can expand just the sections they care about - toggle headings are closed by default.
Original source - Jun 23, 2026
- Date parsed from source:Jun 23, 2026
- First seen by Releasebot:Jun 28, 2026
Desktop app improvements
Outline adds passkey login and an installation switcher for the desktop app, including on-premise support.
Two improvements have landed in the desktop app this week.
- Passkey login – you can now sign in to the desktop app using a passkey. The app opens your system browser to complete the authentication flow, then returns you straight to the app — no password needed.
- Installation switcher – a new switcher on the login screen lets you move between different Outline installations, making the desktop app compatible with on-premise deployments.
- Jun 17, 2026
- Date parsed from source:Jun 17, 2026
- First seen by Releasebot:Jun 18, 2026
Date mentions
Outline adds inline date mentions in documents for natural date, relative date, and formatted date references.
You can now type
@in any document to insert an inline date mention. Just like mentioning a teammate or linking to another document, type@and start typing a date to place it right in the flow of your text. Date mentions are a natural way to reference deadlines, meetings, or milestones without breaking into a separate calendar app.You can use natural language like
Original source@Today,@Yesterday, relative dates like@2 days ago, or more formal formats like@25-12-26.
Curated by the Releasebot team
Releasebot is an aggregator of official release notes from hundreds of software vendors and thousands of sources.
Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.