Skip to content

V16: Siblings endpoints#19657

Merged
Migaroez merged 19 commits intomainfrom
v16/feature/siblings-endpoint
Jul 7, 2025
Merged

V16: Siblings endpoints#19657
Migaroez merged 19 commits intomainfrom
v16/feature/siblings-endpoint

Conversation

@nikolajlauridsen
Copy link
Contributor

Add siblings endpoints for all "umbracoNode" entities which allows for cursor based pagination

  • Document
  • Document types
  • Document Blueprint
  • Media
  • Media types
  • Data types
  • Template

Testing

Ensure that each enpoint returns:

  • The target item
  • X amount before
  • X amount after

Copilot AI review requested due to automatic review settings July 3, 2025 08:06
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Adds cursor-based “siblings” endpoints for all Umbraco node types by implementing a new GetSiblings method in the repository, wiring it through the service layer, and exposing it via controller endpoints.

  • Implements GetSiblings in EntityRepository using SQL window functions.
  • Extends IEntityService/EntityService with a GetSiblings method and a default interface stub.
  • Adds controller classes under each tree folder to expose the new siblings endpoint.

Reviewed Changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/Umbraco.Infrastructure/Persistence/Repositories/Implement/EntityRepository.cs Adds GetSiblings, a PerformGetAll overload, and SQL-building logic.
src/Umbraco.Infrastructure/Persistence/NPocoSqlExtensions.cs Introduces an AppendSubQuery extension for NPoco.
src/Umbraco.Core/Services/IEntityService.cs Declares GetSiblings in the service interface.
src/Umbraco.Core/Services/EntityService.cs Implements GetSiblings in the service.
src/Umbraco.Core/Persistence/Repositories/IEntityRepository.cs Adds the GetSiblings signature to the repository interface.
src/Umbraco.Cms.Api.Management/Controllers/**/Siblings*TreeController.cs (multiple) Adds new controller endpoints for siblings per entity type.
Comments suppressed due to low confidence (3)

src/Umbraco.Infrastructure/Persistence/Repositories/Implement/EntityRepository.cs:148

  • No tests have been added for the new GetSiblings method. Consider adding unit or integration tests to cover cursor‐based pagination and edge cases (e.g., no siblings, fewer siblings than requested).
    public IEnumerable<IEntitySlim> GetSiblings(Guid objectType, Guid targetKey, int before, int after, Ordering ordering)

src/Umbraco.Infrastructure/Persistence/Repositories/Implement/EntityRepository.cs:198

  • The statement return []; is invalid C# syntax. You can return an empty sequence with Enumerable.Empty<IEntitySlim>() or new IEntitySlim[0].
            return [];

src/Umbraco.Core/Services/IEntityService.cs:178

  • Default implementation using => []; is invalid. Use => Enumerable.Empty<IEntitySlim>() to return an empty sequence.
        Ordering? ordering = null) => [];

@nikolajlauridsen nikolajlauridsen requested a review from Migaroez July 3, 2025 10:59
Copy link
Contributor

@Migaroez Migaroez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code review completed: Pushed some changes for minor tweaks and left a comment for unit test rework.

Copy link
Contributor

@Migaroez Migaroez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Functional Review complete: Works as described.

Wondering whether we should be exposing the ordering mechanic upto the endpoints so people can order by name/createdate and so on. Might be something handy for the Orchestration project?

@Migaroez Migaroez enabled auto-merge (squash) July 7, 2025 12:28
@nikolajlauridsen
Copy link
Contributor Author

Wondering whether we should be exposing the ordering mechanic upto the endpoints so people can order by name/createdate and so on. Might be something handy for the Orchestration project?

