What's Changed
π Notable Changes
- Use UTC for system dates in Umbraco by @AndyButland in #19822
- Models builder: Move InMemoryAuto models builder and razor runtime compilation into its own package to enable hot reload by @nikolajlauridsen in #20187
- Property Editors: New Date Time property editors by @lauraneto in #19915
- Serverside generated preview URLs by @kjac in #20021
- Load balancing: Load balance isolated caches to allow the backoffice to be load balanced by @nikolajlauridsen in #20417
π₯ Breaking Changes
- Clean up extension methods by @ronaldbarendse in #17051
- Bugfixes/v17/19341 models builder generates different types for color picker value by @idseefeld in #19430
- Audit entries rework by @lauraneto in #19345
- Update the existing date/time property editor to provide a kind of unspecified by @lauraneto in #19727
- Use audit service instead of repository directly in services by @lauraneto in #19357
- Fix nullability of return types that can be non-null by @IvovdBruggen in #15927
- Changed methods in ServiceCollectionExtensions to return IServiceCollection instead of void by @DevAndersen in #19785
- V17 - Properties and validators, removing obsoleted code by @NillasKA in #19961
- V17: Moves current-user related entities from 'user' to 'current-user' package by @iOvergaard in #20125
- Dependencies: Updates to .NET 10 RC and NPoco 6.1 by @AndyButland in #20184
- Repositories: Quote table and columns and use NPoco extensions over raw SQL by @idseefeld in #20034
- Tiptap: Relocation of external extensions/package by @leekelleher in #20256
- Unattended install: Added the ability to set the telemetry level by @KaasKop97 in #20249
- Segments: Property level default segment fallback by @kjac in #20309
- Deprecations: Client-side removal of v17 deprecated code by @leekelleher in #20294
- Segmentation: The Backoffice should use the enhanced endpoint to fetch segment options for documents based on GUID by @iOvergaard in #20340
- SectionSidebarContextMenu: Delete element and methods for interaction by @madsrasmussen in #20399
- Dependencies: Update server dependencies by @lauraneto in #20385
- Refactors backoffice sections with default element and context API by @leekelleher in #20305
- Member type container in management API by @bjarnef in #16914
- Load Balancing: Implement distributed background jobs by @Zeegaan in #20397
- Property Editor Data Source by @madsrasmussen in #20375
π¦ Dependencies
- Bump tar-fs from 3.1.0 to 3.1.1 in /src/Umbraco.Web.UI.Client by @dependabot[bot] in #20260
- Tiptap RTE: Upgrade to Tiptap v3 by @leekelleher in #20318
- Dependencies: Updates all npm dependencies for Client, Login, and UmbracoExtension by @iOvergaard in #20386
- build(deps): bumps @umbraco-ui/uui from 1.15.0 to 1.16.0-rc.0 by @iOvergaard in #20402
π Accessibility Improvements
- Login form: Improves accessibility by removing duplicate label and aria-label by @MrHutmat in #20232
- Add accessibility label for splitview divider by @OskarKruger in #20380
- Announce newest notification using live region by @engijlr in #19979
π New Features
- Add more icons correct Content Type Designer Icons by @nielslyngsoe in #20252
- Segments: Auto unfold the culture variant in non-culture-variant mode by @nielslyngsoe in #20189
- Loader bar: Implement loader for Content Workspaces by @nielslyngsoe in #20288
- Models Builder: Make Models Builder better at not performing "rude edits" by @kjac in #20394
- Segments: Adds deprecation notices to
AllowNonExistingSegmentsCreation
by @iOvergaard in #20413 - Collection: hide children of collection until active child by @nielslyngsoe in #20392
- Backoffice: Add Entity Signs (overlay icons) to tree items. by @engijlr in #20328
- Permissions: Added User fallback permission condition (closes #20097) by @madsrasmussen in #20224
π Bug Fixes
- Bugfixes/v17/19341 description update models builder generates different types for color picker value by @idseefeld in #19436
- Audit service rework by @lauraneto in #19346
- Use new submit and poll solution for examine index rebuild by @lauraneto in #19707
- Support persistence of unrestricted selections from the check box list by @AndyButland in #19856
- V17 - Removed obsoleted code from Umbraco.Extension by @NillasKA in #19937
- V17 - Removed obsoleted code from Umbraco.Examine by @NillasKA in #19966
- V17 - Removed obsoleted code from Umbraco.Infrastructure by @NillasKA in #19977
- V17 - Removed obsoleted code from Cms.Api by @NillasKA in #19963
- V17 - Removing obsoleted code from Umbraco.Web by @NillasKA in #19983
- V17 - Content Finder unit tests cleanup by @NillasKA in #19989
- V17 - Removed obsoleted code from Umbraco.Cms.Core.Cache & .Routing by @NillasKA in #19959
- V17 - Removing obsoleted code from Umbraco.Core by @NillasKA in #20009
- V17: Update to dotnet 10 by @nikolajlauridsen in #20007
- Repositories: Introduce and use NPoco and custom extension methods for SQL syntax in ContentTypeRepositoryBase by @idseefeld in #19986
- Feature: single block property editor by @Migaroez in #20098
- Section Sidebar Menu: Auto expand to paginated tree items (closes #17074) by @madsrasmussen in #19883
- UTC data migration doesn't work in Linux (closes #20002) by @lauraneto in #20112
- Test Data: Fixing endpoint not working #20044 by @NillasKA in #20227
- Tiptap: QA Added acceptance tests for regression issue #19763 by @andr317c in #20226
- UX: Make approved colour picker remove button consistent with other multi value item remove buttons by @bjarnef in #20257
- Localization/UX: Add a new general translation for "Fields" by @bjarnef in #20259
- Update Readme to signpost the Forum by @OwainWilliams in #20268
- QA Skip the known failing smoke test to avoid blocking other PRs by @nhudinh0309 in #20269
- Adding SourceWidth and SourceHeight to ImageUrlGenerationOptions by @Jeavon in #14499
- UX: Add slightly more padding at top so user card outline is not cutoff by @bjarnef in #20258
- NuGet vulnerability warnings: Warn in non-Release mode, Error in non-Release mode by @emmagarland in #17244
- AllowEditInvariantFromNonDefault : Fix property write guard to use correct variant ID (closes #20250) by @madsrasmussen in #20277
- Temp/layout header top custom property by @floede in #20080
- Micro-optimization: Move compilation of some Regex generation to compile time instead of runtime, make some static ones compiled by @Henr1k80 in #20287
- E2E nightly pipeline: QA Fix failing acceptance tests for invalid cases by @nhudinh0309 in #20289
- Media Workspace Path: add parent path to support absolute path generation by @nielslyngsoe in #20302
- Models:
PropertyType
constructor sets theDataTypeKey
ifIDataType
has identity by @psot in #20301 - Log Viewer: Fixes continuous polling (closes #20274) by @leekelleher in #20310
- Localization: Fixed message in block group delete confirm modal (closes #20308) by @bjarnef in #20312
- Migrations: Create missing tabs on content types when referenced by both composition and content type groups (closes #20058) by @lauraneto in #20303
- Extend logging (add delay and period) by @erikjanwestendorp in #20333
- UX: Removed the dot "." in front of the jpg file extension example by @andersreus in #20334
- Refactoring: Add extension method for retrieval of language ISO codes if that's all we need by @AndyButland in #20324
- Media: Prevent svg image to extend outside the editor bounds by @ardelean94 in #20346
- Exception handling: Improve error messaging on invalid
umbraco-package.json
file by @AndyButland in #20332 - Handle vary by segment variant-entires by @nielslyngsoe in #20191
- Data Type: Improve missing property editor and property editor UI feedback by @lauraneto in #20339
- Caching: Fixes regression of the caching of null representations for missing dictionary items (closes #20336 for 16) by @AndyButland in #20349
- Switch container to use SQL 2022 instead of SQL Edge by @CarlSargunar in #17262
- Color Picker: Set initial hex value for picker (closes #20326) by @bjarnef in #20357
- Color Picker: Styling for drag handle at swatch items by @bjarnef in #20360
- Localization: Added translations for area validation property labels by @bjarnef in #20362
- E2E Pipeline: QA Remove continue on error condition by @andr317c in #20365
- Segments: The experience of working with Segments and Segmented Blocks by @nielslyngsoe in #20358
- Shared status: improve for segmented scenario by @nielslyngsoe in #20354
- Change to layout of default Content area dashboard by @dalyUSN in #20355
- Block Grid: Add icon to allowed block types in area by @bjarnef in #20364
- E2E Pipeline: QA Remove continue on error condition by @andr317c in #20371
- Management API: Use EndpointMetadata to check for MapToApiAttribute at runtime to include Controller in Swagger document by @mdubbelv in #20144
- Block Grid: Add more spacing in combobox group header by @bjarnef in #20373
- Block Grid: Add a bit more spacing and align button in block grid areas config by @bjarnef in #20374
- Slider: improved value fallback handling + validation by @nielslyngsoe in #20228
- Entity-Action Bundle: Ensure First Action are updated in rendering by @nielslyngsoe in #20351
- Extension Registry: QA Added acceptance tests for readOnlyGuards rule, entity action and custom property editor by @nhudinh0309 in #19939
- Content: QA Add acceptance tests for regression issue #17735 by @nhudinh0309 in #20330
- Value Presets: also run value presets on load by @nielslyngsoe in #20239
- Block Grid: Configure minimum one column for areas by @bjarnef in #20363
- Block Grid: Styling of group drag with handle by @bjarnef in #20361
- Hybrid cache: Check for
ContentCacheNode
instead of object on exists for hybrid cache to ensure correct deserialization (closes #20352) by @AndyButland in #20383 - Delivery API: QA Add acceptance test for media delivery api by @nhudinh0309 in #20182
- Nightly E2E test pipeline: QA Run E2E tests on v17/dev and enable the different setting app tests by default by @nhudinh0309 in #20379
- User Profile: QA Add acceptance tests for the regression issue #18084 by @nhudinh0309 in #20329
- Collections: Stop opening items in modals by @nielslyngsoe in #20384
- UFM: Fixes the truncate filter to only add ellipsis when text is actually truncated (closes #20395) by @Copilot in #20396
- Tree: Minimalistic styles for load more by @nielslyngsoe in #20376
- Repositories: Retrieve users for groups in batches to fix
UserService.GetAllInGroup
failing on too many users in a group by @piers-taylor-1994 in #20298 - Performance: Added request cache to media type retrieval in media picker validation by @AndyButland in #20405
- Icon Picker: Deselect current icon & add βNo iconβ tile inside the modal. by @engijlr in #20342
- V16/bug/20035 validation context uncaught promise by @enkelmedia in #20036
- Single Block property editor by @nielslyngsoe in #20414
- Content Workspace: Invariant Breadcrumbs does not work (fix #20423) by @nielslyngsoe in #20428
- Adjust styling for inherited content type property by @bjarnef in #20261
- Block Workspace: dynamic headline & browser title by @nielslyngsoe in #20424
- Content Type Designer: Fix moving a group to an inherited tab by @nielslyngsoe in #20138
- Modals: Make Create Actions open a Dialogs by @nielslyngsoe in #20489
- Auhorization: Cherrypicked integration tests from V15 by @andr317c in #20492
New Contributors
- @IvovdBruggen made their first contribution in #15927
- @DevAndersen made their first contribution in #19785
- @floede made their first contribution in #20080
- @KaasKop97 made their first contribution in #20249
- @psot made their first contribution in #20301
- @ardelean94 made their first contribution in #20346
- @mdubbelv made their first contribution in #20144
Full Changelog: release-16.3.0-rc4...release-17.0.0-beta