What's Changed since 18.0.0-beta2
🚀 New Features
- Backoffice: Coalesce small Rollup chunks across all workspaces (AB#67983) by @iOvergaard in #22896
- Backoffice: Swap relative imports to @umbraco-cms/backoffice module imports in core packages by @madsrasmussen in #22942
- Backoffice: Embed package root manifests into umbraco-package.ts to reduce startup requests by @madsrasmussen in #22957
- Backoffice: Embed implementations directly in core manifests to reduce startup network requests by @madsrasmussen in #22944
- Tiptap: Load enabled extensions in parallel and inline manifest APIs by @iOvergaard in #22995
🏠 Internal
- Test: adds 'mocha' and 'chai' as types for tsconfig by @iOvergaard in #22889
🐛 Bug Fixes
- Backoffice: Add localize.htmlString() helper to prevent XSS in HTML-rendered translations by @iOvergaard in #22731
- Auth: Un-deprecate getLatestToken and route per-request fetches through it by @iOvergaard in #22736
- Color Picker: Refresh stored label when data type label changes (closes #22741) by @AndyButland in #22761
- Core: Preserve path case in ShadowFileSystem by @nul800sebastiaan in #22838
- Elements: Fix GetUdi() extension methods for Element entities by @ronaldbarendse in #22873
- Elements: Fix UdiEntityTypeHelper.ToUmbracoObjectType() for Element entities by @ronaldbarendse in #22874
- Blueprints: Fix UdiEntityTypeHelper.ToUmbracoObjectType() for document blueprint containers by @ronaldbarendse in #22875
- Localization: Honor DefaultUILanguage on initial load (closes #22808) by @iOvergaard in #22822
- Children/Descendants: improve traversal performance (closes #22646) by @AndyButland in #22742
- Content Editing: Fix save composition values on invariant content and save of default segment (closes #22800, #22865) by @AndyButland in #22846
- Extension template: Use backoffice JSON options and other fixes by @lauraneto in #22885
- Collections: Replace direct filter pass-through in collection server data sources by @madsrasmussen in #22921
- Entity Data Picker: Fix "Not Found" in remove dialog for entities without a top-level name by @madsrasmussen in #22915
- Global Elements: Workspace hotfix for 'Unique is missing' warning by @leekelleher in #22935
- Cache: Invalidate element GUID-keyed cache on delete (closes #22911) by @AndyButland in #22940
- Element Picker: fixes "Not Found" name on removal prompt by @leekelleher in #22922
- Global Elements: Trashed item restore, checks "Move" permission by @leekelleher in #22925
- Reset password: Add inline validation messaging for password pattern requirements by @NguyenThuyLan in #22880
- Block Grid: Fix inline create button width not updating on workspace resize (closes #22527) by @engijlr in #22928
- Image Cropper: Improve contrast of append label in crop options editor (closes #22878) by @andreaslborg in #22917
- Background Jobs: Rewrite RecurringHostedServiceBase with SemaphoreSlim and add signalling support by @ronaldbarendse in #22331
- Workspace Actions: Restore waiting state for buttons with additional options (closes #18670, #20593) by @iOvergaard in #22554
- Background Jobs: Refine RecurringBackgroundJobBase API by @ronaldbarendse in #22966
- Content Editor: Fix workspace footer breadcrumb overflow hiding (closes #20132) by @engijlr in #22323
Full Changelog: release-18.0.0-beta2...release-18.0.0-rc1