15.4.0-rc2
Pre-release
Pre-release
What's Changed Since 15.4.0-rc
🐛 Bug Fixes
- Scaffold content for content templates server side by @kjac in #19054
- Removes tree actions from tree selection in duplicate document dialog by @AndyButland in #19053
Full Changelog: release-15.4.0-rc...release-15.4.0-rc2
What's Changed Since The Previous Release (15.3.1)
📦 Dependencies
- build(deps-dev): bump storybook from 8.5.7 to 8.6.7 by @iOvergaard in #18727
- Bump esbuild and vite in /src/Umbraco.Web.UI.Login by @dependabot in #18690
- Bump esbuild and vite in /src/Umbraco.Web.UI.Client by @dependabot in #18739
- Bump vite from 6.2.2 to 6.2.3 in /src/Umbraco.Web.UI.Login by @dependabot in #18807
- Bump vite from 6.2.2 to 6.2.3 in /src/Umbraco.Web.UI.Client by @dependabot in #18857
- V15: bump @umbraco-ui/uui from 1.12.2 to 1.13.0 by @NguyenThuyLan in #18836
- Bump vite from 6.2.3 to 6.2.4 in /src/Umbraco.Web.UI.Login by @dependabot in #18891
- Bump vite from 6.2.3 to 6.2.4 in /src/Umbraco.Web.UI.Client by @dependabot in #18921
- Bump vite from 6.2.4 to 6.2.5 in /src/Umbraco.Web.UI.Client by @dependabot in #18943
🌈 A11Y
- Makes a few labels friendlier for screen readers by @AndyButland in #18500
- Remove the hardcoded color for the text in error message by @MrHutmat in #18463
- Fix issue text overflow when user name is too long by @NguyenThuyLan in #18587
🚀 New Features
- Tiptap RTE: Text color/background-color toolbar items by @leekelleher in #18482
- Tiptap RTE: Reusable toolbar menu component by @leekelleher in #18483
- Tiptap RTE: Stylesheets by @leekelleher in #18502
- V15: Allows certain adjustments of the logo by @iOvergaard in #18499
- V15: Adds migration of data type configuration when changing property editor UI by @iOvergaard in #18534
- Support root/area allowed types when pasting in Block Grid by @madsrasmussen in #18480
- Tiptap RTE: Character Map modal + toolbar item by @leekelleher in #18577
- Tiptap RTE: Anchor extension + toolbar item by @leekelleher in #18575
- V15: Enable umbraco-extension client to auto-build by @iOvergaard in #18597
- Allow multiple URL segments per document by @AndyButland in #18603
- Tiptap RTE: Text Indent extension + toolbar items by @leekelleher in #18672
- Tiptap RTE: Table column/row bubble menu by @leekelleher in #18708
- Tiptap RTE: Table Properties toolbar menu + modal by @leekelleher in #18751
- Feature: validation variant filtering + up-front validation path translation by @nielslyngsoe in #18561
- Add variancy information to reference response model by @Migaroez in #18645
- V15: New dropzone component available for the Backoffice by @iOvergaard in #18753
- Feature: Tree expansion state by @madsrasmussen in #18227
- Tiptap RTE: Statusbar extension type by @leekelleher in #18789
- V15: umb-dropzone extends umb-input-dropzone by @iOvergaard in #18784
- V15: Improve the dropzone for Image Cropper by @iOvergaard in #18838
- V15: Improve the dropzone for Upload Field by @iOvergaard in #18840
- V15: Dropzone single mode should only allow one file at a time by @iOvergaard in #18847
- Render Property "vary by segment"-toggle by @madsrasmussen in #18813
- V15: Upload Field should use a better file preview by @iOvergaard in #18899
- Tiptap RTE: Style Menu extension kind by @leekelleher in #18918
- Enable unsaved changes warning for modals by @nielslyngsoe in #18927
- Feature: enable get unpersisted changes (fix #18230) by @nielslyngsoe in #18929
- Data type References UI: Workspace + Delete by @madsrasmussen in #18914
- Feature: discard changes for block workspace by @nielslyngsoe in #18930
- Feature: Use uui invalid color by @nielslyngsoe in #18273
🐛 Bug Fixes
- Fixes the Fatal icon text so it's readable in Dark Mode. by @readingdancer in #18375
- Disable webhook firing if disable in configuration (13) by @AndyButland in #18383
- Adds warning to publish descendants dialog when force re-publish is selected (13) by @AndyButland in #18409
- Backport
ShowUnroutableContentWarnings
to V13 by @kjac in #18479 - V15 QA Fixing the failing acceptance tests in the nightly build by @nhudinh0309 in #18466
- Data Type: Add mandatory attribute for the property editor field by @madsrasmussen in #18488
- Document collection: align status tag colors by @madsrasmussen in #18487
- Remove Tip tap placeholder text by @madsrasmussen in #18486
- V15 QA Publish E2E test results in the Azure pipeline by @nhudinh0309 in #18498
- Localize the email property editor validation and add tests by @AndyButland in #18461
- Added obsoletion messages for unused interface and implementation for cache rebuilds by @AndyButland in #18524
- Added tests and localization to radio button validation by @AndyButland in #18512
- Changed so the the logviewer's date input is using the umb-input-date… by @MrHutmat in #18494
- Fixed grammar of unauthorized message by @AndyButland in #18553
- Set additionalOptions on the rollback entity action by @madsrasmussen in #18489
- Guard against element type mismatch at document type creation by @kjac in #18529
- Added option for filtering the content types allowed as children based on the parent node by @AndyButland in #18380
- Fixes multiple available constructors exception for execute template query constructor by @AndyButland in #18552
- V15: Workspace buttons cannot be overwritten in all cases by @iOvergaard in #18525
- V15 QA Fixing the failing acceptance tests 03032025 by @nhudinh0309 in #18549
- Feature: Content Type Workspace Editor Header Element by @madsrasmussen in #18520
- Correct handling of step values of zero by @AndyButland in #18532
- Remove version from models builder generated code header when configured to do so by @AndyButland in #18501
- Avoids collection was modified issue when flowing identities to the authenticated user's principal by @AndyButland in #18527
- Server side validation for property editors (colour picker) by @AndyButland in #18557
- Align folder entity action labels by @madsrasmussen in #18485
- Handle create and update validation for media picker by @AndyButland in #18537
- Fix issue with server validation from dictionary configuration where floating point values can be be accessed as doubles or ints by @AndyButland in #18508
- Adds unit tests for RequiredValidator by @AndyButland in #18471
- Feature: Has Children Condition by @madsrasmussen in #18161
- V15: Add MNTP serverside validation by @nikolajlauridsen in #18526
- Provide custom required validator for block list and toggle by @AndyButland in #18474
- Handle multiline statements in migrations by @AndyButland in #18478
- V15: Resolves "Save and Preview" backoffice refresh by @leekelleher in #18568
- Added uui-box around ungrouped properties during block editing by @enkelmedia in #18572
- Server side validation for property editors (drop-down and checkbox list) by @AndyButland in #18564
- Extension Registry JSDocs update by @nielslyngsoe in #18586
- [V15] Align reserved property endpoints code and usage by @kjac in #18319
- Move database cache rebuild to a background task with polling by @AndyButland in #18496
- Server side validation for property editors (multiple text strings and block list) by @AndyButland in #18581
- Added server side validation for the Multi Url Picker. by @andersreus in #18589
- Tiptap RTE: Block extension enabled/disabled checkbox state by @leekelleher in #18569
- Added missing translations for dictionary import by @AndyButland in #18551
- V15: Add textbox and text area serverside validation by @nikolajlauridsen in #18596
- V15 QA added test for issue 18555 by @andersreus in #18601
- V13: bumped imagesharp to prevent CVE-2025-27598 by @RolandKock in #18602
- Removed obsolete integration test by @AndyButland in #18604
- Added description to block list properties hide content editor by @OskarKruger in #18619
- Fixed typo in TinyMCE's da.js by @abjerner in #18628
- V15 QA Fixed the failing acceptance tests due to UI changes by @nhudinh0309 in #18617
- Adds client-side validation to Dropdown property editor by @leekelleher in #18632
- Adds client-side validation to Radio Button List property editor by @leekelleher in #18629
- Add NuGet badge by @PhyxionNL in #18583
- Use change event instead of property value change by @nielslyngsoe in #18631
- Updates sort property and direction together to avoid intermittent failures by @AndyButland in #18590
- Fix bug RTE code editor modal - pretty print not working by @NguyenThuyLan in #18633
- Prevents attempt to move an item to itself as a parent by @AndyButland in #18550
- Adds client-side validation to Checkbox List property editor by @leekelleher in #18636
- V15: Reduce the size of the package json schema by @iOvergaard in #18643
- V15: Support legacy allowPackageTelemetry option by @iOvergaard in #18644
- Corrects obsoletion message on ITwoFactorLoginService. by @AndyButland in #18623
- Reverts UI updates from publish with descendants dialog (15) by @AndyButland in #18646
- Reverts UI updates from publish with descendants dialog (13) by @AndyButland in #18647
- V15 QA reduced amount of browser downloaded on pipeline to reduce download time by @andr317c in #18642
- V15 QA added block grid with areas tests by @andr317c in #18641
- correct labels by @nielslyngsoe in #18650
- V15 QA Added acceptance tests for trash reference by by @nhudinh0309 in #18627
- Center align search icon by @nielslyngsoe in #18657
- v15: clean up unnecesary config options by @nielslyngsoe in #18648
- Fix issue text overflow when user name is too long by @NguyenThuyLan in #18653
- Content Picker: Filter out invalid entity types by @leekelleher in #18660
- Updates dependency on Examine to 3.7 by @AndyButland in #18676
- Fixes link for access to composition from document type property outside of group. by @AndyButland in #18686
- Restrict valid API user client IDs to 100 characters by @AndyButland in #18688
- V15 QA added acceptance tests for block grid variants by @andr317c in #18658
- Removes one of the two duplicate ContentPublishingNotification publishings by @AndyButland in #18702
- Added clarifying comments to the logic for granular permissions by @AndyButland in #18705
- V15 QA added Tip Tap block variant acceptance tests by @andr317c in #18668
- V15 QA added acceptance tests for block list variants by @andr317c in #18654
- V15: Extend search endpoints by @Zeegaan in #18634
- Used documented settings for the media seed cache by @AndyButland in #18723
- Adds detail of how many characters you are over when validating text fields for length by @AndyButland in #18722
- V15: Adds accepted image types for image cropper by @iOvergaard in #18715
- Fix focal point drag not working on firefox by @NguyenThuyLan in #18674
- Bugfix: Document granular user permission preset by @madsrasmussen in #18651
- V15: Change drag and drop icon by @madsrasmussen in #18519
- Bugfix: block culture permissions by @madsrasmussen in #18665
- Feature: Language Item Ref by @madsrasmussen in #18521
- Remove the showOpenButton configuration by @madsrasmussen in #18592
- Updates dashboard to use uui-box headline property/attribute & place by @warrenbuckley in #18736
- Content & Settings dashboard button look by @nielslyngsoe in #18678
- V15 QA updated nightly pipeline tests by @andr317c in #18746
- Align card sizes by @nielslyngsoe in #18760
- image cropper width height right side by @nielslyngsoe in #18759
- style adjustments for Icon Picker, make it look like another input by @nielslyngsoe in #18757
- Uses correct preview cookie same site and secure settings to allow preview mode to flow between links in the preview frame by @AndyButland in #18640
- Only validate for duplicate member email address when configured to do so by @AndyButland in #18747
- Only validate invariant properties when strictly necessary by @kjac in #18729
- Feature: validation synchronization as opt in by @nielslyngsoe in #18798
- Adjusting some of the colors for the dark theme. by @MrHutmat in #18792
- Changes for the debug tag that makes it look better in dark mode by @MrHutmat in #18791
- Fixed issue where siblings of type at route are omitted from the result by @AndyButland in #18796
- Feature: property type workspace validation context by @nielslyngsoe in #18808
- Obsolete a few unused things. by @kjac in #18814
- V15 QA Added acceptance tests for user group default configuration by @nhudinh0309 in #18800
- Clean up leftover block item data when changing element variance by @kjac in #18804
- Reduce CPU time when initiating RepositoryCacheKeys by @Henr1k80 in #18267
- Fix bug uploading an image via the Media Picker is no longer automatically selected by @NguyenThuyLan in #18667
- Avoid a hash key generation and lookup when inserting in the LockingMechanism by @Henr1k80 in #18243
- chore: lint corrections by @nielslyngsoe in #18833
- V15 Added acceptance tests for data type default configuration by @nhudinh0309 in #18740
- Populate parent key on move and copy notifications by @AndyButland in #18837
- Fixes Dropdown property-editor validation by @leekelleher in #18845
- Adds MemberTwoFactorLoginService by @AndyButland in #18810
- Fixes null reference exception triggered when configuring to hide disabled users in the backoffice by @AndyButland in #18823
- Member relation tracking by @AndyButland in #18852
- Use uui-dialog-layout for all save + publishing dialogs by @madsrasmussen in #18871
- Fix select all checkbox in scheduled publishing by @NguyenThuyLan in #18873
- Unpublish Document: Align UX of referenced items with trash and delete by @madsrasmussen in #18860
- Fix: make the deprecation discoverable from TypeScript by @nielslyngsoe in #18856
- Implement context base for a few last contexts by @nielslyngsoe in #18865
- Feature: make route setup method part of resolve component by @nielslyngsoe in #18831
- V15: Removes flaky localization tests by @iOvergaard in #18876
- V15 QA Added acceptance tests for inline editing mode by @nhudinh0309 in #18874
- Revert rather than prevent updates to sensitive properties on members without sensitive data access by @AndyButland in #18794
- Bugfix: #18473 by @nielslyngsoe in #18765
- Fix: #18707 by @nielslyngsoe in #18859
- Ensures date comparisons in schedule integration tests are made only on the datetime part to the second by @AndyButland in #18894
- Adds allow-same-origin to preview IFRAME by @AndyButland in #18895
- Adds webp to mime type map to support preview on upload file property by @AndyButland in #18863
- Updates telemetry dashboard UI by @warrenbuckley in #18743
- Use StringComparison.Ordinal in hot paths by @enkelmedia in #18893
- Add in a VSCode .code-workspace file by @warrenbuckley in #18741
- Check for NRT directory when populating LuceneIndexFolder for Examine Dashboard by @Jeavon in #18511
- V15: File upload should use better Image & SVG preview by @iOvergaard in #18900
- V15: Block package should not import from itself by @iOvergaard in #18902
- Only prevent the unpublish or delete of a related item when configured to do so if it is related as a child, not as a parent by @AndyButland in #18886
- Feature: highlight invariant doc with variant blocks is unsupported by @nielslyngsoe in #18806
- Fix pagination for users restricted by start nodes by @kjac in #18907
- Fix issue preventing blueprint derived values from being scaffolded by @AndyButland in #18917
- Remove admin permission on user configuration, allowing users with user section access only to manage users and groups by @AndyButland in #18848
- Ensure has children reflects only items with folder children when folders only are queried. by @AndyButland in #18790
- Only apply validation on content update to variant cultures where the editor has permission for the culture by @AndyButland in #18778
- Adds ancestor identifiers on document tree and collection responses by @AndyButland in #18909
- Move publish with descendants to a background task with polling by @AndyButland in #18497
- Clear roots before rebuilding navigation dictionary by @AndyButland in #18766
- Fixes save of empty, invariant block list on variant content by @AndyButland in #18932
- Added management API endpoint, service and repository for retrieval of references from the recycle bin by @AndyButland in #18882
- Updated management API endpoint and model for data type references to align with that used for documents, media etc. by @AndyButland in #18905
- Look-up redirect in content finder for multi-lingual sites using path and legacy route prefixed with the integer ID of the node with domains defined by @AndyButland in #18763
- Add raw value validation to multiple text strings property editor by @kjac in #18936
- Integration tests for content publishing with ancestor unpublished by @AndyButland in #18941
- V15/fix/18595 by @Welander1994 in #18925
- Avoid unneeded Dictionary operations by @Henr1k80 in #18890
- Avoid some heap allocations by @Henr1k80 in #18888
- Remove unneeded double seek by @Henr1k80 in #18896
- Avoid allocating new empty arrays, reuse existing empty array by @Henr1k80 in #18884
- Avoid allocating strings for parsing comma separated int values by @Henr1k80 in #18199
- fix 18367 by @nielslyngsoe in #18956
- V15 QA Fixing the failing media acceptance tests by @nhudinh0309 in #18881
- V15 QA added clipboard test for not being able to copy to root when block is not allowed at root by @andr317c in #18937
umb-localize
encode HTML arguments by @leekelleher in #18960- Amend root content routing and ensure trailing slashes as configured by @kjac in #18958
- Allow save of empty translations for dictionary items by @AndyButland in #18980
- V15: User password resetting notification by @Zeegaan in #18679
- Fixes label of enable/prevent clean up button after update by @AndyButland in #18946
- Aggregate document permissions for current user in API response by @AndyButland in #18721
- Document permission inheritance in UI by @madsrasmussen in #18935
- hotfix: Make sure only to prepend relative URLs by @nielslyngsoe in #18998
- Ensure dates read from the database are treated as local when constructing entities (2) by @AndyButland in #19013
- Treat content schedule dates as UTC by @kjac in #19028
New Contributors
- @RolandKock made their first contribution in #18602
Full Changelog: release-15.3.1...release-15.4.0-rc