17.5.0-rc
Pre-release
Pre-release
·
588 commits
to main
since this release
What's Changed
🙌 Notable Changes
- SignalR: Add configurable transport settings for load-balanced deployments without sticky sessions by @Migaroez in #22700
- Performance: Fix bottleneck when a Tiptap editor appears on a document by @iOvergaard in #22995
📦 Dependencies
- Bump the npm_and_yarn group across 3 directories with 3 updates by @dependabot[bot] in #22578
- Bump lodash from 4.17.21 to 4.18.1 in /src/Umbraco.Web.UI.Client by @dependabot[bot] in #22723
- build(deps): bumps @umbraco-ui/uui to 1.18.0 by @iOvergaard in #23035
🚀 New Features
- Current User: Adds Current User workspace modal by @NguyenThuyLan in #22268
- Redirect Url Management: Implement workspace by @Zeegaan in #22624
- Blocks: Adds
blockActionextension type by @leekelleher in #22459 - Collection: Add table kind collection view by @madsrasmussen in #22163
- Backoffice: Introduce Value Type and Value Summary extensions by @madsrasmussen in #22481
- Property Editor UI Picker: Implement fuzzy search by @nielslyngsoe in #22468
- Dashboard: Browser title + Hints by @nielslyngsoe in #22517
- Content Workspace: Add variant sync when switching app culture (closes #16853) by @engijlr in #22566
- Rich Text Editor: Mark as supports read only by @nielslyngsoe in #22600
- Content Rollback: Add notification message meta property by @leekelleher in #22631
🚤 Performance
- Children/Descendants: improve traversal performance (closes #22646) by @AndyButland in #22742
- Performance: Coalesce JavaScript chunks around the Backoffice to reduce the number of requests by @iOvergaard in #22896
- Performance: Embed implementations directly in core manifests to reduce startup network requests by @madsrasmussen in #22944
- Performance: Embed package root manifests into umbraco-package.ts to reduce startup requests by @madsrasmussen in #22957
🌈 Accessibility Improvements
- Accessibility: Added missing labels to number fields in the settings tab by @andreaslborg in #22667
- Accessibility: Added missing labels to add property and create new collection by @andreaslborg in #22701
- Image Cropper: Improve contrast of append label in crop options editor (closes #22878) by @andreaslborg in #22917
🐛 Bug Fixes
- fix(installer-user): added min length message for installer user elem… by @Yinzy00 in #21829
- Handle "broken" ancestor publish path in legacy routing by @kjac in #22586
- Segments: Preserve segmented property values after save (closes #22166) by @AndyButland in #22173
- Health Check: Add check for untrusted database constraints on SQL Server by @AndyButland in #22592
- Variant-Selector: improve visual alignment for segments by @nielslyngsoe in #22605
- Link picker: Added swedish translations for link picker (closes #22542) by @andreaslborg in #22596
- Public Access: Honour custom
IMemberGroupServicein backoffice dialog (closes #22580) by @AndyButland in #22588 - Migrations: Align type attribute casing in locallink migration for integer-based legacy links (closes #22597) by @AndyButland in #22599
- Docker Compose template: Improve secrets handling and add script to trust development certificates by @nikolajlauridsen in #22613
- Migrations: Fix raw SQL with
ISqlSyntaxProvidertable and column quoting (closes #22603) by @idseefeld in #22604 - Repositories: Quote table and column names in raw SQL in
MemberFilterRepository(closes #22615) by @idseefeld in #22616 - Current User: Reload when the current user or their groups change by @madsrasmussen in #22623
- Current User: Fix reload not fetching fresh data when entity events fire by @madsrasmussen in #22719
- bug(#22607) Add Directory.Packages.props and update restore command by @lucky5th in #22608
- Revert fix for making block editors read-only in trashed documents which causes a regression in certain multi-lingual block editing scenarios (closes #22472, re-opens #21973) by @nielslyngsoe in #22656
- Redirect Tracker: Prevent creation of redirects from unrouteable URLs (closes #22652, #22256) by @AndyButland in #22657
- Cache: Do not assume "published" when unpublishing a single culture by @kjac in #22662
- Ensure published querying parity between V13 and V17 by @kjac in #22622
- Media: Record the trashing user against the History audit entry (closes #22661) by @AndyButland in #22668
- Localization: Use invariant culture when parsing node paths (closes #22610) by @AndyButland in #22625
- Routing: Ensure
IPublishedContent.UrlSegmentrespectsumbracoUrlName(closes #22655) by @AndyButland in #22663 - Document Type Workspace: Hide non-applicable settings when Document Type is configured as Element Type by @engijlr in #22388
- Blueprints: Fix intermittent blank workspace when creating documents from blueprints (closes #21996) by @AndyButland in #22422
- Document picker: show ancestor breadcrumb path in document picker search results (closes #22645) by @andreaslborg in #22649
- User management: Improved error message when deleting active user (closes #22669) by @NillasKA in #22687
- Validation: fix data lookup mismatch for JSON Path Queries by @nielslyngsoe in #22609
- Tags: Close suggestion dropdown on blur and escape (closes #22636) by @andreaslborg in #22650
- Caching: Invalidate published content type cache for element types by @AndyButland in #22704
- Languages: Sort the global content language selector (closes #22628) by @AndyButland in #22711
- Radio button list: Not saving value on keyboard navigation (closes #22698) by @andreaslborg in #22699
- File-system Services: Complete child scopes on read-miss and validation-failure paths by @AndyButland in #22717
- Backoffice: Add localize.htmlString() helper to prevent XSS in HTML-rendered translations by @iOvergaard in #22731
- Dictionary: Order SQL before
FetchOneToManyto prevent duplicate items in collection view (closes #22640) by @AndyButland in #22750 - Color Picker: Refresh stored label when data type label changes (closes #22741) by @AndyButland in #22761
- Entity Data Picker: Fix "Not Found" in remove dialog for entities without a top-level name by @madsrasmussen in #22915
- Collections: Replace direct filter pass-through in collection server data sources by @madsrasmussen in #22921
- Workspace Actions: Restore waiting state for buttons with additional options (closes #18670, #20593) by @iOvergaard in #22554
- Tiptap RTE: Ignore no-op transactions in onUpdate to prevent phantom dirty state (closes #22767) by @AndyButland in #22781
- Distributed background jobs: Improve gracefull shutdown behaviour by @Migaroez in #22796
- Content: Ensure correct variant change tracking when unpublishing variant content by @kjac in #22799
- Sort Children: Show loading state on Sort button (closes #22651) by @AndyButland in #22813
- SignalR: Mark
ServerEventSenderas a distributed cache notification handler by @ronaldbarendse in #22818 - Localization: Honor DefaultUILanguage on initial load (closes #22808) by @iOvergaard in #22822
- Core: Preserve path case in ShadowFileSystem by @nul800sebastiaan in #22838
- Content Editing: Fix save composition values on invariant content and save of default segment (closes #22800, #22865) by @AndyButland in #22846
- Blueprints: Fix UdiEntityTypeHelper.ToUmbracoObjectType() for document blueprint containers by @ronaldbarendse in #22875
- Reset password: Add inline validation messaging for password pattern requirements (closes #21255) by @NguyenThuyLan in #22880
- Block Grid: Fix inline create button width not updating on workspace resize (closes #22527) by @engijlr in #22928
- Migrations: Append data-anchor value to href when missing in local link migration (closes #22860) by @AndyButland in #22936
- Migrations: Convert all sibling RTE blocks (closes #22979) by @AndyButland in #22980
- Background Jobs: Resolve server role so recurring jobs run when no application URL is configured by @AndyButland in #23033
🧪 Testing
- Integration tests: Tolerate deadlocks in concurrent external login test by @AndyButland in #22583
- E2E: QA: fixed outdated acceptance tests to match frontend changes by @andr317c in #22590
- E2E: QA Added acceptance tests for audit trail in content by @nhudinh0309 in #22479
- E2E: QA Added acceptance tests for backoffice login, logout and reset password by @nhudinh0309 in #22635
- Backoffice QA: Add client-side tests for Webhook item, detail and collection repositories by @madsrasmussen in #22524
- Document Workspace: Add CRUD and property value tests for document workspace context by @madsrasmussen in #22621
- E2E: QA: add acceptance tests for content versioning by @andr317c in #22702
- E2E: QA: Add .prettierrc.json to acceptance tests for formatting consistency by @andr317c in #22751
🛡️ Code Quality, Documentation and Refactoring
- Add a constant for the "unroutable content" route by @kjac in #22593
- Member surface controllers: Add XML documentation and unit test coverage by @AndyButland in #22584
- HttpClients: Deprecate unused
HttpClientregistered with certificate validation bypass by @NguyenThuyLan in #22684 - Code Quality: Add
ModelStatevalidation toBackOfficeLoginControllerby @NguyenThuyLan in #22681 - Claude MD: Code Comments by @nielslyngsoe in #22690
- MD: improve knowledge on get vs consume context by @nielslyngsoe in #22676
- State System: more tests, MD updates and a tiny bit more consistency by @nielslyngsoe in #22673
- MD files for Design knowledge by @nielslyngsoe in #22725
- Documents: Alias
DocumentVariantStateModelAPI model for backoffice client by @leekelleher in #22716 - User Permission: Re-export fallback condition config type and global augmentation by @ronaldbarendse in #22794
- Backoffice: Swap relative imports to @umbraco-cms/backoffice module imports in core packages by @madsrasmussen in #22942
- Background Jobs: Rewrite
RecurringHostedServiceBasewithSemaphoreSlimand add signalling support by @ronaldbarendse in #22331 - Background Jobs: Refine RecurringBackgroundJobBase API by @ronaldbarendse in #22966
🧑💻 Developer Experience
- Developer Experience: Improve cohost editor polyfill to work with dotnet watch (closes #22773) by @Migaroez in #22999
- Icons: developer icon manager by @nielslyngsoe in #22437
- Backoffice Mocks: Derive user language access from user groups by @madsrasmussen in #22721
New Contributors
Full Changelog: release-17.4.2...release-17.5.0-rc