Upgrading Umbraco.Cms.Web.Website 15 to 16
Breaking15.4.4 → 16.5.1Breaking33Security10Deprecated8New128Changed150Fixed436Other134
BreakingUpgrade verdict
33 breaking changes and 10 security fixes.
In plain terms
- Renames setBrowserTitle to setTitle in View Context.
- The appearance and color of the current user action are removed.
- The old TinyMCE rich text editor is no longer included on the client side.
- The server-side TinyMCE integration is removed.
Must act Top 5 of 51 that need code or config changes
What you must change
Breaking33
Renames setBrowserTitle to setTitle in View Context.
setBrowserTitlesetTitleRemoves the current user action look and color.
Removes TinyMCE (client-side).
TinyMCERemoves TinyMCE (server-side).
TinyMCERemoves the
UmbracoPath setting.UmbracoPathRemoves syslib003 and syslib0051 obsoleted code dependencies.
syslib003syslib0051Removes RTE Stylesheets (client-side).
RTE StylesheetsRemoves the external base64-js module.
base64-jsMoves and renames the input-collection-configuration element to input-content-type-collection-configuration.
input-collection-configurationinput-content-type-collection-configurationSplits Sort Children logic to remove an illegal import from core to packages.
Removes all generic Created, Saved, and Deleted notifications.
Removes non-controversial, straightforward obsoleted constructs for Umbraco 16.
Removes deprecated client-side code in V16.
Removes population of Urls on the document response model and obsoletes the property.
UrlsFurther fixes configuration classes using ISet, resolving a regression with custom 404 pages.
ISetAdds an explicit Global Search extension point.
Logs language ISO codes instead of language names.
Corrects context tokens for menu structure based workspaces.
Replaces
legacy/fetch with @hey-api/client-fetch.legacy/fetch@hey-api/client-fetchRefactors settings arrays to
ISet<T> to ensure unique values and make them easily mutable.ISet<T>Allows
MaxRequestLength to be specified as a long.MaxRequestLengthAdds
AsyncMigrationBase, updates base classes and calls async methods.AsyncMigrationBaseChanges get context to resolve as undefined if not found.
Moves public access files to the member-public-access module.
member-public-accessInternalizes the uuid package.
uuidAdds server context to store information about paths.
Moves router-slot exports to
@umbraco-cms/backoffice/router.@umbraco-cms/backoffice/routerIntroduces a content client package.
Splits media handling from
UmbDropzoneManager.UmbDropzoneManagerRefactors services to fully enable segments.
Context API can now unprovide contexts.
Retrofits ContentEditingBaseBuilder to match the new create/update models.
ContentEditingBaseBuilderMakes culture specific update dates work again.
Security10
Fixes a privilege escalation issue relating to user group memberships.
Fixes an XSS vulnerability involving property type descriptions.
Fixes authorization checks on node domain access.
Marks the UMB-DEBUG cookie as HttpOnly and Secure in debug mode.
UMB-DEBUGMoves backoffice access and refresh tokens to secure cookies, disabled by default for backwards compatibility.
Umbraco:Cms:Security:BackOfficeTokenCookie:EnabledRedacts back-office PKCE codes from the server.
Fixes an issue where the Delivery API could return cached requests with an invalid API key.
Delivery APIFixes code scanning alert no. 1719 for client-side cross-site scripting.
Bumps ImageSharp to prevent CVE-2025-27598.
ImageSharpAdds webhook log authorization and file system path checks.
Deprecations to plan for
Deprecated8
Adds deprecation notices to AllowNonExistingSegmentsCreation.
AllowNonExistingSegmentsCreationMarks MemberService.GetMembersByPropertyValue() methods as obsolete.
MemberService.GetMembersByPropertyValue()Updates openapi-ts client and deprecates
tryExecuteAndNotify.tryExecuteAndNotifyAdds obsoletion messages for unused interface and implementation for cache rebuilds.
Deprecates UmbPropertyValueChangeEvent for v16.
UmbPropertyValueChangeEventObsoletes a few unused things.
Deprecates the getManifest() methods.
getManifest()Removes population of Urls on the media response model and obsoletes the property.
Urls