Outline Release Notes
56 release notes curated from 35 sources by the Releasebot Team. Last updated: Oct 12, 2026
- Oct 12, 2026
- Date parsed from source:Oct 12, 2026
- First seen by Releasebot:Oct 12, 2026
v1.11.0
Outline ships v1.11.0 with faster server and client performance plus a broad set of collaboration, editor, import, and mobile improvements. It adds root-block drag handles, OKF import, group icons and colors, MCP skill exposure, and many fixes across search, sharing, auth, and tables.
What's Changed
A continued focus on server and client performance, see the separate section below. We're ensuring Outline maintains it's position as the fastest team knowledge base on the market.
Highlights
- A drag handle is now available on all root-level blocks in #12167
- Alt+Up/Down now moves to the previous or next document in the sidebar in #14034
- Documents and collections can now record a reason for being archived or deleted in #13784
- Added Open Knowledge Format (OKF) import in #13580
- Groups can now optionally have an icon and color in #14011
- The desktop app now shows a toast with actions when a file download completes in #13769
MCP
- Skills are now exposed over MCP in #13989
- The MCP server and OAuth provider now follow the latest MCP spec guidance in #13961
Performance improvements
- Avoided an N+1 query in share subscription notifications in #13719
- documentCollaborativeUpdater now does its computation outside the transaction in #13720
- The loading bar now animates with transform in #13755
- Placeholder candidates are now filtered before conditions are evaluated in #13760
- Editor decorations are now mapped through inline edits instead of rebuilt in #13759
- Document sidebar panels now stay mounted with React Activity in #13845
- Store filter methods are now memoized in #13870
- Simple read-only comments now render without an editor view in #13871
- Document row menus and tooltips are now deferred until interaction in #13869
- Removed redundant queries from document API routes in #13884
- documentStructure is now excluded from the collections.list query in #13886
- Reduced query cost and reparsing in the comments API in #13887
- Prosemirror parsing is now memoized in DocumentHelper in #13892
- Templates are now loaded on demand in #13895
- The statement timeout is now sent in the same round trip as the transaction start in #13937
- The recently viewed documents query is faster in #13970
- Updating the collection structure no longer loads full subtrees in #13982
- Sidebar document trees are now virtualized in #13993
- Reduced editor mount cost in #14032
- Opening a document from the sidebar now uses less main-thread time in #14033
Other improvements
- Sidebar section headers now have menus in #13801
- The child document list now supports multi-select in #13782
- Users are now notified when added to or removed from a group in #13999
- Breadcrumbs are now shown in hovercards in #13876
- Line-height is now adjusted for Chinese, Japanese and Korean documents by @Tlntin in #13822
- Date mentions are now formatted per locale in #13969
- Gmail and Outlook links are now shown after an email sign-in request in #13761
- The export menu now shows file extensions and the print shortcut in #13778
- Maximum comment length has been increased to 10k characters in #13814
- A code block that is most of the document is no longer auto-collapsed in #13815
- The find panel on mobile now has a close button and a two-line layout in #13818
- comments.update now accepts a text param in #13854
- Added a visible uncollapse sidebar button in the header in #13872
- Group descriptions are now synced, and groups are re-synced on SSO validation in #13889
- Root domain app links now redirect to the signed-in workspace in #13923
- The group members table now shows who added each member in #14000
- A security notice is now sent to the previous address when an account email changes in #13979
- Authentication requirements on account settings routes have been tightened in #13980
- The admin service is now prevented from running in production in #13758
- Collaboration service now validates awareness identity in #13804
- Generated team subdomains no longer include the top-level domain in #13816
- Analytics events are now sent through gtag, and WebMCP tool registration is tracked in #13792
Fixes
- Service worker is now served with a no-cache header in #13716
- Native image drag copies selected images by @UmbraCi in #13635
- Pinned document cards ignore clicks and trackpad taps by @misha-sunborn in #13708
- Editor node drags show the sidebar document ghost in #13723
- Checklist with multiple items corrupts neighbouring lists in #13724
- Crash when image caption blurs during node view teardown in #13731
- Lightbox flickers at the end of the close animation in #13730
- Show notice type for list selections in #13721
- Clarify missing OAuth state errors in #13734
- Scope authentication matching to the signing-in provider in #13737
- Temporary multipart upload files are not cleaned up in #13752
- Incorrect shared document preview links in #13756
- Source uploads not removed after imports in #13757
- Guests with edit rights cannot duplicate documents by @breken-ai in #13717
- GitLab webhook integration updates in #13764
- Validate share id on public share endpoints in #13766
- Selection lands after a newly inserted notice instead of inside it in #13768
- Backspace inside a notice orphans the emptied paragraph in Chrome in #13770
- Scrollbars visible on the suggestion menu in #13779
- Table of contents closes immediately on desktop when a header is narrow in #13781
- Gap between archived/deleted banner and document title too large in #13780
- Sidebar selection changes when a prompt blocks navigation in #13785
- Group description not stored on creation in #13791
- Validate custom theme colors in #13800
- Enforce maxLength for all input paths in ContentEditable in #13793
- Detect new subscriptions with xmax instead of timestamp comparison in #13803
- Permission select text color too dim in #13805
- Patch edit mode drops content spliced inside container blocks in #13794
- Crash when pasting code over a selection near the end of a document in #13807
- Imported attachment keys end in "null" when no name is set by @mturac in #13750
- Revisions sometimes attributed to the wrong user in collaborative edits in #13809
- Tab after a toggle block throws for non-paragraph blocks in #13825
- Document search trigger fails when tsvector exceeds size limit in #13832
- Language detection stores nothing for Chinese, Arabic, Persian and others in #13833
- Update loop in link editor search on focus in #13840
- Editor steals focus when opening a document that was never edited in #13847
- Attachments made public when S3 ACLs are disabled in #13867
- Cmd+Enter does not submit a new comment in #13865
- Lazy editor components fail to load after a deploy in #13868
- Event listener throws when browser dispatches events during render in #13880
- Line breaks lost in Markdown table cells in #13866
- Azure profile handling in #13883
- Group timestamp not updated when membership changes in #13888
- Role badges wrap in users table in #13893
- External groups with duplicate names sync inaccurately in #13894
- Table controls around merged cells in #13897
- Allow CloudFront origin in CSP object-src in #13909
- Re-authorize collaboration connections on document lifecycle events in #13899
- Handle sign out events consistently across realtime services in #13936
- Header buttons not clickable while find panel is open in #13938
- Header actions overlap the window scrollbar in #13919
- Improve collaboration connection lifecycle in #13949
- Consecutive floated images not aligned horizontally in #13900
- Attachment row not destroyed on failed upload in files.create by @okxint in #13914
- Document and collection mentions on public shares navigate outside the share in #13920
- Mobile document options drawer visible when printing in #13971
- Editor crash on keydown events without a key in #13975
- findByPk ignores rejectOnEmpty for malformed ids in #13974
- Lists in table cells lost on Markdown round-trip in #13978
- Unhandled rejection when Zapier stylesheet fails to load in #13981
- Guard node view positions after the view is destroyed in #13983
- "Created by me" tab lists documents the user collaborated on in #13988
- Custom workspace logo missing from link previews of app pages in #13986
- Shared documents and unplaced drafts missing from recently viewed in #13987
- Private-use URI schemes rejected for OAuth redirect URIs by @tahsinrefat22 in #13945
- Search results not revealed in paginated sidebar collections in #13786
- Events not emitted when deleting synced groups in #13998
- Lightbox stays open when editor document is replaced in #14003
- Viewing a document with URL mentions of documents creates revisions in #14004
- Table grips hidden behind add row and column controls in #13997
- Vertical movement of hover card on enter in #14008
- Select-all checkbox shown on empty tables in #14009
- Tighten document visibility in realtime and recent views in #14007
- Spelling, grammar, punctuation, and translation string errors in #14017
- Negative sign placed incorrectly after currency symbol when sorting tables in #14018
- Percent signs lost in exported file names in #14019
- Browser languages without a region not resolved to a supported locale in #14020
- Author names lost in template variables in #14021
- Previous team subdomains not all persisted in #14022
- Share custom slugs not matched exactly when looking up shares in #14025
- Heading number periods and full text color when not editing in #14026
- Model fields keyed by minified class name in #14027
- Tapping a sidebar icon on mobile opens the document instead of expanding it in #14029
- Table cells with invalid spans in #14028
- Divider selection color, border color, and drag handle alignment in #14030
- Emoji menu conflicts with ::: notice shortcut in #14031
- Notice toolbar shows on load when document starts with a notice in #14036
- Backspace does not delete RTL text in some table cells in #14054
- Consistent client authentication on OAuth token endpoint in #14055
New Contributors
- @misha-sunborn made their first contribution in #13708
- @breken-ai made their first contribution in #13717
- @Tlntin made their first contribution in #13822
- @tahsinrefat22 made their first contribution in #13945
- @hcker2000 made their first contribution in #13876
Full Changelog: v1.10.1...v1.11.0
Original source - 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 All of your release notes in one feed
Join Releasebot and get updates from Outline and hundreds of other software products.
- 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
- 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 Similar to Outline with recent updates:
- Google release notes2309 release notes · Latest Oct 15, 2026
- Notion release notes205 release notes · Latest Oct 15, 2026
- xAI release notes279 release notes · Latest Oct 14, 2026
- Anthropic release notes892 release notes · Latest Oct 16, 2026
- OpenAI release notes1153 release notes · Latest Oct 16, 2026
- Ubiquiti release notes1013 release notes · Latest Oct 15, 2026
- 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.
- 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.
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.