I chose to align it with the existing Children endpoints, which don't expose the order either. Additionally, I feel it might be a bit beyond what the endpoint is really for, since it is tied to "our" trees and how we've decided they should function, for instance, that the content type tree is not orderable (it doesn't respect sort order).

Currently, you would have to create your own "tree" by extending the XTreeControllerBase and changing the ItemOrdering property.

However, I think you raise an excellent point. Come to think of it, in reality, how your tree should be ordered is very much a frontend concern, and should be controlled by the frontend. However, I think this should a general thing across all tree endpoints, not just the siblings one, so I'd rather have consistency, and leave it out for now, and then create a set of V2 tree endpoints which puts the ordering of trees in the hand of the frontend. Definetely something to bring up with the team.

TL;DR: I like your idea, I think you're right, but I think we should do this consistently across all tree endpoints in a V2 endpoint.

@Migaroez
Copy link
Contributor

Migaroez commented Jul 7, 2025

Wondering whether we should be exposing the ordering mechanic upto the endpoints so people can order by name/createdate and so on. Might be something handy for the Orchestration project?

I chose to align it with the existing Children endpoints, which don't expose the order either. Additionally, I feel it might be a bit beyond what the endpoint is really for, since it is tied to "our" trees and how we've decided they should function, for instance, that the content type tree is not orderable (it doesn't respect sort order).

Currently, you would have to create your own "tree" by extending the XTreeControllerBase and changing the ItemOrdering property.

However, I think you raise an excellent point. Come to think of it, in reality, how your tree should be ordered is very much a frontend concern, and should be controlled by the frontend. However, I think this should a general thing across all tree endpoints, not just the siblings one, so I'd rather have consistency, and leave it out for now, and then create a set of V2 tree endpoints which puts the ordering of trees in the hand of the frontend. Definetely something to bring up with the team.

TL;DR: I like your idea, I think you're right, but I think we should do this consistently across all tree endpoints in a V2 endpoint.

Can you add some tasks to the internal backlog so this can be considered for the future?

alexsee pushed a commit to alexsee/umbraco-container that referenced this pull request Sep 8, 2025
Updated [Umbraco.Cms](https://github.com/umbraco/Umbraco-CMS) from
16.1.1 to 16.2.0.

<details>
<summary>Release notes</summary>

_Sourced from [Umbraco.Cms's
releases](https://github.com/umbraco/Umbraco-CMS/releases)._

## 16.2.0

<!-- Release notes generated using configuration in .github/release.yml
at release-16.2.0 -->

## What's Changed
### 🙌 Notable Changes
* UFM: JavaScript-like Expressions by @​leekelleher in
umbraco/Umbraco-CMS#19685
* Make logging more friendly for docker by @​Migaroez in
umbraco/Umbraco-CMS#19818
* Adds abstraction around boot time checks for database availability by
@​AndyButland in umbraco/Umbraco-CMS#19848
* Optimize document and media seeding by looking up from database in
batches by @​AndyButland in
umbraco/Umbraco-CMS#19890
* Added configuration option UseStrictDomainMatching, which allows
control over whether content is routed without a matching domain by
@​AndyButland in umbraco/Umbraco-CMS#19815
### 📦 Dependencies
* Bump linkifyjs from 4.3.1 to 4.3.2 in /src/Umbraco.Web.UI.Login by
@​dependabot[bot] in umbraco/Umbraco-CMS#19819
* Tiptap RTE: Upgraded to latest v2.x by @​leekelleher in
umbraco/Umbraco-CMS#19869
* build(deps): bump @​umbraco-ui/uui to 1.15.0 by @​iOvergaard in
umbraco/Umbraco-CMS#19981
### 🚀 New Features
* V16: Siblings endpoints by @​nikolajlauridsen in
umbraco/Umbraco-CMS#19657
* UFM: Adds `markedExtension` extension-type by @​leekelleher in
umbraco/Umbraco-CMS#19684
* UFM: Make Block Settings data available by @​leekelleher in
umbraco/Umbraco-CMS#19686
* Adds background worker to check timeout state by @​iOvergaard in
umbraco/Umbraco-CMS#19702
* V16: Build Backoffice externals with Vite by @​iOvergaard in
umbraco/Umbraco-CMS#19716
* Tiptap RTE: Custom CSS Variables for min/max height/width by
@​leekelleher in umbraco/Umbraco-CMS#19841
* Provides an abstraction for creating the JavaScriptEncoder used in
SystemTextConfigurationEditorJsonSerializer by @​AndyButland in
umbraco/Umbraco-CMS#19849
* Tiptap RTE: Refactor Table menus to use `menu` extension-type by
@​leekelleher in umbraco/Umbraco-CMS#19789
### 🐛 Bug Fixes
* Amend accessibility modifiers on file upload property editor
components to support extension by @​PeterKvayt in
umbraco/Umbraco-CMS#19643
* Docs: Tree example by @​madsrasmussen in
umbraco/Umbraco-CMS#19624
* Hide Document/Media Collection Workspace View until the item is
created by @​madsrasmussen in
umbraco/Umbraco-CMS#19644
* Title returns "Server Error" in non-debug mode by @​PeterKvayt in
umbraco/Umbraco-CMS#19665
* Fix issue with preview in delivery API for MNTP property editor by
@​AndyButland in umbraco/Umbraco-CMS#19668
* Adds support for custom granular permissions when aggregating across
user groups by @​AndyButland in
umbraco/Umbraco-CMS#19660
* Fixes issues with creation of documents from blueprints that have
populated file upload properties by @​AndyButland in
umbraco/Umbraco-CMS#19655
* Clear member cache by older user name when member user name is updated
(16) by @​AndyButland in
umbraco/Umbraco-CMS#19690
* V16 QA Removed unused API acceptance tests by @​nhudinh0309 in
umbraco/Umbraco-CMS#19679
* V16 QA Added acceptance tests for granular document permission by
@​nhudinh0309 in umbraco/Umbraco-CMS#19546
* V16 QA Reverted npx command by @​nhudinh0309 in
umbraco/Umbraco-CMS#19699
* Fixes Block Catalogue Modal Filter by @​leekelleher in
umbraco/Umbraco-CMS#19700
* Fix issue forceHideContentEditorInOverlay not available in RTE by
@​NguyenThuyLan in umbraco/Umbraco-CMS#19698
* V16: Property editor file upload does not validate file types by
@​iOvergaard in umbraco/Umbraco-CMS#19714
* Fix failing integration tests in SQL Server by @​lauraneto in
umbraco/Umbraco-CMS#19725
* Populate name for content and media on URL picker if title is left
empty by @​AndyButland in
umbraco/Umbraco-CMS#19677
* Forward merge #​19720 to V16 by @​kjac in
umbraco/Umbraco-CMS#19735
* Include /.well-known/jwks in the paths covered by OpenIddict by @​kjac
in umbraco/Umbraco-CMS#19749
* Add flag to exclude trashed media by @​rammi987 in
umbraco/Umbraco-CMS#19746
* V16 Added acceptance tests for the regression issue #​16985 by
@​nhudinh0309 in umbraco/Umbraco-CMS#19712
* V16 Added acceptance tests for the regression issue #​19529 by
@​nhudinh0309 in umbraco/Umbraco-CMS#19713
* V16 QA Added acceptance tests for creating a document using blueprint
by @​nhudinh0309 in umbraco/Umbraco-CMS#19708
* Allow saving blueprints with validation errors by @​lauraneto in
umbraco/Umbraco-CMS#19748
* Make internal & private classes sealed where possible, to avoid code
for virtual dispatch by @​Henr1k80 in
umbraco/Umbraco-CMS#19719
* add missing translation for DA by @​rammi987 in
umbraco/Umbraco-CMS#19740
* Add a backing field for EditorUIAlias and track changes when its set.
by @​KevinJump in umbraco/Umbraco-CMS#19733
* Template with Block List field with Inline Editing Mode causes
Collection List View to shrink by @​NguyenThuyLan in
umbraco/Umbraco-CMS#19754
 ... (truncated)

## 16.2.0-rc2

<!-- Release notes generated using configuration in .github/release.yml
at release-16.2.0-rc2 -->

## What's Changed
### 📦 Dependencies
* build(deps): bump @​umbraco-ui/uui to 1.15.0 by @​iOvergaard in
umbraco/Umbraco-CMS#19981
### 🐛 Bug Fixes
* fix: pins the UmbracoExtension `@​hey-api/*` versions to that of the
Backoffice client by @​iOvergaard in
umbraco/Umbraco-CMS#20016
### ✍️ Documentation
* Chore: JSDocs for RTE CSS Props by @​leekelleher in
umbraco/Umbraco-CMS#20008


**Full Changelog**:
umbraco/Umbraco-CMS@release-16.2.0-rc...release-16.2.0-rc2

## 16.2.0-rc

<!-- Release notes generated using configuration in .github/release.yml
at release-16.2.0-rc -->

## What's Changed
### 🙌 Notable Changes
* UFM: JavaScript-like Expressions by @​leekelleher in
umbraco/Umbraco-CMS#19685
* Make logging more friendly for docker by @​Migaroez in
umbraco/Umbraco-CMS#19818
* Adds abstraction around boot time checks for database availability by
@​AndyButland in umbraco/Umbraco-CMS#19848
* Optimize document and media seeding by looking up from database in
batches by @​AndyButland in
umbraco/Umbraco-CMS#19890
* Added configuration option UseStrictDomainMatching, which allows
control over whether content is routed without a matching domain by
@​AndyButland in umbraco/Umbraco-CMS#19815
### 📦 Dependencies
* Bump linkifyjs from 4.3.1 to 4.3.2 in /src/Umbraco.Web.UI.Login by
@​dependabot[bot] in umbraco/Umbraco-CMS#19819
* Tiptap RTE: Upgraded to latest v2.x by @​leekelleher in
umbraco/Umbraco-CMS#19869
* build(deps): bump @​umbraco-ui/uui from 1.14.2 to 1.15.0-rc.0 by
@​iOvergaard in umbraco/Umbraco-CMS#19870
### 🚀 New Features
* V16: Siblings endpoints by @​nikolajlauridsen in
umbraco/Umbraco-CMS#19657
* UFM: Adds `markedExtension` extension-type by @​leekelleher in
umbraco/Umbraco-CMS#19684
* UFM: Make Block Settings data available by @​leekelleher in
umbraco/Umbraco-CMS#19686
* Adds background worker to check timeout state by @​iOvergaard in
umbraco/Umbraco-CMS#19702
* V16: Build Backoffice externals with Vite by @​iOvergaard in
umbraco/Umbraco-CMS#19716
* Tiptap RTE: Custom CSS Variables for min/max height/width by
@​leekelleher in umbraco/Umbraco-CMS#19841
* Provides an abstraction for creating the JavaScriptEncoder used in
SystemTextConfigurationEditorJsonSerializer by @​AndyButland in
umbraco/Umbraco-CMS#19849
* Tiptap RTE: Refactor Table menus to use `menu` extension-type by
@​leekelleher in umbraco/Umbraco-CMS#19789
### 🐛 Bug Fixes
* Amend accessibility modifiers on file upload property editor
components to support extension by @​PeterKvayt in
umbraco/Umbraco-CMS#19643
* Docs: Tree example by @​madsrasmussen in
umbraco/Umbraco-CMS#19624
* Hide Document/Media Collection Workspace View until the item is
created by @​madsrasmussen in
umbraco/Umbraco-CMS#19644
* Title returns "Server Error" in non-debug mode by @​PeterKvayt in
umbraco/Umbraco-CMS#19665
* Fix issue with preview in delivery API for MNTP property editor by
@​AndyButland in umbraco/Umbraco-CMS#19668
* Adds support for custom granular permissions when aggregating across
user groups by @​AndyButland in
umbraco/Umbraco-CMS#19660
* Fixes issues with creation of documents from blueprints that have
populated file upload properties by @​AndyButland in
umbraco/Umbraco-CMS#19655
* Clear member cache by older user name when member user name is updated
(16) by @​AndyButland in
umbraco/Umbraco-CMS#19690
* V16 QA Removed unused API acceptance tests by @​nhudinh0309 in
umbraco/Umbraco-CMS#19679
* V16 QA Added acceptance tests for granular document permission by
@​nhudinh0309 in umbraco/Umbraco-CMS#19546
* V16 QA Reverted npx command by @​nhudinh0309 in
umbraco/Umbraco-CMS#19699
* Fixes Block Catalogue Modal Filter by @​leekelleher in
umbraco/Umbraco-CMS#19700
* Fix issue forceHideContentEditorInOverlay not available in RTE by
@​NguyenThuyLan in umbraco/Umbraco-CMS#19698
* V16: Property editor file upload does not validate file types by
@​iOvergaard in umbraco/Umbraco-CMS#19714
* Fix failing integration tests in SQL Server by @​lauraneto in
umbraco/Umbraco-CMS#19725
* Populate name for content and media on URL picker if title is left
empty by @​AndyButland in
umbraco/Umbraco-CMS#19677
* Forward merge #​19720 to V16 by @​kjac in
umbraco/Umbraco-CMS#19735
* Include /.well-known/jwks in the paths covered by OpenIddict by @​kjac
in umbraco/Umbraco-CMS#19749
* Add flag to exclude trashed media by @​rammi987 in
umbraco/Umbraco-CMS#19746
* V16 Added acceptance tests for the regression issue #​16985 by
@​nhudinh0309 in umbraco/Umbraco-CMS#19712
* V16 Added acceptance tests for the regression issue #​19529 by
@​nhudinh0309 in umbraco/Umbraco-CMS#19713
* V16 QA Added acceptance tests for creating a document using blueprint
by @​nhudinh0309 in umbraco/Umbraco-CMS#19708
* Allow saving blueprints with validation errors by @​lauraneto in
umbraco/Umbraco-CMS#19748
* Make internal & private classes sealed where possible, to avoid code
for virtual dispatch by @​Henr1k80 in
umbraco/Umbraco-CMS#19719
* add missing translation for DA by @​rammi987 in
umbraco/Umbraco-CMS#19740
* Add a backing field for EditorUIAlias and track changes when its set.
by @​KevinJump in umbraco/Umbraco-CMS#19733
* Template with Block List field with Inline Editing Mode causes
Collection List View to shrink by @​NguyenThuyLan in
umbraco/Umbraco-CMS#19754
 ... (truncated)

Commits viewable in [compare
view](umbraco/Umbraco-CMS@release-16.1.1...release-16.2.0).
</details>

Updated
[Umbraco.Cms.Persistence.Sqlite](https://github.com/umbraco/Umbraco-CMS)
from 16.1.1 to 16.2.0.

<details>
<summary>Release notes</summary>

_Sourced from [Umbraco.Cms.Persistence.Sqlite's
releases](https://github.com/umbraco/Umbraco-CMS/releases)._

## 16.2.0

<!-- Release notes generated using configuration in .github/release.yml
at release-16.2.0 -->

## What's Changed
### 🙌 Notable Changes
* UFM: JavaScript-like Expressions by @​leekelleher in
umbraco/Umbraco-CMS#19685
* Make logging more friendly for docker by @​Migaroez in
umbraco/Umbraco-CMS#19818
* Adds abstraction around boot time checks for database availability by
@​AndyButland in umbraco/Umbraco-CMS#19848
* Optimize document and media seeding by looking up from database in
batches by @​AndyButland in
umbraco/Umbraco-CMS#19890
* Added configuration option UseStrictDomainMatching, which allows
control over whether content is routed without a matching domain by
@​AndyButland in umbraco/Umbraco-CMS#19815
### 📦 Dependencies
* Bump linkifyjs from 4.3.1 to 4.3.2 in /src/Umbraco.Web.UI.Login by
@​dependabot[bot] in umbraco/Umbraco-CMS#19819
* Tiptap RTE: Upgraded to latest v2.x by @​leekelleher in
umbraco/Umbraco-CMS#19869
* build(deps): bump @​umbraco-ui/uui to 1.15.0 by @​iOvergaard in
umbraco/Umbraco-CMS#19981
### 🚀 New Features
* V16: Siblings endpoints by @​nikolajlauridsen in
umbraco/Umbraco-CMS#19657
* UFM: Adds `markedExtension` extension-type by @​leekelleher in
umbraco/Umbraco-CMS#19684
* UFM: Make Block Settings data available by @​leekelleher in
umbraco/Umbraco-CMS#19686
* Adds background worker to check timeout state by @​iOvergaard in
umbraco/Umbraco-CMS#19702
* V16: Build Backoffice externals with Vite by @​iOvergaard in
umbraco/Umbraco-CMS#19716
* Tiptap RTE: Custom CSS Variables for min/max height/width by
@​leekelleher in umbraco/Umbraco-CMS#19841
* Provides an abstraction for creating the JavaScriptEncoder used in
SystemTextConfigurationEditorJsonSerializer by @​AndyButland in
umbraco/Umbraco-CMS#19849
* Tiptap RTE: Refactor Table menus to use `menu` extension-type by
@​leekelleher in umbraco/Umbraco-CMS#19789
### 🐛 Bug Fixes
* Amend accessibility modifiers on file upload property editor
components to support extension by @​PeterKvayt in
umbraco/Umbraco-CMS#19643
* Docs: Tree example by @​madsrasmussen in
umbraco/Umbraco-CMS#19624
* Hide Document/Media Collection Workspace View until the item is
created by @​madsrasmussen in
umbraco/Umbraco-CMS#19644
* Title returns "Server Error" in non-debug mode by @​PeterKvayt in
umbraco/Umbraco-CMS#19665
* Fix issue with preview in delivery API for MNTP property editor by
@​AndyButland in umbraco/Umbraco-CMS#19668
* Adds support for custom granular permissions when aggregating across
user groups by @​AndyButland in
umbraco/Umbraco-CMS#19660
* Fixes issues with creation of documents from blueprints that have
populated file upload properties by @​AndyButland in
umbraco/Umbraco-CMS#19655
* Clear member cache by older user name when member user name is updated
(16) by @​AndyButland in
umbraco/Umbraco-CMS#19690
* V16 QA Removed unused API acceptance tests by @​nhudinh0309 in
umbraco/Umbraco-CMS#19679
* V16 QA Added acceptance tests for granular document permission by
@​nhudinh0309 in umbraco/Umbraco-CMS#19546
* V16 QA Reverted npx command by @​nhudinh0309 in
umbraco/Umbraco-CMS#19699
* Fixes Block Catalogue Modal Filter by @​leekelleher in
umbraco/Umbraco-CMS#19700
* Fix issue forceHideContentEditorInOverlay not available in RTE by
@​NguyenThuyLan in umbraco/Umbraco-CMS#19698
* V16: Property editor file upload does not validate file types by
@​iOvergaard in umbraco/Umbraco-CMS#19714
* Fix failing integration tests in SQL Server by @​lauraneto in
umbraco/Umbraco-CMS#19725
* Populate name for content and media on URL picker if title is left
empty by @​AndyButland in
umbraco/Umbraco-CMS#19677
* Forward merge #​19720 to V16 by @​kjac in
umbraco/Umbraco-CMS#19735
* Include /.well-known/jwks in the paths covered by OpenIddict by @​kjac
in umbraco/Umbraco-CMS#19749
* Add flag to exclude trashed media by @​rammi987 in
umbraco/Umbraco-CMS#19746
* V16 Added acceptance tests for the regression issue #​16985 by
@​nhudinh0309 in umbraco/Umbraco-CMS#19712
* V16 Added acceptance tests for the regression issue #​19529 by
@​nhudinh0309 in umbraco/Umbraco-CMS#19713
* V16 QA Added acceptance tests for creating a document using blueprint
by @​nhudinh0309 in umbraco/Umbraco-CMS#19708
* Allow saving blueprints with validation errors by @​lauraneto in
umbraco/Umbraco-CMS#19748
* Make internal & private classes sealed where possible, to avoid code
for virtual dispatch by @​Henr1k80 in
umbraco/Umbraco-CMS#19719
* add missing translation for DA by @​rammi987 in
umbraco/Umbraco-CMS#19740
* Add a backing field for EditorUIAlias and track changes when its set.
by @​KevinJump in umbraco/Umbraco-CMS#19733
* Template with Block List field with Inline Editing Mode causes
Collection List View to shrink by @​NguyenThuyLan in
umbraco/Umbraco-CMS#19754
 ... (truncated)

## 16.2.0-rc2

<!-- Release notes generated using configuration in .github/release.yml
at release-16.2.0-rc2 -->

## What's Changed
### 📦 Dependencies
* build(deps): bump @​umbraco-ui/uui to 1.15.0 by @​iOvergaard in
umbraco/Umbraco-CMS#19981
### 🐛 Bug Fixes
* fix: pins the UmbracoExtension `@​hey-api/*` versions to that of the
Backoffice client by @​iOvergaard in
umbraco/Umbraco-CMS#20016
### ✍️ Documentation
* Chore: JSDocs for RTE CSS Props by @​leekelleher in
umbraco/Umbraco-CMS#20008


**Full Changelog**:
umbraco/Umbraco-CMS@release-16.2.0-rc...release-16.2.0-rc2

## 16.2.0-rc

<!-- Release notes generated using configuration in .github/release.yml
at release-16.2.0-rc -->

## What's Changed
### 🙌 Notable Changes
* UFM: JavaScript-like Expressions by @​leekelleher in
umbraco/Umbraco-CMS#19685
* Make logging more friendly for docker by @​Migaroez in
umbraco/Umbraco-CMS#19818
* Adds abstraction around boot time checks for database availability by
@​AndyButland in umbraco/Umbraco-CMS#19848
* Optimize document and media seeding by looking up from database in
batches by @​AndyButland in
umbraco/Umbraco-CMS#19890
* Added configuration option UseStrictDomainMatching, which allows
control over whether content is routed without a matching domain by
@​AndyButland in umbraco/Umbraco-CMS#19815
### 📦 Dependencies
* Bump linkifyjs from 4.3.1 to 4.3.2 in /src/Umbraco.Web.UI.Login by
@​dependabot[bot] in umbraco/Umbraco-CMS#19819
* Tiptap RTE: Upgraded to latest v2.x by @​leekelleher in
umbraco/Umbraco-CMS#19869
* build(deps): bump @​umbraco-ui/uui from 1.14.2 to 1.15.0-rc.0 by
@​iOvergaard in umbraco/Umbraco-CMS#19870
### 🚀 New Features
* V16: Siblings endpoints by @​nikolajlauridsen in
umbraco/Umbraco-CMS#19657
* UFM: Adds `markedExtension` extension-type by @​leekelleher in
umbraco/Umbraco-CMS#19684
* UFM: Make Block Settings data available by @​leekelleher in
umbraco/Umbraco-CMS#19686
* Adds background worker to check timeout state by @​iOvergaard in
umbraco/Umbraco-CMS#19702
* V16: Build Backoffice externals with Vite by @​iOvergaard in
umbraco/Umbraco-CMS#19716
* Tiptap RTE: Custom CSS Variables for min/max height/width by
@​leekelleher in umbraco/Umbraco-CMS#19841
* Provides an abstraction for creating the JavaScriptEncoder used in
SystemTextConfigurationEditorJsonSerializer by @​AndyButland in
umbraco/Umbraco-CMS#19849
* Tiptap RTE: Refactor Table menus to use `menu` extension-type by
@​leekelleher in umbraco/Umbraco-CMS#19789
### 🐛 Bug Fixes
* Amend accessibility modifiers on file upload property editor
components to support extension by @​PeterKvayt in
umbraco/Umbraco-CMS#19643
* Docs: Tree example by @​madsrasmussen in
umbraco/Umbraco-CMS#19624
* Hide Document/Media Collection Workspace View until the item is
created by @​madsrasmussen in
umbraco/Umbraco-CMS#19644
* Title returns "Server Error" in non-debug mode by @​PeterKvayt in
umbraco/Umbraco-CMS#19665
* Fix issue with preview in delivery API for MNTP property editor by
@​AndyButland in umbraco/Umbraco-CMS#19668
* Adds support for custom granular permissions when aggregating across
user groups by @​AndyButland in
umbraco/Umbraco-CMS#19660
* Fixes issues with creation of documents from blueprints that have
populated file upload properties by @​AndyButland in
umbraco/Umbraco-CMS#19655
* Clear member cache by older user name when member user name is updated
(16) by @​AndyButland in
umbraco/Umbraco-CMS#19690
* V16 QA Removed unused API acceptance tests by @​nhudinh0309 in
umbraco/Umbraco-CMS#19679
* V16 QA Added acceptance tests for granular document permission by
@​nhudinh0309 in umbraco/Umbraco-CMS#19546
* V16 QA Reverted npx command by @​nhudinh0309 in
umbraco/Umbraco-CMS#19699
* Fixes Block Catalogue Modal Filter by @​leekelleher in
umbraco/Umbraco-CMS#19700
* Fix issue forceHideContentEditorInOverlay not available in RTE by
@​NguyenThuyLan in umbraco/Umbraco-CMS#19698
* V16: Property editor file upload does not validate file types by
@​iOvergaard in umbraco/Umbraco-CMS#19714
* Fix failing integration tests in SQL Server by @​lauraneto in
umbraco/Umbraco-CMS#19725
* Populate name for content and media on URL picker if title is left
empty by @​AndyButland in
umbraco/Umbraco-CMS#19677
* Forward merge #​19720 to V16 by @​kjac in
umbraco/Umbraco-CMS#19735
* Include /.well-known/jwks in the paths covered by OpenIddict by @​kjac
in umbraco/Umbraco-CMS#19749
* Add flag to exclude trashed media by @​rammi987 in
umbraco/Umbraco-CMS#19746
* V16 Added acceptance tests for the regression issue #​16985 by
@​nhudinh0309 in umbraco/Umbraco-CMS#19712
* V16 Added acceptance tests for the regression issue #​19529 by
@​nhudinh0309 in umbraco/Umbraco-CMS#19713
* V16 QA Added acceptance tests for creating a document using blueprint
by @​nhudinh0309 in umbraco/Umbraco-CMS#19708
* Allow saving blueprints with validation errors by @​lauraneto in
umbraco/Umbraco-CMS#19748
* Make internal & private classes sealed where possible, to avoid code
for virtual dispatch by @​Henr1k80 in
umbraco/Umbraco-CMS#19719
* add missing translation for DA by @​rammi987 in
umbraco/Umbraco-CMS#19740
* Add a backing field for EditorUIAlias and track changes when its set.
by @​KevinJump in umbraco/Umbraco-CMS#19733
* Template with Block List field with Inline Editing Mode causes
Collection List View to shrink by @​NguyenThuyLan in
umbraco/Umbraco-CMS#19754
 ... (truncated)

Commits viewable in [compare
view](umbraco/Umbraco-CMS@release-16.1.1...release-16.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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants