Release notes for Umbraco-CMS v16.4.0
Released on: Wednesday, November 26 2025
NuGet Package: Umbraco.Cms v16.4.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
Contributors
Of the 93 bug fixes and feature additions in v16.4.0, a total of 30 of them have been contributed by the community, by 17 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, Janus Hasseriis, mdubbelv, Owain Williams, Pantelis Sotiropoulos, Paul Daly, Piers Taylor 🏆
All community contributors to this release
⭐
Alex1 PR
Andrej Davidovic1 PR
Bjarne Fyrstenborg14 PRs
Carl1 PR
Emma L Garland1 PR
Erik Leusink1 PR
Erik-Jan Westendorp1 PR
Henrik1 PR
Jan Skovgaard1 PR
⭐
Janus Hasseriis1 PR
Lucas Bach Bisgaard1 PR
Markus Johansson1 PR
⭐
mdubbelv1 PR
⭐
Owain Williams1 PR
⭐
Pantelis Sotiropoulos1 PR
⭐
Paul Daly1 PR
⭐
Piers Taylor1 PR
⭐ = First pull request to Umbraco-CMS
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
5
#20637 Section URL Retention: Ability to prevent it for a section
#20607 Detail Request Manager: Use tryExecute for delete API call to enable error notifications
#20536 Icon Picker: Fix empty selection allowed on mandatory fields and add validation.
#20261 Adjust styling for inherited content type property
#20258 UX: Add slightly more padding at top so user card outline is not cutoff
Other
86
#20942 Localization: Restores region-specific cultures (#20939)
#20941 Block Editors: avoid discard changes for no changes (Fixes #20680)
#20885 Rich Text Block data missing after v13 => v16 upgrade
#20851 Backoffice Login: Redact back-office PKCE codes from the server (V16)
#20779 Backoffice Login: Move access/refresh tokens to secure cookies
#20745 Block List: Fix inline mode
#20734 Dependencies: Update dotnet sdk and node development dependency to latest secure version of current major (16)
#20732 TipTap Style Menu is not working
#20725 Auth: Cleans up stale or completed auth details from storage
#20709 Incorrect usage of IOptionsMonitor causes memory leaks
#20701 Preview: Add `allow-forms` to iframe sandbox attributes
#20628 Don't call generateAlias on #onAliasChange()
#20618 Block list: blocks with tabs not working in inline editing mode
#20590 Performance: Request cache referenced entities when saving documents with block editors
#20575 ContentPublishedNotification - The value for includeDescendants is not passed in the notification
#20571 Tiptap RTE: Allow removal of unregistered extensions
#20556 Preview: Redirect to published URL on exit
#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
#20527 Shortcut Ctrl + S not saving dictionary items
#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
#20483 Recycle Bin: Trigger cache invalidation for trashed document/media items
#20469 UX: Center align log type in media history view
#20464 Publishing: Resolve exceptions on publish branch
#20458 Entity Actions: More create button discernible text, extension of #20434
#20455 Content link in breadcrumb does not work
#20438 Icon Picker: Fit icons scroll container to modal height
#20437 Block List: Remove bold label from inline editing
#20431 Color Picker: Validate uniqueness of selected colors
#20424 Block Workspace: dynamic headline & browser title
#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)
#20386 Dependencies: Updates all npm dependencies for Client, Login, and UmbracoExtension
#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
#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
#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
#20285 Emails: Add `Expires` header
#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
#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
#20205 [v16] Create button in left navigation missing discernible text
#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
#20080 Layout header top custom property
#20036 Validation context uncaught promise (closes #20035)
#19832 SVG image previews in the media library sometimes extend outside the editor bounds
#17262 Switch container to use SQL 2022 instead of SQL Edge