Release notes for Umbraco-CMS v17.0.0
Target release date: Thursday, November 27 2025
Umbraco 17 is the new Long-Term Support (LTS) release, marking a stable foundation for many years of updates.
Extensions are now first-class citizens: older extension methods are phased out with clear, supported alternatives.
New features include support for .NET 10, load-balanced backoffice, and consistent UTC date handling with time zone support.
Direct LTS-to-LTS upgrade is supported, e.g., from Umbraco 13 straight to 17 (with migrations applied automatically).
Release Candidate The first Release Candidate is now available. Check out the changes since the beta release: https://releases.umbraco.com/release/umbraco/Umbraco-CMS/17.0.0-rc1
Contributors
Of the 162 bug fixes and feature additions in release/17.0.0, a total of 39 of them have been contributed by the community, by 22 unique contributors.
We're welcoming 7 brand new contributors who have made their first pull request for Umbraco-CMS. Welcome to the contributor club: Alex, DevAndersen, Ivo van der Bruggen, Janus Hasseriis, mdubbelv, Mitchel, Pantelis Sotiropoulos 🏆
All community contributors to this release
⭐
Alex1 PR
Andrej Davidovic1 PR
Bjarne Fyrstenborg14 PRs
Carl1 PR
copilot-swe-agent2 PRs
⭐
DevAndersen1 PR
Dirk Seefeld4 PRs
Emma L Garland1 PR
Erik-Jan Westendorp1 PR
Henrik1 PR
⭐
Ivo van der Bruggen1 PR
⭐
Janus Hasseriis1 PR
Jeavon1 PR
Lucas Bach Bisgaard1 PR
Markus Johansson1 PR
⭐
mdubbelv1 PR
⭐
Mitchel1 PR
Owain Williams1 PR
⭐
Pantelis Sotiropoulos1 PR
Paul Daly1 PR
Piers Taylor1 PR
Warren Buckley1 PR
⭐ = First pull request to Umbraco-CMS
Notable features
7
#20820 Backoffice Login: Move access/refresh tokens to secure cookies (V17)
#20417 Load balancing: Load balance isolated caches to allow the backoffice to be load balanced
#20187 Models builder: Move InMemoryAuto models builder and razor runtime compilation into its own package to enable hot reload
#20021 Preview mode: Server-side generated preview URLs
#20007 Dependencies: Update to dotnet 10
#19915 Property Editors: New Date Time property editors
#19822 Date and time handling: Use UTC for system dates in Umbraco
Breaking changes
23
#20813 Hosting: Require HTTPS by default (opt-out)
#20399 SectionSidebarContextMenu: Delete element and methods for interaction
#20397 Load Balancing: Implement distributed background jobs
#20385 Dependencies: Update server dependencies
#20375 Property Editor Data Source
#20340 Segments: The Backoffice should use the enhanced endpoint to fetch segment options for documents based on GUID
#20309 Segments: Property level default segment fallback
#20305 Refactors backoffice sections with default element and context API
#20294 Deprecations: Client-side removal of v17 deprecated code
#20256 Tiptap: Relocation of external extensions/package
#20249 Unattended install: Added the ability to set the telemetry level
#20184 Dependencies: Updates to .NET 10 RC and NPoco 6.1
#20125 Moves current-user related entities from 'user' to 'current-user' package
#20034 Repositories: Quote table and columns and use NPoco extensions over raw SQL
#19961 Properties and validators, removing obsoleted code
#19785 Changed methods in ServiceCollectionExtensions to return IServiceCollection instead of void
#19727 Data Types: Update the existing date/time property editor to provide a kind of unspecified
#19430 Models builder generates different types for color picker value
#19357 Use audit service instead of repository directly in services
#24 [Breaking change]: Removal of unused or unnecessary extension methods
#17051 Clean up extension methods
#16914 Member type container in management API
#15927 Fix nullability of return types that can be non-null
Developer experience
2
#20268 Update Readme to signpost the Forum
#17244 NuGet vulnerability warnings: Warn in non-Release mode, Error in non-Release mode
UI and UX updates
18
#20751 Property type: Vary in the same way as the owner Document Type
#20637 Section URL Retention: Ability to prevent it for a section
#20625 Login photo: Update with v.17 edition
#20607 Detail Request Manager: Use tryExecute for delete API call to enable error notifications
#20584 User group: permissions grouping
#20581 Document/Media Recycle Bin: Add 'Trashed' state to info workspace view
#20569 Document/Media Recycle Bin: Add missing root workspace views (#20494)
#20547 Document/Media Recycle Bin: Show full breadcrumb
#20541 Document/Media: Readonly when in recycle bin
#20523 Make Create Actions open as dialogs (part 2)
#20516 The 'Create Document Blueprint' and 'Create Script' modals are not opened as dialogs.
#20489 Modals: Make Create Actions open a Dialogs
#20384 Collections: Stop opening items in modals
#20376 Tree: Minimalistic styles for load more
#20261 Adjust styling for inherited content type property
#20258 UX: Add slightly more padding at top so user card outline is not cutoff
#19883 Section Sidebar Menu: Auto expand to paginated tree items (closes #17074)
#18403 Infinite editing in the Media Section when navigating deep into Media Folders
Other
112
#20867 Regression: Forms inside RTE-rendered Blocks do not re-render after POST in Umbraco 17 RC2 (works in RC1)
#20847 Backoffice Login: Redact back-office PKCE codes from the server
#20839 Extension template: Removes npm commands from MSBuild of the `.csproj` for `umbraco-extension` dotnet new template
#20758 Content Workspace: not displaying varying composition values in a not varying context (Fixes #20707)
#20752 Flags: Complete renaming of `SignProviders` to `FlagProviders`.
#20745 Block List: Fix inline mode
#20735 Dependencies: Update node development dependency to latest secure version of current major (17)
#20725 Auth: Cleans up stale or completed auth details from storage
#20717 Load Balancing: Move temporary files and make them configurable to allow for media upload when load balancing the backoffice
#20709 Incorrect usage of IOptionsMonitor causes memory leaks
#20681 Performance: Cache published content instances at cache service level
#20661 Entity Data Picker: Data editor and value converter
#20646 Unable to reorder items in the Content Picker
#20620 Unable to drag and drop a file into media section - 500 error for allowed file extension check
#20618 Block list: blocks with tabs not working in inline editing mode
#20603 Item Repository: Sort statuses by order of unique
#20599 Document Recycle Bin: Fix missing item name when restoring
#20590 Performance: Request cache referenced entities when saving documents with block editors
#20585 Preview: Replaces WebSocket with the SignalR library to improve connectivity in the preview window
#20575 ContentPublishedNotification - The value for includeDescendants is not passed in the notification
#20573 Template: Update dotnet project template to remove previous LTS checks
#20571 Tiptap RTE: Allow removal of unregistered extensions
#20555 Deleting media with dependencies shows unfriendly message
#20542 Management API: Added trashed state so when requesting content from the recycle bin it will return trashed instead of draft or published state
#20535 build(deps): bumps @umbraco-ui/uui from 1.16.0-rc.0 to 1.16.0
#20528 Collection: prevent multiple load calls within a very short time
#20527 Shortcut Ctrl + S not saving dictionary items
#20526 Property Editors: DateTimeWithTimeZone - Changing timezone mode to Local shows invalid time zone error
#20519 Notifications: Explicitly flush isolated caches by key for content updates
#20518 Upgrade v13 to v17: A new stylesheet with a .map extension is automatically generated
#20501 UFM: Add camelCase aliases for UFM filters to support UFMJS expressions (closes #20500)
#20485 Performance: Reduce number of database calls in save and publish operations
#20481 Dependencies: Remove `Microsoft.CodeAnalysis.CSharp` dependency from Umbraco.Infrastructure
#20470 Support $index in block UFM labels
#20469 UX: Center align log type in media history view
#20467 You can name Document Types reserved names.
#20464 Publishing: Resolve exceptions on publish branch
#20455 Content link in breadcrumb does not work
#20454 RTE field does not render default value
#20438 Icon Picker: Fit icons scroll container to modal height
#20428 Content Workspace: Invariant Breadcrumbs does not work (fix #20423)
#20424 Block Workspace: dynamic headline & browser title
#20423 Breadcrumb navigation completely broken in both Content and Media sections
#20414 Single Block property editor
#20413 Segments: Adds deprecation notices to `AllowNonExistingSegmentsCreation`
#20409 BlockList items are lost on upgrade v13 to v16
#20402 build(deps): bumps @umbraco-ui/uui from 1.15.0 to 1.16.0-rc.0
#20396 UFM: Fixes the truncate filter to only add ellipsis when text is actually truncated (closes #20395)
#20394 Models Builder: Make Models Builder better at not performing "rude edits"
#20392 Collection: hide children of collection until active child
#20386 Dependencies: Updates all npm dependencies for Client, Login, and UmbracoExtension
#20381 When we use the #documentContext?.setPropertyValue() method on a RTE field, the word count does not get adjusted.
#20380 Add accessibility label for splitview divider
#20370 Publishing items in bulk programmatically does not properly update delivery api content index
#20366 Content Delivery API returns incorrect route for unpublished variant document in preview mode
#20364 Block Grid: Add icon to allowed block types in area
#20363 Block Grid: Configure minimum one column for areas
#20362 Localization: Added translations for area validation property labels
#20361 Block Grid: Styling of group drag with handle
#20360 Color Picker: Styling for drag handle at swatch items
#20358 Segments: The experience of working with Segments and Segmented Blocks
#20357 Color Picker: Set initial hex value for picker (closes #20326)
#20355 Change to layout of default Content area dashboard
#20351 Entity-Action Bundle: Ensure First Action are updated in rendering
#20350 Fallback ToLanguage with BlockList Regression
#20346 Media: Prevent svg image to extend outside the editor bounds
#20339 Data Type: Improve missing property editor and property editor UI feedback
#20336 Dictionary Cache Regression
#20333 Extend logging (add delay and period)
#20331 Misleading description in the upload field property editor
#20322 App Plugin Malform JSON - Kills Backoffice completely
#20318 Tiptap RTE: Upgrade to Tiptap v3
#20312 Localization: Fixed message in block group delete confirm modal (closes #20308)
#20310 Log Viewer: Fixes continuous polling (closes #20274)
#20302 Media Workspace Path: add parent path to support absolute path generation
#20301 Models: `PropertyType` constructor sets the `DataTypeKey` if `IDataType` has identity
#20298 Repositories: Retrieve users for groups in batches to fix `UserService.GetAllInGroup` failing on too many users in a group
#20288 Loader bar: Implement loader for Content Workspaces
#20287 Micro-optimization: Move compilation of some Regex generation to compile time instead of runtime, make some static ones compiled
#20274 Log viewer continues polling after closing
#20272 Stackoverflow exception on webhooks when delivery api is not registered
#20259 Localization/UX: Add a new general translation for "Fields"
#20257 UX: Make approved colour picker remove button consistent with other multi value item remove buttons
#20251 Edit content in full width mode
#20239 Value Presets: also run value presets on load
#20232 Login form: Improves accessibility by removing duplicate label and aria-label
#20228 Slider: improved value fallback handling + validation
#20227 Test Data: Fixing endpoint not working #20044
#20224 Permissions: Added User fallback permission condition (closes #20097)
#20189 Segments: Auto unfold the culture variant in non-culture-variant mode
#20144 Management API: Use EndpointMetadata to check for MapToApiAttribute at runtime to include Controller in Swagger document
#20138 Content Type Designer: Fix moving a group to an inherited tab
#20098 Feature: single block property editor
#20097 `Umb.Condition.UserPermission.Document` does not use fallback permissions for non-document entity types
#20080 Layout header top custom property
#20058 Document Type Editor issues
#20036 Validation context uncaught promise (closes #20035)
#20002 Unable to migrate to V17 on Linux
#19986 Repositories: Introduce and use NPoco and custom extension methods for SQL syntax in ContentTypeRepositoryBase
#19959 Removed obsoleted code from Umbraco.Cms.Core.Cache & .Routing
#19897 There are several sql syntax issues like hardcode table and column names
#19856 Support persistence of unrestricted selections from the check box list
#19832 SVG image previews in the media library sometimes extend outside the editor bounds
#19707 Use new submit and poll solution for examine index rebuild
#19480 Media-root breadcrumb not working
#19436 Description update models builder generates different types for color picker value
#19346 Audit service rework
#19307 v15 [BUG] Issue moving content around, inline editing
#18748 v 15.2.3 Tree structure does not expand after page refresh
#18115 Single Block Mode Behavior in v14+ (not single enough)
#17262 Switch container to use SQL 2022 instead of SQL Edge
#14499 Adding SourceWidth and SourceHeight to ImageUrlGenerationOptions