Release notes for Umbraco-CMS v17.2.0
Released on: Thursday, February 19 2026
NuGet Package: Umbraco.Cms v17.2.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 175 bug fixes and feature additions in v17.2.0, a total of 54 of them have been contributed by the community, by 18 unique contributors.
We're welcoming 8 brand new contributors who have made their first pull request for Umbraco-CMS. Welcome to the contributor club: bohdansolovie, Dream, GiantDragon9090, Job, korbi551, Mr.James, Nikolaj Skovmose, Shelly C 🏆
All community contributors to this release
Asbjørn Riis-Knudsen1 PR
Bjarne Fyrstenborg3 PRs
⭐
bohdansolovie1 PR
calm2 PRs
Chris Houston31 PRs
Dennis1 PR
Dirk Seefeld4 PRs
⭐
Dream1 PR
⭐
GiantDragon90901 PR
Jeavon1 PR
⭐
Job1 PR
Johannes Lantz1 PR
Jose Marcenaro1 PR
⭐
korbi5511 PR
Markus Johansson1 PR
⭐
Mr.James1 PR
⭐
Nikolaj Skovmose1 PR
⭐
Shelly C1 PR
⭐ = First pull request to Umbraco-CMS
Notable features
2
Developer experience
5
#21503 Modal: Add 'in modal' condition to modal package
#21392 Picker: Support embedded Collections in the Collection Item Picker Modal
#21349 TypeScript: Add all CustomEvents to GlobalEventHandlersEventMap
#21172 Collection: Introduce Collection Text Filter Extension
#17866 NPM: Move Umbraco Package Schema and custom-elements to root level for IDE discoverability (closes #16667)
UI and UX updates
12
#21616 Duplicate to: switch to split icon
#21544 Content Type Designer: Property Layout updates
#21444 Collection: Image support for default card view
#21416 Entity Signs: Background color when in Selection mode
#21354 Mobile navigation: enable horizontal scroll on small screens
#21257 User Management: Provide informative message on change password validation failure (closes #20665)
#21229 Content Type Designer: make inherited property appear more like the local, to take less focus
#21228 Sidebar: Make scale grab-area smaller
#21087 Add loading indicator and error handling to Member Public Access Modal
#21086 Add loading indicator to composition picker modal
#21085 Add loading indicator to data type picker flow modal
Other
156
#21765 build(deps): bumps @umbraco-ui/uui to 1.17.0
#21627 Rename of node always shows unpublished changes
#21615 Tiptap RTE: Add delete action support for RTE blocks (closes #21345)
#21583 OEmbed providers: Tighten up resource URL matching for providers
#21582 Content Type Designer: transfer root properties when creating first tab.
#21571 Routing: Fix URL aliases not stored for variant content with shared alias property in `DocumentUrlAliasService`
#21569 build(deps): bumps @umbraco-ui/uui to 1.17.0-rc.5
#21555 Backoffice: Exclude invariant options for culture-variant properties in preset builder
#21554 Content has property preset value cannot be saved when vary by culture and vary by segment
#21550 View Engines: Make `ProfilingViewEngine._inner` private and modernize string formatting
#21549 Tiptap extension modal does not have access to the current culture in split edit view
#21540 Dependencies: Bump to latest minor/patch versions
#21539 Dependencies: Bumps login dependencies to latest
#21538 Dependencies: Bumps @umbraco-ui/uui to 1.17.0-rc.4
#21537 MultiNodeTreePicker with content under current item is now showing sibblings as well
#21534 Allow Template Aliases to have a leading underscore (_)
#21532 Dark mode: Added color variable to code block in the system information dialog to make it readable
#21525 Validation error icon has weird position on tabs
#21512 Block List Editor: Describe that Single Block Mode is deprecated
#21508 Log Viewer: Fix polling interval reset when changing intervals (closes #21507)
#21494 Tiptap RTE: Adds link (`umbLink`) support to `styleMenu` API
#21493 Tiptap RTE: Upgraded to latest v3.x
#21491 Block List & Block Single: Resolve Validation Race condition (Fixes #21313)
#21490 Entity Signs: Refactor Entity Sign Bundle to use Popover API.
#21488 Redirect Tracking: Handle empty string in redirect tracker when restoring from recycle bin
#21482 Recycle Bin: Adds `emptyRecycleBin` collection action kind for Documents and Media
#21480 Entity Signs: Embed Api & Element for performance
#21477 Content Picker Dynamic Root Children not selected properly
#21465 Code Quality: Added missing documentation to the `Umbraco.Cms.Api.Common project`
#21464 Fix for the client side circular dependency.
#21463 Circular dependency in the front end code causing build error.
#21461 Constants: Move media-type guid strings into constants partial
#21459 Info tab shows language entries for non-variant content nodes
#21458 Backoffice: Fix event listener memory leaks in auth, dropzone, actions, and router
#21455 Examine: Check for registered populators before emptying indexes
#21447 Testing: Ensure ordering for paged descendants tests (closes #21446)
#21442 Media: Unable to see the "Access denied" view when deep-linking to restricted media nodes
#21440 IMediaService allows non-v4 GUIDs but UniqueMediaPathScheme fails at runtime
#21439 Code Quality: Adding XML documentation to `Umbraco.Cms.Persistence.EFCore.SQLServer` & `Umbraco.Cms.Persistence.EFCore.SQLite`
#21438 Code Quality: Resolve 128 `SA1600` documentation warnings in `Umbraco.Cms.Persistence.Sqlite`
#21437 Code Quality: Adding all missing XML documentation for the `Umbraco.Cms.Persistence.EFCore` project
#21434 Revert binary breaking changes from PR #21236
#21433 Missing translations in the backoffice
#21422 Drag and Drop on media with a start node uploads media to the root, then unable to save content.
#21419 Database Providers: Add support for providers offering sequence and null casting support (closes #21418)
#21415 Performance: Fix thread safety and optimize cache updates in `PublishStatusService` after content changes
#21412 Media: Only add deleted suffix to URLs for trashed media when recycle bin protection is enabled
#21407 Performance: Optimize refresh of hybrid cache for a document by retrieving draft and published in single query
#21406 Server Events: Add runtime state check and error handling to `ServerEventRouter`
#21401 Code Quality: Resolve `SA1649` warnings
#21400 Code Quality: Fix `CS1574` and `CS0419` XML documentation warnings
#21399 Code Quality: Fix `CS0659` and `CS0661` build warnings in Item test class by removing legacy test and setup of little value
#21398 Code Quality: Removing a variable that is not being used fixing warning `CS0168`
#21395 dotnet Templates: Update Umbraco and Starter Kit versions in templates
#21383 ContentFinderByUrlAlias breaks lazy-loaded cache in Umbraco 15+, causing huge memory usage and crashes
#21382 Property Value Preset Builder: accept variant options
#21380 Backoffice Performance: Inline entry point modules to reduce JS chunk count
#21378 Migrations: Ensure description column is added before earlier User Group migration runs
#21377 Code Quality: Fix StyleCop warnings SA1116, SA1401, SA1649, SA1405, SA1121, SA1130, SA1306, SA1028, SA1400, SA1106
#21370 StringExtensions: Refactor into partial classes and optimize methods
#21369 Code Quality: Fix `SA1500`, `SA1111` and `SA1134` StyleCop warnings
#21367 perf(listview): unnecessary property loading causes slow load times
#21366 Collections: fix `create` action causing full page navigation
#21365 Tree Navigation: Add visual indicators for items with restricted access
#21363 Backoffice Performance: Use import maps to save requests
#21350 [17.1] InvalidOperationException: Operations that change non-concurrent collections must have exclusive access.
#21344 Management API: Replace nameof() by constants of DTO (closes #21303)
#21339 fix(slider): enforce Maximum Value configuration (closes #21323)
#21338 Multi Node Tree Picker: does not enforce 'Allow items of type'
#21337 [v17] After upgrade from v13 to v17, document URL cache is not populated correctly
#21327 Persistence Model: Replace some hard coded strings in DTOs
#21322 Backoffice entity actions: prevent entity actions dropdown from closing on first click
#21312 Members: Fix `IMemberService.GetByKeysAsync()`
#21302 Entity Signs: Add localization keys to core entity signs
#21301 Removed margin-top to address the loader icon shifting when entering …
#21290 Content Workspace: Add condition to detect when a content workspace has finished loading.
#21283 Performance: Only flush ID/Key map in `ContentCacheRefresher` on content deletion
#21281 Performance: Avoid database lookup in `UserIdKeyResolver` for super-user
#21269 Datatype Collection: Add fallback icon for datatype
#21268 Extension insights: Hide icon from table collection
#21264 Focal point: Utility functions
#21261 New SingleBlock Editor - Can save configuration that is not valid
#21260 Code Quality: Fix ASP0019 warnings by replacing `Headers.Add` with `Headers.Append`
#21259 Build Warnings: Suppress ASPDEPR003 warnings in DevelopmentMode.Backoffice
#21258 Code quality: resolve build warnings `CS0169` and `CS0649`
#21256 Code quality: Fixing XML docs issues CS1570, CS1572, CS1723, & CS1575
#21252 Added localize label for entity sign bundle
#21251 Code quality: Replace obsolete APIs in `Umbraco.TestData` controllers
#21250 Benchmarks: Fix obsolete BenchmarkDotNet API warnings by replacing depreciated function calls.
#21249 Code documentation: Added XML Docs to the files in the `Umbraco.Cms.Imaging.ImageSharp2` project
#21248 Code documentation: Added XML Docs to the files in the `Umbraco.Cms.Imaging.ImageSharp` project
#21246 fix: Update RenderNoContentController to use non-obsolete constructor
#21245 Code Quality: Fixing the build warnings in the `Umbraco.Tests.Common` project
#21241 DocInclusionPredicate is not extendable
#21240 TagActionsBy should have a null-check
#21238 Markdown Editor component inconsistant parsing backoffice/frontend
#21237 Unable to edit Public Access on a Content Node
#21236 Code quality: Resolve CS0108 compiler warnings by adding explicit 'new' keyword
#21235 Code quality: Remove obsolete serialization constructors (fixing SYSLIB0051 warnings)
#21231 NotificationHeaderFilter applies to all documents
#21224 Code clean-up: Fixes all SA1117 warnings and adding more XML documentation comments
#21223 Edited flag gets stuck or inconsistent on invariant block list on variant doctype
#21216 Media Picker: Always include folders when searching for media
#21213 Cryptographic Functions: Fixes obsolete .NET API warnings (SYSLIB0023, SYSLIB0045, SYSLIB0021, SYSLIB0013, SYSLIB0012) by replacing deprecated cryptographic and reflection APIs with their modern equivalents.
#21212 Fix build warning CS0252 - unintended reference comparison in tests
#21211 Management API: Fixes the warning CS8524 and tidying up the "Set Status Redirect Url Management Controller"
#21210 Logging: Resolves all CA2017 warnings and improves message clarity
#21209 Docs: Fix CS1573 warnings - add missing XML param tags
#21207 HybridCache: Optimize content type change cache rebuild to resolve SQL timeouts
#21206 User Avatar: The "Change Photo" button is not working in all cases
#21200 Dictionary: Add configurable value search functionality
#21194 Tests: Fix CS4014 warnings - add missing await operators
#21193 Code Quality: resolve CS0628 warnings - change protected to private in sealed classes
#21191 Performance: Embed Store API in Manifests to lower number of network request
#21188 Performance: Embeds the API of selected extra Conditions
#21187 Performance: Bundle Js Libs
#21185 News Dashboard: Update styling to fit with new style
#21181 Cache: Add null checks for entities that may no longer exist during cache refresh
#21179 UI: Refactor breadcrumb URLs to use Path Constants
#21171 Content: Fix name() and getName() to use active variant (closes #20759)
#21169 Culture and Hostnames: Load all languages
#21163 Bulk Publish: Filter variant options to applicable cultures only (closes #19147)
#21141 Treeview shows node the user has no access to
#21134 Dynamic Root on Content Picker not working as expected
#21122 Visual Studio detects vulnerabilities in transitive NuGet packages Umbraco uses
#21089 Add loader and error handling to MFA modal
#21070 Tiptap RTE: Optimize `umb-input-tiptap` initialization and rendering
#21028 Notification Container: Make toast notifications announced by screen readers in Chrome.
#19696 Property not visible in backoffice when created without group/tab (null container ID) using management api
#19500 Deprecate hey-red/Markdown in favour of xoofx/markdig
#16434 UmbracoApiController routing does not work if the route is the same for POST and GET requests
#15361 Info Content App - Links - Lots of 'This document is published but is not in the cache' messages one for every 'language' in non variant site
#14528 passwordMismatch = `The confirmed password doesn't match the new password!` isn't always the case eg when the current password isn't a match during changePasswordAsync.