Backoffice Performance: Inline entry point modules to reduce JS chunk count#21380
Merged
nielslyngsoe merged 6 commits intomainfrom Jan 16, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR optimizes the Umbraco backoffice's JavaScript bundle strategy by converting dynamic imports to static imports for all backofficeEntryPoint manifest registrations. This prevents Vite from creating separate chunk files for each entry point module, reducing the number of JS network requests from 520 to 491 (29 fewer requests).
Changes:
- Modified
JsLoaderPropertytype to accept either a string, a loader promise function, or a directly imported module object - Updated
loadManifestPlainJsfunction to handle statically imported modules alongside the existing dynamic import patterns - Converted 23 backoffice entry point manifest files from dynamic imports (
js: () => import('./entry-point.js')) to static imports (js: entryPointModule)
Reviewed changes
Copilot reviewed 24 out of 24 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/Umbraco.Web.UI.Client/src/libs/extension-api/types/utils.ts | Extended JsLoaderProperty type to accept module objects in addition to strings and promise functions |
| src/Umbraco.Web.UI.Client/src/libs/extension-api/functions/load-manifest-plain-js.function.ts | Added handling for statically imported module objects in the loader function |
| src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts | Converted webhook entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/user/user/manifests.ts | Converted user entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/user/user-group/manifests.ts | Converted user group entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/templating/umbraco-package.ts | Converted templating entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/templating/templates/manifests.ts | Converted templates entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/templating/stylesheets/manifests.ts | Converted stylesheets entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/templating/scripts/manifests.ts | Converted scripts entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/manifests.ts | Converted partial views entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/static-file/manifests.ts | Converted static file entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/property-editors/umbraco-package.ts | Converted property editors entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/members/member/manifests.ts | Converted member entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/members/member-type/manifests.ts | Converted member type entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/members/member-group/manifests.ts | Converted member group entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/media/umbraco-package.ts | Converted media management entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/media/media/manifests.ts | Converted media entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/media/media-types/manifests.ts | Converted media types entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/language/manifests.ts | Converted language entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/documents/documents/manifests.ts | Converted documents entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/documents/document-types/manifests.ts | Converted document types entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/manifests.ts | Converted document blueprints entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/dictionary/manifests.ts | Converted dictionary entry point from dynamic to static import |
| src/Umbraco.Web.UI.Client/src/packages/data-type/manifests.ts | Converted data type entry point from dynamic to static import |
src/Umbraco.Web.UI.Client/src/libs/extension-api/functions/load-manifest-plain-js.function.ts
Show resolved
Hide resolved
Extended loadManifestApi and loadManifestElement to handle already resolved module objects (statically imported modules) in addition to dynamic imports. Updated type definitions in utils.ts to include module export types for loader properties.
Introduces unit tests for loadManifestApi, loadManifestElement, and loadManifestPlainJs functions. These tests cover various scenarios including direct class constructors, dynamic and static imports, export prioritization, and edge cases for null and undefined inputs.
nielslyngsoe
approved these changes
Jan 16, 2026
Member
nielslyngsoe
left a comment
There was a problem hiding this comment.
Looks really good, and really happy to get this new declaration option as well as
This was referenced Feb 20, 2026
Merged
alexsee
pushed a commit
to alexsee/umbraco-container
that referenced
this pull request
Feb 23, 2026
Updated [Umbraco.Cms](https://github.com/umbraco/Umbraco-CMS) from 17.1.0 to 17.2.0. <details> <summary>Release notes</summary> _Sourced from [Umbraco.Cms's releases](https://github.com/umbraco/Umbraco-CMS/releases)._ ## 17.2.0 ## What's Changed Since 17.2.0-rc2 ### 📦 Dependencies * build(deps): bumps @umbraco-ui/uui to 1.17.0 by @iOvergaard in umbraco/Umbraco-CMS#21765 **Full Changelog**: umbraco/Umbraco-CMS@release-17.2.0-rc2...release-17.2.0 ## What's Changed Since 17.2.0-rc ### 🐛 Bug Fixes * Block Workspace: rename root-tab to 'generic' by @nielslyngsoe in umbraco/Umbraco-CMS#21699 * Block Workspace: Tabs navigation, Cherry-pick from #21672 by @nielslyngsoe in umbraco/Umbraco-CMS#21693 **Full Changelog**: umbraco/Umbraco-CMS@release-17.2.0-rc...release-17.2.0-rc2 ## What's Changed Since the Last Release (17.1.0) ### 🙌 Notable Changes * User group: add description to user group (closes #14986) by @NguyenThuyLan in umbraco/Umbraco-CMS#21057 * Content Types: Root properties by @nielslyngsoe in umbraco/Umbraco-CMS#21500 ### 📦 Dependencies * Storybook: Bumps storybook from 9.0.14 to 10.1.10 by @dependabot[bot] in umbraco/Umbraco-CMS#21208 * Bump qs from 6.14.0 to 6.14.1 in /src/Umbraco.Web.UI.Client in the npm_and_yarn group across 1 directory by @dependabot[bot] in umbraco/Umbraco-CMS#21270 * Bump the npm_and_yarn group across 2 directories with 1 update by @dependabot[bot] in umbraco/Umbraco-CMS#21403 * Dependencies: Bumps login dependencies to latest by @iOvergaard in umbraco/Umbraco-CMS#21539 * Tiptap RTE: Upgraded to latest v3.x by @leekelleher in umbraco/Umbraco-CMS#21493 * Dependencies: Bumps @umbraco-ui/uui to 1.17.0-rc.4 by @iOvergaard in umbraco/Umbraco-CMS#21538 * build(deps): bumps @umbraco-ui/uui to 1.17.0-rc.5 by @iOvergaard in umbraco/Umbraco-CMS#21569 * Dependencies: Update Microsoft packages to 10.0.1 and pin vulnerable transitive dependencies (closes #21122) by @AndyButland in umbraco/Umbraco-CMS#21285 * Dependencies: Bump to latest minor/patch versions by @AndyButland in umbraco/Umbraco-CMS#21540 ### 🚀 New Features * Markdown Conversion: Remove hard dependency on deprecated library and replace with `IMarkdownToHtmlConverter` abstraction (closes #21238 and #19500) by @AndyButland in umbraco/Umbraco-CMS#21242 * UI: Refactor breadcrumb URLs to use Path Constants by @iOvergaard in umbraco/Umbraco-CMS#21179 * Tree Navigation: Add visual indicators for items with restricted access by @iOvergaard in umbraco/Umbraco-CMS#21365 * Recycle Bin: Adds `emptyRecycleBin` collection action kind for Documents and Media by @leekelleher in umbraco/Umbraco-CMS#21482 * Tiptap RTE: Adds link (`umbLink`) support to `styleMenu` API by @leekelleher in umbraco/Umbraco-CMS#21494 * Rollback: Add toggle for diff display (closes #18518) by @AndyButland in umbraco/Umbraco-CMS#21426 * Dictionary: Add configurable value search functionality by @Nis-Knowit in umbraco/Umbraco-CMS#21200 ### 🚤 Performance * Performance: Embeds the API of selected extra conditions by @nielslyngsoe in umbraco/Umbraco-CMS#21188 * Performance: Bundle Js Libs by @nielslyngsoe in umbraco/Umbraco-CMS#21187 * Performance: Embed Store API in Manifests to lower number of network request by @madsrasmussen in umbraco/Umbraco-CMS#21191 * Performance: Avoid database lookup in `UserIdKeyResolver` for super-user by @AndyButland in umbraco/Umbraco-CMS#21281 * Performance: Only flush ID/Key map in `ContentCacheRefresher` on content deletion by @AndyButland in umbraco/Umbraco-CMS#21283 * Performance: Optimize refresh of hybrid cache for a document by retrieving draft and published in single query by @AndyButland in umbraco/Umbraco-CMS#21407 * Backoffice Performance: Inline entry point modules to reduce JS chunk count by @madsrasmussen in umbraco/Umbraco-CMS#21380 * HybridCache: Optimize content type change cache rebuild to resolve SQL timeouts by @AndyButland in umbraco/Umbraco-CMS#21207 ... (truncated) ## 17.2.0-rc2 ## What's Changed Since 17.2.0-rc ### 🐛 Bug Fixes * Block Workspace: rename root-tab to 'generic' by @nielslyngsoe in umbraco/Umbraco-CMS#21699 * Block Workspace: Tabs navigation, Cherry-pick from #21672 by @nielslyngsoe in umbraco/Umbraco-CMS#21693 **Full Changelog**: umbraco/Umbraco-CMS@release-17.2.0-rc...release-17.2.0-rc2 ## What's Changed Since the Last Release (17.1.0) ### 🙌 Notable Changes * User group: add description to user group (closes #14986) by @NguyenThuyLan in umbraco/Umbraco-CMS#21057 * Content Types: Root properties by @nielslyngsoe in umbraco/Umbraco-CMS#21500 ### 📦 Dependencies * Storybook: Bumps storybook from 9.0.14 to 10.1.10 by @dependabot[bot] in umbraco/Umbraco-CMS#21208 * Bump qs from 6.14.0 to 6.14.1 in /src/Umbraco.Web.UI.Client in the npm_and_yarn group across 1 directory by @dependabot[bot] in umbraco/Umbraco-CMS#21270 * Bump the npm_and_yarn group across 2 directories with 1 update by @dependabot[bot] in umbraco/Umbraco-CMS#21403 * Dependencies: Bumps login dependencies to latest by @iOvergaard in umbraco/Umbraco-CMS#21539 * Tiptap RTE: Upgraded to latest v3.x by @leekelleher in umbraco/Umbraco-CMS#21493 * Dependencies: Bumps @umbraco-ui/uui to 1.17.0-rc.4 by @iOvergaard in umbraco/Umbraco-CMS#21538 * build(deps): bumps @umbraco-ui/uui to 1.17.0-rc.5 by @iOvergaard in umbraco/Umbraco-CMS#21569 * Dependencies: Update Microsoft packages to 10.0.1 and pin vulnerable transitive dependencies (closes #21122) by @AndyButland in umbraco/Umbraco-CMS#21285 * Dependencies: Bump to latest minor/patch versions by @AndyButland in umbraco/Umbraco-CMS#21540 ### 🚀 New Features * Markdown Conversion: Remove hard dependency on deprecated library and replace with `IMarkdownToHtmlConverter` abstraction (closes #21238 and #19500) by @AndyButland in umbraco/Umbraco-CMS#21242 * UI: Refactor breadcrumb URLs to use Path Constants by @iOvergaard in umbraco/Umbraco-CMS#21179 * Tree Navigation: Add visual indicators for items with restricted access by @iOvergaard in umbraco/Umbraco-CMS#21365 * Recycle Bin: Adds `emptyRecycleBin` collection action kind for Documents and Media by @leekelleher in umbraco/Umbraco-CMS#21482 * Tiptap RTE: Adds link (`umbLink`) support to `styleMenu` API by @leekelleher in umbraco/Umbraco-CMS#21494 * Rollback: Add toggle for diff display (closes #18518) by @AndyButland in umbraco/Umbraco-CMS#21426 * Dictionary: Add configurable value search functionality by @Nis-Knowit in umbraco/Umbraco-CMS#21200 ### 🚤 Performance * Performance: Embeds the API of selected extra conditions by @nielslyngsoe in umbraco/Umbraco-CMS#21188 * Performance: Bundle Js Libs by @nielslyngsoe in umbraco/Umbraco-CMS#21187 * Performance: Embed Store API in Manifests to lower number of network request by @madsrasmussen in umbraco/Umbraco-CMS#21191 * Performance: Avoid database lookup in `UserIdKeyResolver` for super-user by @AndyButland in umbraco/Umbraco-CMS#21281 * Performance: Only flush ID/Key map in `ContentCacheRefresher` on content deletion by @AndyButland in umbraco/Umbraco-CMS#21283 * Performance: Optimize refresh of hybrid cache for a document by retrieving draft and published in single query by @AndyButland in umbraco/Umbraco-CMS#21407 * Backoffice Performance: Inline entry point modules to reduce JS chunk count by @madsrasmussen in umbraco/Umbraco-CMS#21380 * HybridCache: Optimize content type change cache rebuild to resolve SQL timeouts by @AndyButland in umbraco/Umbraco-CMS#21207 * Backoffice Performance: Use import maps to save requests by @nielslyngsoe in umbraco/Umbraco-CMS#21363 * Document URL Cache: Ensure URLs are rebuilt after upgrade and prevent duplicate initialization (closes #21337) by @AndyButland in umbraco/Umbraco-CMS#21379 * Performance: Fix thread safety and optimize cache updates in `PublishStatusService` after content changes by @AndyButland in umbraco/Umbraco-CMS#21415 * Tiptap RTE: Optimize `umb-input-tiptap` initialization and rendering by @leekelleher in umbraco/Umbraco-CMS#21070 * Routing: Add `DocumentUrlAliasService` for optimized URL alias lookups (closes #21383) by @AndyButland in umbraco/Umbraco-CMS#21396 * Performance: Optimize property retrieval and authorization checks in collection views (closes #21367) by @AndyButland in umbraco/Umbraco-CMS#21470 ... (truncated) ## 17.2.0-rc ## What's Changed ### 🙌 Notable Changes * User group: add description to user group (closes #14986) by @NguyenThuyLan in umbraco/Umbraco-CMS#21057 * Content Types: Root properties by @nielslyngsoe in umbraco/Umbraco-CMS#21500 ### 📦 Dependencies * Storybook: Bumps storybook from 9.0.14 to 10.1.10 by @dependabot[bot] in umbraco/Umbraco-CMS#21208 * Bump qs from 6.14.0 to 6.14.1 in /src/Umbraco.Web.UI.Client in the npm_and_yarn group across 1 directory by @dependabot[bot] in umbraco/Umbraco-CMS#21270 * Bump the npm_and_yarn group across 2 directories with 1 update by @dependabot[bot] in umbraco/Umbraco-CMS#21403 * Dependencies: Bumps login dependencies to latest by @iOvergaard in umbraco/Umbraco-CMS#21539 * Tiptap RTE: Upgraded to latest v3.x by @leekelleher in umbraco/Umbraco-CMS#21493 * Dependencies: Bumps @umbraco-ui/uui to 1.17.0-rc.4 by @iOvergaard in umbraco/Umbraco-CMS#21538 * build(deps): bumps @umbraco-ui/uui to 1.17.0-rc.5 by @iOvergaard in umbraco/Umbraco-CMS#21569 * Dependencies: Update Microsoft packages to 10.0.1 and pin vulnerable transitive dependencies (closes #21122) by @AndyButland in umbraco/Umbraco-CMS#21285 * Dependencies: Bump to latest minor/patch versions by @AndyButland in umbraco/Umbraco-CMS#21540 ### 🚀 New Features * Markdown Conversion: Remove hard dependency on deprecated library and replace with `IMarkdownToHtmlConverter` abstraction (closes #21238 and #19500) by @AndyButland in umbraco/Umbraco-CMS#21242 * UI: Refactor breadcrumb URLs to use Path Constants by @iOvergaard in umbraco/Umbraco-CMS#21179 * Tree Navigation: Add visual indicators for items with restricted access by @iOvergaard in umbraco/Umbraco-CMS#21365 * Recycle Bin: Adds `emptyRecycleBin` collection action kind for Documents and Media by @leekelleher in umbraco/Umbraco-CMS#21482 * Tiptap RTE: Adds link (`umbLink`) support to `styleMenu` API by @leekelleher in umbraco/Umbraco-CMS#21494 * Rollback: Add toggle for diff display (closes #18518) by @AndyButland in umbraco/Umbraco-CMS#21426 * Dictionary: Add configurable value search functionality by @Nis-Knowit in umbraco/Umbraco-CMS#21200 ### 🚤 Performance * Performance: Embeds the API of selected extra conditions by @nielslyngsoe in umbraco/Umbraco-CMS#21188 * Performance: Bundle Js Libs by @nielslyngsoe in umbraco/Umbraco-CMS#21187 * Performance: Embed Store API in Manifests to lower number of network request by @madsrasmussen in umbraco/Umbraco-CMS#21191 * Performance: Avoid database lookup in `UserIdKeyResolver` for super-user by @AndyButland in umbraco/Umbraco-CMS#21281 * Performance: Only flush ID/Key map in `ContentCacheRefresher` on content deletion by @AndyButland in umbraco/Umbraco-CMS#21283 * Performance: Optimize refresh of hybrid cache for a document by retrieving draft and published in single query by @AndyButland in umbraco/Umbraco-CMS#21407 * Backoffice Performance: Inline entry point modules to reduce JS chunk count by @madsrasmussen in umbraco/Umbraco-CMS#21380 * HybridCache: Optimize content type change cache rebuild to resolve SQL timeouts by @AndyButland in umbraco/Umbraco-CMS#21207 * Backoffice Performance: Use import maps to save requests by @nielslyngsoe in umbraco/Umbraco-CMS#21363 * Document URL Cache: Ensure URLs are rebuilt after upgrade and prevent duplicate initialization (closes #21337) by @AndyButland in umbraco/Umbraco-CMS#21379 * Performance: Fix thread safety and optimize cache updates in `PublishStatusService` after content changes by @AndyButland in umbraco/Umbraco-CMS#21415 * Tiptap RTE: Optimize `umb-input-tiptap` initialization and rendering by @leekelleher in umbraco/Umbraco-CMS#21070 * Routing: Add `DocumentUrlAliasService` for optimized URL alias lookups (closes #21383) by @AndyButland in umbraco/Umbraco-CMS#21396 * Performance: Optimize property retrieval and authorization checks in collection views (closes #21367) by @AndyButland in umbraco/Umbraco-CMS#21470 ### 🧪 Testing * E2E: QA Replaced unreliable Thread.Sleep(500) with a counter/gate pattern that ensures both transactions are initialized before releasing them to compete for locks by @andr317c in umbraco/Umbraco-CMS#21165 * E2E QA: Updated integration test that was missing directory setup by @andr317c in umbraco/Umbraco-CMS#21167 * E2E: QA Added acceptance tests for removing a not-found content picker by @nhudinh0309 in umbraco/Umbraco-CMS#21177 * E2E: QA Fixed failing tests for the current user profile by @nhudinh0309 in umbraco/Umbraco-CMS#21214 * Upgrade MSW from 1.3.5 to 2.12.4 by @madsrasmussen in umbraco/Umbraco-CMS#21096 * E2E: QA Added acceptance tests for rendering content with invariant blocks by @nhudinh0309 in umbraco/Umbraco-CMS#21180 * E2E: QA Added acceptance tests for content delivery API by @nhudinh0309 in umbraco/Umbraco-CMS#21095 ... (truncated) Commits viewable in [compare view](umbraco/Umbraco-CMS@release-17.1.0...release-17.2.0). </details> Updated [Umbraco.Cms.Persistence.Sqlite](https://github.com/umbraco/Umbraco-CMS) from 17.1.0 to 17.2.0. <details> <summary>Release notes</summary> _Sourced from [Umbraco.Cms.Persistence.Sqlite's releases](https://github.com/umbraco/Umbraco-CMS/releases)._ ## 17.2.0 ## What's Changed Since 17.2.0-rc2 ### 📦 Dependencies * build(deps): bumps @umbraco-ui/uui to 1.17.0 by @iOvergaard in umbraco/Umbraco-CMS#21765 **Full Changelog**: umbraco/Umbraco-CMS@release-17.2.0-rc2...release-17.2.0 ## What's Changed Since 17.2.0-rc ### 🐛 Bug Fixes * Block Workspace: rename root-tab to 'generic' by @nielslyngsoe in umbraco/Umbraco-CMS#21699 * Block Workspace: Tabs navigation, Cherry-pick from #21672 by @nielslyngsoe in umbraco/Umbraco-CMS#21693 **Full Changelog**: umbraco/Umbraco-CMS@release-17.2.0-rc...release-17.2.0-rc2 ## What's Changed Since the Last Release (17.1.0) ### 🙌 Notable Changes * User group: add description to user group (closes #14986) by @NguyenThuyLan in umbraco/Umbraco-CMS#21057 * Content Types: Root properties by @nielslyngsoe in umbraco/Umbraco-CMS#21500 ### 📦 Dependencies * Storybook: Bumps storybook from 9.0.14 to 10.1.10 by @dependabot[bot] in umbraco/Umbraco-CMS#21208 * Bump qs from 6.14.0 to 6.14.1 in /src/Umbraco.Web.UI.Client in the npm_and_yarn group across 1 directory by @dependabot[bot] in umbraco/Umbraco-CMS#21270 * Bump the npm_and_yarn group across 2 directories with 1 update by @dependabot[bot] in umbraco/Umbraco-CMS#21403 * Dependencies: Bumps login dependencies to latest by @iOvergaard in umbraco/Umbraco-CMS#21539 * Tiptap RTE: Upgraded to latest v3.x by @leekelleher in umbraco/Umbraco-CMS#21493 * Dependencies: Bumps @umbraco-ui/uui to 1.17.0-rc.4 by @iOvergaard in umbraco/Umbraco-CMS#21538 * build(deps): bumps @umbraco-ui/uui to 1.17.0-rc.5 by @iOvergaard in umbraco/Umbraco-CMS#21569 * Dependencies: Update Microsoft packages to 10.0.1 and pin vulnerable transitive dependencies (closes #21122) by @AndyButland in umbraco/Umbraco-CMS#21285 * Dependencies: Bump to latest minor/patch versions by @AndyButland in umbraco/Umbraco-CMS#21540 ### 🚀 New Features * Markdown Conversion: Remove hard dependency on deprecated library and replace with `IMarkdownToHtmlConverter` abstraction (closes #21238 and #19500) by @AndyButland in umbraco/Umbraco-CMS#21242 * UI: Refactor breadcrumb URLs to use Path Constants by @iOvergaard in umbraco/Umbraco-CMS#21179 * Tree Navigation: Add visual indicators for items with restricted access by @iOvergaard in umbraco/Umbraco-CMS#21365 * Recycle Bin: Adds `emptyRecycleBin` collection action kind for Documents and Media by @leekelleher in umbraco/Umbraco-CMS#21482 * Tiptap RTE: Adds link (`umbLink`) support to `styleMenu` API by @leekelleher in umbraco/Umbraco-CMS#21494 * Rollback: Add toggle for diff display (closes #18518) by @AndyButland in umbraco/Umbraco-CMS#21426 * Dictionary: Add configurable value search functionality by @Nis-Knowit in umbraco/Umbraco-CMS#21200 ### 🚤 Performance * Performance: Embeds the API of selected extra conditions by @nielslyngsoe in umbraco/Umbraco-CMS#21188 * Performance: Bundle Js Libs by @nielslyngsoe in umbraco/Umbraco-CMS#21187 * Performance: Embed Store API in Manifests to lower number of network request by @madsrasmussen in umbraco/Umbraco-CMS#21191 * Performance: Avoid database lookup in `UserIdKeyResolver` for super-user by @AndyButland in umbraco/Umbraco-CMS#21281 * Performance: Only flush ID/Key map in `ContentCacheRefresher` on content deletion by @AndyButland in umbraco/Umbraco-CMS#21283 * Performance: Optimize refresh of hybrid cache for a document by retrieving draft and published in single query by @AndyButland in umbraco/Umbraco-CMS#21407 * Backoffice Performance: Inline entry point modules to reduce JS chunk count by @madsrasmussen in umbraco/Umbraco-CMS#21380 * HybridCache: Optimize content type change cache rebuild to resolve SQL timeouts by @AndyButland in umbraco/Umbraco-CMS#21207 ... (truncated) ## 17.2.0-rc2 ## What's Changed Since 17.2.0-rc ### 🐛 Bug Fixes * Block Workspace: rename root-tab to 'generic' by @nielslyngsoe in umbraco/Umbraco-CMS#21699 * Block Workspace: Tabs navigation, Cherry-pick from #21672 by @nielslyngsoe in umbraco/Umbraco-CMS#21693 **Full Changelog**: umbraco/Umbraco-CMS@release-17.2.0-rc...release-17.2.0-rc2 ## What's Changed Since the Last Release (17.1.0) ### 🙌 Notable Changes * User group: add description to user group (closes #14986) by @NguyenThuyLan in umbraco/Umbraco-CMS#21057 * Content Types: Root properties by @nielslyngsoe in umbraco/Umbraco-CMS#21500 ### 📦 Dependencies * Storybook: Bumps storybook from 9.0.14 to 10.1.10 by @dependabot[bot] in umbraco/Umbraco-CMS#21208 * Bump qs from 6.14.0 to 6.14.1 in /src/Umbraco.Web.UI.Client in the npm_and_yarn group across 1 directory by @dependabot[bot] in umbraco/Umbraco-CMS#21270 * Bump the npm_and_yarn group across 2 directories with 1 update by @dependabot[bot] in umbraco/Umbraco-CMS#21403 * Dependencies: Bumps login dependencies to latest by @iOvergaard in umbraco/Umbraco-CMS#21539 * Tiptap RTE: Upgraded to latest v3.x by @leekelleher in umbraco/Umbraco-CMS#21493 * Dependencies: Bumps @umbraco-ui/uui to 1.17.0-rc.4 by @iOvergaard in umbraco/Umbraco-CMS#21538 * build(deps): bumps @umbraco-ui/uui to 1.17.0-rc.5 by @iOvergaard in umbraco/Umbraco-CMS#21569 * Dependencies: Update Microsoft packages to 10.0.1 and pin vulnerable transitive dependencies (closes #21122) by @AndyButland in umbraco/Umbraco-CMS#21285 * Dependencies: Bump to latest minor/patch versions by @AndyButland in umbraco/Umbraco-CMS#21540 ### 🚀 New Features * Markdown Conversion: Remove hard dependency on deprecated library and replace with `IMarkdownToHtmlConverter` abstraction (closes #21238 and #19500) by @AndyButland in umbraco/Umbraco-CMS#21242 * UI: Refactor breadcrumb URLs to use Path Constants by @iOvergaard in umbraco/Umbraco-CMS#21179 * Tree Navigation: Add visual indicators for items with restricted access by @iOvergaard in umbraco/Umbraco-CMS#21365 * Recycle Bin: Adds `emptyRecycleBin` collection action kind for Documents and Media by @leekelleher in umbraco/Umbraco-CMS#21482 * Tiptap RTE: Adds link (`umbLink`) support to `styleMenu` API by @leekelleher in umbraco/Umbraco-CMS#21494 * Rollback: Add toggle for diff display (closes #18518) by @AndyButland in umbraco/Umbraco-CMS#21426 * Dictionary: Add configurable value search functionality by @Nis-Knowit in umbraco/Umbraco-CMS#21200 ### 🚤 Performance * Performance: Embeds the API of selected extra conditions by @nielslyngsoe in umbraco/Umbraco-CMS#21188 * Performance: Bundle Js Libs by @nielslyngsoe in umbraco/Umbraco-CMS#21187 * Performance: Embed Store API in Manifests to lower number of network request by @madsrasmussen in umbraco/Umbraco-CMS#21191 * Performance: Avoid database lookup in `UserIdKeyResolver` for super-user by @AndyButland in umbraco/Umbraco-CMS#21281 * Performance: Only flush ID/Key map in `ContentCacheRefresher` on content deletion by @AndyButland in umbraco/Umbraco-CMS#21283 * Performance: Optimize refresh of hybrid cache for a document by retrieving draft and published in single query by @AndyButland in umbraco/Umbraco-CMS#21407 * Backoffice Performance: Inline entry point modules to reduce JS chunk count by @madsrasmussen in umbraco/Umbraco-CMS#21380 * HybridCache: Optimize content type change cache rebuild to resolve SQL timeouts by @AndyButland in umbraco/Umbraco-CMS#21207 * Backoffice Performance: Use import maps to save requests by @nielslyngsoe in umbraco/Umbraco-CMS#21363 * Document URL Cache: Ensure URLs are rebuilt after upgrade and prevent duplicate initialization (closes #21337) by @AndyButland in umbraco/Umbraco-CMS#21379 * Performance: Fix thread safety and optimize cache updates in `PublishStatusService` after content changes by @AndyButland in umbraco/Umbraco-CMS#21415 * Tiptap RTE: Optimize `umb-input-tiptap` initialization and rendering by @leekelleher in umbraco/Umbraco-CMS#21070 * Routing: Add `DocumentUrlAliasService` for optimized URL alias lookups (closes #21383) by @AndyButland in umbraco/Umbraco-CMS#21396 * Performance: Optimize property retrieval and authorization checks in collection views (closes #21367) by @AndyButland in umbraco/Umbraco-CMS#21470 ... (truncated) ## 17.2.0-rc ## What's Changed ### 🙌 Notable Changes * User group: add description to user group (closes #14986) by @NguyenThuyLan in umbraco/Umbraco-CMS#21057 * Content Types: Root properties by @nielslyngsoe in umbraco/Umbraco-CMS#21500 ### 📦 Dependencies * Storybook: Bumps storybook from 9.0.14 to 10.1.10 by @dependabot[bot] in umbraco/Umbraco-CMS#21208 * Bump qs from 6.14.0 to 6.14.1 in /src/Umbraco.Web.UI.Client in the npm_and_yarn group across 1 directory by @dependabot[bot] in umbraco/Umbraco-CMS#21270 * Bump the npm_and_yarn group across 2 directories with 1 update by @dependabot[bot] in umbraco/Umbraco-CMS#21403 * Dependencies: Bumps login dependencies to latest by @iOvergaard in umbraco/Umbraco-CMS#21539 * Tiptap RTE: Upgraded to latest v3.x by @leekelleher in umbraco/Umbraco-CMS#21493 * Dependencies: Bumps @umbraco-ui/uui to 1.17.0-rc.4 by @iOvergaard in umbraco/Umbraco-CMS#21538 * build(deps): bumps @umbraco-ui/uui to 1.17.0-rc.5 by @iOvergaard in umbraco/Umbraco-CMS#21569 * Dependencies: Update Microsoft packages to 10.0.1 and pin vulnerable transitive dependencies (closes #21122) by @AndyButland in umbraco/Umbraco-CMS#21285 * Dependencies: Bump to latest minor/patch versions by @AndyButland in umbraco/Umbraco-CMS#21540 ### 🚀 New Features * Markdown Conversion: Remove hard dependency on deprecated library and replace with `IMarkdownToHtmlConverter` abstraction (closes #21238 and #19500) by @AndyButland in umbraco/Umbraco-CMS#21242 * UI: Refactor breadcrumb URLs to use Path Constants by @iOvergaard in umbraco/Umbraco-CMS#21179 * Tree Navigation: Add visual indicators for items with restricted access by @iOvergaard in umbraco/Umbraco-CMS#21365 * Recycle Bin: Adds `emptyRecycleBin` collection action kind for Documents and Media by @leekelleher in umbraco/Umbraco-CMS#21482 * Tiptap RTE: Adds link (`umbLink`) support to `styleMenu` API by @leekelleher in umbraco/Umbraco-CMS#21494 * Rollback: Add toggle for diff display (closes #18518) by @AndyButland in umbraco/Umbraco-CMS#21426 * Dictionary: Add configurable value search functionality by @Nis-Knowit in umbraco/Umbraco-CMS#21200 ### 🚤 Performance * Performance: Embeds the API of selected extra conditions by @nielslyngsoe in umbraco/Umbraco-CMS#21188 * Performance: Bundle Js Libs by @nielslyngsoe in umbraco/Umbraco-CMS#21187 * Performance: Embed Store API in Manifests to lower number of network request by @madsrasmussen in umbraco/Umbraco-CMS#21191 * Performance: Avoid database lookup in `UserIdKeyResolver` for super-user by @AndyButland in umbraco/Umbraco-CMS#21281 * Performance: Only flush ID/Key map in `ContentCacheRefresher` on content deletion by @AndyButland in umbraco/Umbraco-CMS#21283 * Performance: Optimize refresh of hybrid cache for a document by retrieving draft and published in single query by @AndyButland in umbraco/Umbraco-CMS#21407 * Backoffice Performance: Inline entry point modules to reduce JS chunk count by @madsrasmussen in umbraco/Umbraco-CMS#21380 * HybridCache: Optimize content type change cache rebuild to resolve SQL timeouts by @AndyButland in umbraco/Umbraco-CMS#21207 * Backoffice Performance: Use import maps to save requests by @nielslyngsoe in umbraco/Umbraco-CMS#21363 * Document URL Cache: Ensure URLs are rebuilt after upgrade and prevent duplicate initialization (closes #21337) by @AndyButland in umbraco/Umbraco-CMS#21379 * Performance: Fix thread safety and optimize cache updates in `PublishStatusService` after content changes by @AndyButland in umbraco/Umbraco-CMS#21415 * Tiptap RTE: Optimize `umb-input-tiptap` initialization and rendering by @leekelleher in umbraco/Umbraco-CMS#21070 * Routing: Add `DocumentUrlAliasService` for optimized URL alias lookups (closes #21383) by @AndyButland in umbraco/Umbraco-CMS#21396 * Performance: Optimize property retrieval and authorization checks in collection views (closes #21367) by @AndyButland in umbraco/Umbraco-CMS#21470 ### 🧪 Testing * E2E: QA Replaced unreliable Thread.Sleep(500) with a counter/gate pattern that ensures both transactions are initialized before releasing them to compete for locks by @andr317c in umbraco/Umbraco-CMS#21165 * E2E QA: Updated integration test that was missing directory setup by @andr317c in umbraco/Umbraco-CMS#21167 * E2E: QA Added acceptance tests for removing a not-found content picker by @nhudinh0309 in umbraco/Umbraco-CMS#21177 * E2E: QA Fixed failing tests for the current user profile by @nhudinh0309 in umbraco/Umbraco-CMS#21214 * Upgrade MSW from 1.3.5 to 2.12.4 by @madsrasmussen in umbraco/Umbraco-CMS#21096 * E2E: QA Added acceptance tests for rendering content with invariant blocks by @nhudinh0309 in umbraco/Umbraco-CMS#21180 * E2E: QA Added acceptance tests for content delivery API by @nhudinh0309 in umbraco/Umbraco-CMS#21095 ... (truncated) Commits viewable in [compare view](umbraco/Umbraco-CMS@release-17.1.0...release-17.2.0). </details> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This was referenced Feb 23, 2026
This was referenced Mar 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updated all backoffice entry point manifest registrations to use static imports instead of dynamic imports. This prevents Vite from creating separate chunk files for each entry point module.
To allow this to happen, the PR opens up for an additional type to be passed to the
jsproperty in the manifest. The most critical updates are in:Changes
Changed the pattern for registering
backofficeEntryPointmanifests from:To:
Impact