Release notes for Umbraco-CMS v17.0.0
Released on: Thursday, November 27 2025
NuGet Package: Umbraco.Cms v17.0.0
Install and upgrade guidance
- Quick install instructions This link leads to a site made by members of the Umbraco community, it helps make the installation of Umbraco a lot easier for you.
- Upgrade guide
- Version-specific upgrade guide
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).
Contributors
Of the 169 bug fixes and feature additions in v17.0.0, a total of 37 of them have been contributed by the community, by 21 unique contributors.
We're welcoming 10 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, Owain Williams, Pantelis Sotiropoulos, Paul Daly, Piers Taylor 🏆
All community contributors to this release
⭐
Alex1 PR
Andrej Davidovic1 PR
Bjarne Fyrstenborg14 PRs
Carl1 PR
⭐
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
26
#20925 Dependencies: Updates Swashbuckle to v10
#20813 Hosting: Require HTTPS by default (opt-out)
#29 [Breaking change]: Removal of backoffice tours
#28 [Breaking change]: Removal of `BackOfficeDevelopment` runtime mode and `InMemoryAuto` models builder mode due to deprecation of Razor runtime compilation support in .NET
#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
116
#20939 Localization: Restores region-specific cultures
#20935 Update further dependencies for 17
#20933 build(deps): bump marked to 17.0.1
#20932 build(deps): bump @microsoft/signalr to 10.0.0
#20885 Rich Text Block data missing after v13 => v16 upgrade
#20887
Migrations: Handles rich text blocks created with TinyMCE in convert local links migration and refreshes internal datatype cache following migration requiring cache rebuild (closes #20885)
#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)
#20733 Entity Sign: Improve Firefox visibility and add focus support
#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
#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
#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
#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
#20469 UX: Center align log type in media history view
#20464 Publishing: Resolve exceptions on publish branch
#20438 Icon Picker: Fit icons scroll container to modal height
#20424 Block Workspace: dynamic headline & browser title
#20414 Single Block property editor
#20413 Segments: Adds deprecation notices to `AllowNonExistingSegmentsCreation`
#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
#20366 Content Delivery API returns incorrect route for unpublished variant document in preview mode
#20499
Delivery API: Provided culture to the `ApiContentRouteBuilder`, fixing issue with route path on preview requests for language variant content (closes #20366)
#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
#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)
#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
#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
#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
#20080 Layout header top custom property
#20036 Validation context uncaught promise (closes #20035)
#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