Skip to content

Hybrid Cache: Resolve start-up errors with mis-matched types (closes #20537)#20554

Merged
nikolajlauridsen merged 4 commits intomainfrom
v16/bugfix/hybrid-cache-error
Oct 21, 2025
Merged

Hybrid Cache: Resolve start-up errors with mis-matched types (closes #20537)#20554
nikolajlauridsen merged 4 commits intomainfrom
v16/bugfix/hybrid-cache-error

Conversation

@AndyButland
Copy link
Contributor

@AndyButland AndyButland commented Oct 19, 2025

Prerequisites

  • I have added steps to test this contribution in the description below

Addresses: #20537

Description

This PR makes two updates to resolve the linked issue;

  • Ensure we use a nullable type when checking for existence to align with retrieving from or creating in the cache. As were using a nullable type for one and not the other, this could explain why the hybrid cache sees misaligned types but reports them as the same.
  • Ensure we use the same overload for checking existence and retrieving from or creating in the cache. Possibly there's an issue here with the incorrect state object being applied meaning the types are considered different.

For background, this "exists" check was added in #19890 which was introduced to improve start up performance (allowing us to retrieve cached documents in batches from the database rather than one at a time).

I was able to reproduce the problem manually - it seemed to be consistent at least when using the Visual Studio template and IIS Express:

  • Create a new Umbraco project using 16.3.1.
  • Create a document type with a property, a template and a root content item.
  • Start Umbraco via Ctrl + F5 using IIS Express.
  • The reported error message could be seen.

The amends described above resolved the problem with the hybrid cache exception but revealed something else - that we would get an immediate page not found, and then after a refresh, the expected templated page would show. The crux of the problem here seemed to be that we are doing seeding on an application started notification, which doesn't seem correct. We should seed the initial content before we accept requests, and as such I've moved this to an application starting notification. That looks to resolve this problem.

There are some integration tests added in an attempt to replicate the problem. These didn't succeed in doing so, but are probably worth keeping anyway as additional testing around the hybrid cache.

Similarly there's some tightening up around the implementation of the "exists" check (the locking around "check and remove" and the cancellation token handling). None of this turned out to be the smoking gun, but I think they are valid improvements to consider keeping.

Testing

First try to replicate the problem consistently on main and then when you can, switch in the code from this PR and verify that the application starts without error and the expected initial page is shown.

…eval.

Ensure nullability of ContentCacheNode is consistent in exists and retrieval.
Copilot AI review requested due to automatic review settings October 19, 2025 21:30

This comment was marked as outdated.

@AndyButland AndyButland mentioned this pull request Oct 20, 2025
@AndyButland AndyButland requested a review from Copilot October 20, 2025 10:27
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

Copilot reviewed 7 out of 7 changed files in this pull request and generated no new comments.

Copy link
Contributor

@nikolajlauridsen nikolajlauridsen left a comment

Choose a reason for hiding this comment

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

Looks good, and tests good to me too.

I was only able to reproduce by adding an actually redis cache, but then the issue also became very consistent, but this PR fixes it, great work 🎉

@nikolajlauridsen nikolajlauridsen merged commit 81a8a0c into main Oct 21, 2025
25 checks passed
@nikolajlauridsen nikolajlauridsen deleted the v16/bugfix/hybrid-cache-error branch October 21, 2025 07:57
nikolajlauridsen pushed a commit that referenced this pull request Oct 21, 2025
* Be consistent in use of GetOrCreateAsync overload in exists and retrieval.
Ensure nullability of ContentCacheNode is consistent in exists and retrieval.

* Applied suggestion from code review.

* Move seeding to Umbraco application starting rather than started, ensuring an initial request is served.

* Tighten up hybrid cache exists check with locking around check and remove, and use of cancellation token.

(cherry picked from commit 81a8a0c)
@nikolajlauridsen
Copy link
Contributor

Cherry picked to release/17.0 👍

AndyButland added a commit that referenced this pull request Oct 21, 2025
* Be consistent in use of GetOrCreateAsync overload in exists and retrieval.
Ensure nullability of ContentCacheNode is consistent in exists and retrieval.

* Applied suggestion from code review.

* Move seeding to Umbraco application starting rather than started, ensuring an initial request is served.

* Tighten up hybrid cache exists check with locking around check and remove, and use of cancellation token.
@AndyButland AndyButland changed the title Hybrid Cache: Resolve start-up errors with mis-matched types Hybrid Cache: Resolve start-up errors with mis-matched types (closes #20537) Oct 21, 2025
@umbracocommunity
Copy link

This pull request has been mentioned on Umbraco community forum. There might be relevant details there:

https://forum.umbraco.com/t/umbraco-upgrade-15-4-4-16-3-1-hybridcache-with-the-same-key/6363/4

alexsee pushed a commit to alexsee/umbraco-container that referenced this pull request Dec 6, 2025
Updated
[Umbraco.Cms.Persistence.Sqlite](https://github.com/umbraco/Umbraco-CMS)
from 16.2.0 to 16.3.4.

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

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

## 16.3.4

## What's Changed

### 🐛 Bug Fixes
* Content picker: Implement a specific sorting method for statuses
(closes #​20646) by @​nielslyngsoe in
umbraco/Umbraco-CMS#20609
* Caching: Resolves publish and install issues related to stale cached
data retrieval (closes #​20539 and #​20630) by @​AndyButland in
umbraco/Umbraco-CMS#20640

**Full Changelog**:
umbraco/Umbraco-CMS@release-16.3.3...release-16.3.4

## 16.3.3

## What's Changed

### 🐛 Bug Fixes
* Migrations: Use reliable GUID to check for existence of data type when
creating (closes #​20592) by @​AndyButland in
umbraco/Umbraco-CMS#20604
* Trees: Restore backward compatibility for file system based tree
controllers (closes #​20602) by @​AndyButland in
umbraco/Umbraco-CMS#20608

**Full Changelog**:
umbraco/Umbraco-CMS@release-16.3.2...release-16.3.3

## 16.3.2

## What's Changed

### 🐛 Bug Fixes
* Hybrid Cache: Resolve start-up errors with mis-matched types (closes
#​20537) by @​AndyButland in
umbraco/Umbraco-CMS#20554

**Full Changelog**:
umbraco/Umbraco-CMS@release-16.3.1...release-16.3.2

## 16.3.1

## What's Changed

### 🐛 Bug Fixes
* Fixed regression caused by incorrect handling of breaking change on
block editor base constructor by @​BenWhite27 in
umbraco/Umbraco-CMS#20532

**Full Changelog**:
umbraco/Umbraco-CMS@release-16.3.0...release-16.3.1

## 16.3.0

## What's Changed
### 🙌 Notable Changes
* Feature: Client Cache for Document Type and Data Type Detail Models by
@​madsrasmussen in umbraco/Umbraco-CMS#19904
* Feature: Client Cache for Document Item Models by @​madsrasmussen in
umbraco/Umbraco-CMS#19923
* Feature: Add client runtime cache for all item endpoints by
@​madsrasmussen in umbraco/Umbraco-CMS#19960
* Tiptap RTE: Unbundled "Rich Text Essentials" - Toggle basics on/off
per data type by @​leekelleher in
umbraco/Umbraco-CMS#20042
### 🏠 Internal
* build(deps-dev): bump vite from v6 to v7 by @​iOvergaard in
umbraco/Umbraco-CMS#19974
### 📦 Dependencies
* Chore: upgrade typescript to 5.9 + other minors by @​nielslyngsoe in
umbraco/Umbraco-CMS#19914
* Bump vite-plugin-static-copy from 3.1.1 to 3.1.2 in
/src/Umbraco.Web.UI.Client by @​dependabot[bot] in
umbraco/Umbraco-CMS#19969
* Bump @​hey-api/openapi-ts to 0.81.1 by @​iOvergaard in
umbraco/Umbraco-CMS#19982
* Bump vite from 7.1.3 to 7.1.5 in /src/Umbraco.Web.UI.Client by
@​dependabot[bot] in umbraco/Umbraco-CMS#20114
* Bump vite from 7.1.3 to 7.1.5 in /src/Umbraco.Web.UI.Login by
@​dependabot[bot] in umbraco/Umbraco-CMS#20181
* Dependencies: Update ImageSharp to latest patch releases (16) by
@​AndyButland in umbraco/Umbraco-CMS#20276
### 🌈 Accessibility Improvements
* Navigating the App Language Selector with the keyboard by @​engijlr in
umbraco/Umbraco-CMS#19887
* Profile: Corrected misleading button label by @​OskarKruger in
umbraco/Umbraco-CMS#20161
* Tiptap RTE: Adds accessibility attributes for RTE input by
@​OskarKruger in umbraco/Umbraco-CMS#20157
* Workspace Actions: set attributes on the right element for label to
work by @​nielslyngsoe in
umbraco/Umbraco-CMS#20178
* Tags Property Editor: Remove tags with keyboard backspace/delete by
@​engijlr in umbraco/Umbraco-CMS#19892
* Accessibility changes for the top navbar tabs and settings tabs by
@​Abdjulaziz in umbraco/Umbraco-CMS#20107
* Update label for tree item caret to identify if open or closed by
@​OskarKruger in umbraco/Umbraco-CMS#20199
* Tiptap RTE: Adds hover and focus border input states by @​OskarKruger
in umbraco/Umbraco-CMS#20172
* Installer: Improves user accessibility by adding missing <form>
elements and setting the right focus by @​iOvergaard in
umbraco/Umbraco-CMS#20265
* Allow open split view using the keyboard by @​engijlr in
umbraco/Umbraco-CMS#19927
### 🚀 New Features
* Update dotnet new umbraco-extension template with newer
@​hey-api/openapi-ts by @​warrenbuckley in
umbraco/Umbraco-CMS#19825
* Workspace view navigation context by @​nielslyngsoe in
umbraco/Umbraco-CMS#19255
* Add timestamps to cache entries and server events by @​madsrasmussen
in umbraco/Umbraco-CMS#19976
* Block workspace view validation badges by @​nielslyngsoe in
umbraco/Umbraco-CMS#19987
* Section Sidebar Menu Expansion by @​madsrasmussen in
umbraco/Umbraco-CMS#19810
* Structure manager refactor implementation by @​nielslyngsoe in
umbraco/Umbraco-CMS#19970
* Moves icon dependencies to 'core' package.json by @​iOvergaard in
umbraco/Umbraco-CMS#20041
* Tiptap RTE: Migration to auto-enable new capabilities by @​leekelleher
in umbraco/Umbraco-CMS#20057
* Database creation/migration for UFM Label editor data-types by
@​leekelleher in umbraco/Umbraco-CMS#20055
* Workspace View Manifest Overrides by @​nielslyngsoe in
umbraco/Umbraco-CMS#20033
* Property Editors: Add Missing Property Editor fallback by @​lauraneto
in umbraco/Umbraco-CMS#19997
* Variants: Implements validation hints to the variant selector (closes
#​19953) by @​iOvergaard in
umbraco/Umbraco-CMS#20179
* Interaction Memory: Feature for picker modal state retention (#​18305)
by @​madsrasmussen in umbraco/Umbraco-CMS#20159
* View Context: Implement browser title by @​nielslyngsoe in
umbraco/Umbraco-CMS#20145
* Icons: Add more heading icons by @​bjarnef in
umbraco/Umbraco-CMS#20242
* Tiptap RTE: Adds heading (h4-h6) toolbar buttons by @​bjarnef in
umbraco/Umbraco-CMS#20243
* Introduced sign providers for trees and implemented one for documents
with schedule pending by @​AndyButland in
umbraco/Umbraco-CMS#19806
* Feature: Inflight Request Cache for Document Types and Data Types by
@​madsrasmussen in umbraco/Umbraco-CMS#19956
* Feature: Redirect to the last visited path when navigating between
sections by @​madsrasmussen in
umbraco/Umbraco-CMS#20084
* Introducing signs to variants by @​NillasKA in
umbraco/Umbraco-CMS#20053
* Add Vietnamese to UI culture by @​NguyenThuyLan in
umbraco/Umbraco-CMS#20061
### 🐛 Bug Fixes
* Fixed behaviour on database cache rebuild to update only for requested
content types by @​AndyButland in
umbraco/Umbraco-CMS#19905
 ... (truncated)

## 16.3.0-rc4

## What's Changed in 16.3.0-rc4

### 🚤 Performance

* Performance: Added request cache to media type retrieval in media
picker validation, resolving performance regression in validate and save
by @​AndyButland in umbraco/Umbraco-CMS#20405

**Full Changelog**:
umbraco/Umbraco-CMS@release-16.3.0-rc3...release-16.3.0-rc4

## What's Changed in 16.3.0-rc3

### 🐛 Bug Fixes

* Hybrid cache: Check for `ContentCacheNode` instead of object on exists
for hybrid cache to ensure correct deserialization (closes #​20352) by
@​AndyButland in umbraco/Umbraco-CMS#20383

**Full Changelog**:
umbraco/Umbraco-CMS@release-16.3.0-rc2...release-16.3.0-rc3

## What's Changed in 16.3.0-rc2

### 🐛 Bug Fixes

* Caching: Fixes regression of the caching of null representations for
missing dictionary items (closes #​20336) by @​AndyButland in
umbraco/Umbraco-CMS#20349

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

## What's Changed Since The Last Release (16.2.0)

### 🙌 Notable Changes - Testing encouraged and appreciated!
* Feature: Client Cache for Document Type and Data Type Detail Models by
@​madsrasmussen in umbraco/Umbraco-CMS#19904
* Feature: Client Cache for Document Item Models by @​madsrasmussen in
umbraco/Umbraco-CMS#19923
* Feature: Add client runtime cache for all item endpoints by
@​madsrasmussen in umbraco/Umbraco-CMS#19960
* Tiptap RTE: Unbundled "Rich Text Essentials" - Toggle basics on/off
per data type by @​leekelleher in
umbraco/Umbraco-CMS#20042
### 🏠 Internal
* build(deps-dev): bump vite from v6 to v7 by @​iOvergaard in
umbraco/Umbraco-CMS#19974
### 📦 Dependencies
* Chore: upgrade typescript to 5.9 + other minors by @​nielslyngsoe in
umbraco/Umbraco-CMS#19914
* Bump vite-plugin-static-copy from 3.1.1 to 3.1.2 in
/src/Umbraco.Web.UI.Client by @​dependabot[bot] in
umbraco/Umbraco-CMS#19969
* Bump @​hey-api/openapi-ts to 0.81.1 by @​iOvergaard in
umbraco/Umbraco-CMS#19982
* Bump vite from 7.1.3 to 7.1.5 in /src/Umbraco.Web.UI.Client by
@​dependabot[bot] in umbraco/Umbraco-CMS#20114
* Bump vite from 7.1.3 to 7.1.5 in /src/Umbraco.Web.UI.Login by
@​dependabot[bot] in umbraco/Umbraco-CMS#20181
* Dependencies: Update ImageSharp to latest patch releases (16) by
@​AndyButland in umbraco/Umbraco-CMS#20276
### 🌈 Accessibility Improvements
* Navigating the App Language Selector with the keyboard by @​engijlr in
umbraco/Umbraco-CMS#19887
* Profile: Corrected misleading button label by @​OskarKruger in
umbraco/Umbraco-CMS#20161
* Tiptap RTE: Adds accessibility attributes for RTE input by
@​OskarKruger in umbraco/Umbraco-CMS#20157
* Workspace Actions: set attributes on the right element for label to
work by @​nielslyngsoe in
umbraco/Umbraco-CMS#20178
* Tags Property Editor: Remove tags with keyboard backspace/delete by
@​engijlr in umbraco/Umbraco-CMS#19892
* Accessibility changes for the top navbar tabs and settings tabs by
@​Abdjulaziz in umbraco/Umbraco-CMS#20107
* Update label for tree item caret to identify if open or closed by
@​OskarKruger in umbraco/Umbraco-CMS#20199
* Tiptap RTE: Adds hover and focus border input states by @​OskarKruger
in umbraco/Umbraco-CMS#20172
* Installer: Improves user accessibility by adding missing <form>
elements and setting the right focus by @​iOvergaard in
umbraco/Umbraco-CMS#20265
 ... (truncated)

## 16.3.0-rc3

## What's Changed in 16.3.0-rc3

### 🐛 Bug Fixes

* Hybrid cache: Check for `ContentCacheNode` instead of object on exists
for hybrid cache to ensure correct deserialization (closes #​20352) by
@​AndyButland in umbraco/Umbraco-CMS#20383

**Full Changelog**:
umbraco/Umbraco-CMS@release-16.3.0-rc2...release-16.3.0-rc3

## What's Changed in 16.3.0-rc2

### 🐛 Bug Fixes

* Caching: Fixes regression of the caching of null representations for
missing dictionary items (closes #​20336) by @​AndyButland in
umbraco/Umbraco-CMS#20349

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

## What's Changed Since The Last Release (16.2.0)

### 🙌 Notable Changes - Testing encouraged and appreciated!
* Feature: Client Cache for Document Type and Data Type Detail Models by
@​madsrasmussen in umbraco/Umbraco-CMS#19904
* Feature: Client Cache for Document Item Models by @​madsrasmussen in
umbraco/Umbraco-CMS#19923
* Feature: Add client runtime cache for all item endpoints by
@​madsrasmussen in umbraco/Umbraco-CMS#19960
* Tiptap RTE: Unbundled "Rich Text Essentials" - Toggle basics on/off
per data type by @​leekelleher in
umbraco/Umbraco-CMS#20042
### 🏠 Internal
* build(deps-dev): bump vite from v6 to v7 by @​iOvergaard in
umbraco/Umbraco-CMS#19974
### 📦 Dependencies
* Chore: upgrade typescript to 5.9 + other minors by @​nielslyngsoe in
umbraco/Umbraco-CMS#19914
* Bump vite-plugin-static-copy from 3.1.1 to 3.1.2 in
/src/Umbraco.Web.UI.Client by @​dependabot[bot] in
umbraco/Umbraco-CMS#19969
* Bump @​hey-api/openapi-ts to 0.81.1 by @​iOvergaard in
umbraco/Umbraco-CMS#19982
* Bump vite from 7.1.3 to 7.1.5 in /src/Umbraco.Web.UI.Client by
@​dependabot[bot] in umbraco/Umbraco-CMS#20114
* Bump vite from 7.1.3 to 7.1.5 in /src/Umbraco.Web.UI.Login by
@​dependabot[bot] in umbraco/Umbraco-CMS#20181
* Dependencies: Update ImageSharp to latest patch releases (16) by
@​AndyButland in umbraco/Umbraco-CMS#20276
### 🌈 Accessibility Improvements
* Navigating the App Language Selector with the keyboard by @​engijlr in
umbraco/Umbraco-CMS#19887
* Profile: Corrected misleading button label by @​OskarKruger in
umbraco/Umbraco-CMS#20161
* Tiptap RTE: Adds accessibility attributes for RTE input by
@​OskarKruger in umbraco/Umbraco-CMS#20157
* Workspace Actions: set attributes on the right element for label to
work by @​nielslyngsoe in
umbraco/Umbraco-CMS#20178
* Tags Property Editor: Remove tags with keyboard backspace/delete by
@​engijlr in umbraco/Umbraco-CMS#19892
* Accessibility changes for the top navbar tabs and settings tabs by
@​Abdjulaziz in umbraco/Umbraco-CMS#20107
* Update label for tree item caret to identify if open or closed by
@​OskarKruger in umbraco/Umbraco-CMS#20199
* Tiptap RTE: Adds hover and focus border input states by @​OskarKruger
in umbraco/Umbraco-CMS#20172
* Installer: Improves user accessibility by adding missing <form>
elements and setting the right focus by @​iOvergaard in
umbraco/Umbraco-CMS#20265
* Allow open split view using the keyboard by @​engijlr in
umbraco/Umbraco-CMS#19927
### 🚀 New Features
* Update dotnet new umbraco-extension template with newer
@​hey-api/openapi-ts by @​warrenbuckley in
umbraco/Umbraco-CMS#19825
* Workspace view navigation context by @​nielslyngsoe in
umbraco/Umbraco-CMS#19255
* Add timestamps to cache entries and server events by @​madsrasmussen
in umbraco/Umbraco-CMS#19976
* Block workspace view validation badges by @​nielslyngsoe in
umbraco/Umbraco-CMS#19987
* Section Sidebar Menu Expansion by @​madsrasmussen in
umbraco/Umbraco-CMS#19810
* Structure manager refactor implementation by @​nielslyngsoe in
umbraco/Umbraco-CMS#19970
 ... (truncated)

## 16.3.0-rc2

## What's Changed in 16.3.0-rc2

### 🐛 Bug Fixes

* Caching: Fixes regression of the caching of null representations for
missing dictionary items (closes #​20336) by @​AndyButland in
umbraco/Umbraco-CMS#20349

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

## What's Changed Since The Last Release (16.2.0)

### 🙌 Notable Changes - Testing encouraged and appreciated!
* Feature: Client Cache for Document Type and Data Type Detail Models by
@​madsrasmussen in umbraco/Umbraco-CMS#19904
* Feature: Client Cache for Document Item Models by @​madsrasmussen in
umbraco/Umbraco-CMS#19923
* Feature: Add client runtime cache for all item endpoints by
@​madsrasmussen in umbraco/Umbraco-CMS#19960
* Tiptap RTE: Unbundled "Rich Text Essentials" - Toggle basics on/off
per data type by @​leekelleher in
umbraco/Umbraco-CMS#20042
### 🏠 Internal
* build(deps-dev): bump vite from v6 to v7 by @​iOvergaard in
umbraco/Umbraco-CMS#19974
### 📦 Dependencies
* Chore: upgrade typescript to 5.9 + other minors by @​nielslyngsoe in
umbraco/Umbraco-CMS#19914
* Bump vite-plugin-static-copy from 3.1.1 to 3.1.2 in
/src/Umbraco.Web.UI.Client by @​dependabot[bot] in
umbraco/Umbraco-CMS#19969
* Bump @​hey-api/openapi-ts to 0.81.1 by @​iOvergaard in
umbraco/Umbraco-CMS#19982
* Bump vite from 7.1.3 to 7.1.5 in /src/Umbraco.Web.UI.Client by
@​dependabot[bot] in umbraco/Umbraco-CMS#20114
* Bump vite from 7.1.3 to 7.1.5 in /src/Umbraco.Web.UI.Login by
@​dependabot[bot] in umbraco/Umbraco-CMS#20181
* Dependencies: Update ImageSharp to latest patch releases (16) by
@​AndyButland in umbraco/Umbraco-CMS#20276
### 🌈 Accessibility Improvements
* Navigating the App Language Selector with the keyboard by @​engijlr in
umbraco/Umbraco-CMS#19887
* Profile: Corrected misleading button label by @​OskarKruger in
umbraco/Umbraco-CMS#20161
* Tiptap RTE: Adds accessibility attributes for RTE input by
@​OskarKruger in umbraco/Umbraco-CMS#20157
* Workspace Actions: set attributes on the right element for label to
work by @​nielslyngsoe in
umbraco/Umbraco-CMS#20178
* Tags Property Editor: Remove tags with keyboard backspace/delete by
@​engijlr in umbraco/Umbraco-CMS#19892
* Accessibility changes for the top navbar tabs and settings tabs by
@​Abdjulaziz in umbraco/Umbraco-CMS#20107
* Update label for tree item caret to identify if open or closed by
@​OskarKruger in umbraco/Umbraco-CMS#20199
* Tiptap RTE: Adds hover and focus border input states by @​OskarKruger
in umbraco/Umbraco-CMS#20172
* Installer: Improves user accessibility by adding missing <form>
elements and setting the right focus by @​iOvergaard in
umbraco/Umbraco-CMS#20265
* Allow open split view using the keyboard by @​engijlr in
umbraco/Umbraco-CMS#19927
### 🚀 New Features
* Update dotnet new umbraco-extension template with newer
@​hey-api/openapi-ts by @​warrenbuckley in
umbraco/Umbraco-CMS#19825
* Workspace view navigation context by @​nielslyngsoe in
umbraco/Umbraco-CMS#19255
* Add timestamps to cache entries and server events by @​madsrasmussen
in umbraco/Umbraco-CMS#19976
* Block workspace view validation badges by @​nielslyngsoe in
umbraco/Umbraco-CMS#19987
* Section Sidebar Menu Expansion by @​madsrasmussen in
umbraco/Umbraco-CMS#19810
* Structure manager refactor implementation by @​nielslyngsoe in
umbraco/Umbraco-CMS#19970
* Moves icon dependencies to 'core' package.json by @​iOvergaard in
umbraco/Umbraco-CMS#20041
* Tiptap RTE: Migration to auto-enable new capabilities by @​leekelleher
in umbraco/Umbraco-CMS#20057
* Database creation/migration for UFM Label editor data-types by
@​leekelleher in umbraco/Umbraco-CMS#20055
* Workspace View Manifest Overrides by @​nielslyngsoe in
umbraco/Umbraco-CMS#20033
* Property Editors: Add Missing Property Editor fallback by @​lauraneto
in umbraco/Umbraco-CMS#19997
* Variants: Implements validation hints to the variant selector (closes
#​19953) by @​iOvergaard in
umbraco/Umbraco-CMS#20179
* Interaction Memory: Feature for picker modal state retention (#​18305)
by @​madsrasmussen in umbraco/Umbraco-CMS#20159
* View Context: Implement browser title by @​nielslyngsoe in
umbraco/Umbraco-CMS#20145
 ... (truncated)

## 16.3.0-rc

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

## What's Changed
### 🙌 Notable Changes - Testing encouraged and appreciated!
* Feature: Client Cache for Document Type and Data Type Detail Models by
@​madsrasmussen in umbraco/Umbraco-CMS#19904
* Feature: Client Cache for Document Item Models by @​madsrasmussen in
umbraco/Umbraco-CMS#19923
* Feature: Add client runtime cache for all item endpoints by
@​madsrasmussen in umbraco/Umbraco-CMS#19960
* Tiptap RTE: Unbundled "Rich Text Essentials" - Toggle basics on/off
per data type by @​leekelleher in
umbraco/Umbraco-CMS#20042
### 🏠 Internal
* build(deps-dev): bump vite from v6 to v7 by @​iOvergaard in
umbraco/Umbraco-CMS#19974
### 📦 Dependencies
* Chore: upgrade typescript to 5.9 + other minors by @​nielslyngsoe in
umbraco/Umbraco-CMS#19914
* Bump vite-plugin-static-copy from 3.1.1 to 3.1.2 in
/src/Umbraco.Web.UI.Client by @​dependabot[bot] in
umbraco/Umbraco-CMS#19969
* Bump @​hey-api/openapi-ts to 0.81.1 by @​iOvergaard in
umbraco/Umbraco-CMS#19982
* Bump vite from 7.1.3 to 7.1.5 in /src/Umbraco.Web.UI.Client by
@​dependabot[bot] in umbraco/Umbraco-CMS#20114
* Bump vite from 7.1.3 to 7.1.5 in /src/Umbraco.Web.UI.Login by
@​dependabot[bot] in umbraco/Umbraco-CMS#20181
* Dependencies: Update ImageSharp to latest patch releases (16) by
@​AndyButland in umbraco/Umbraco-CMS#20276
### 🌈 Accessibility Improvements
* Navigating the App Language Selector with the keyboard by @​engijlr in
umbraco/Umbraco-CMS#19887
* Profile: Corrected misleading button label by @​OskarKruger in
umbraco/Umbraco-CMS#20161
* Tiptap RTE: Adds accessibility attributes for RTE input by
@​OskarKruger in umbraco/Umbraco-CMS#20157
* Workspace Actions: set attributes on the right element for label to
work by @​nielslyngsoe in
umbraco/Umbraco-CMS#20178
* Tags Property Editor: Remove tags with keyboard backspace/delete by
@​engijlr in umbraco/Umbraco-CMS#19892
* Accessibility changes for the top navbar tabs and settings tabs by
@​Abdjulaziz in umbraco/Umbraco-CMS#20107
* Update label for tree item caret to identify if open or closed by
@​OskarKruger in umbraco/Umbraco-CMS#20199
* Tiptap RTE: Adds hover and focus border input states by @​OskarKruger
in umbraco/Umbraco-CMS#20172
* Installer: Improves user accessibility by adding missing <form>
elements and setting the right focus by @​iOvergaard in
umbraco/Umbraco-CMS#20265
* Allow open split view using the keyboard by @​engijlr in
umbraco/Umbraco-CMS#19927
### 🚀 New Features
* Update dotnet new umbraco-extension template with newer
@​hey-api/openapi-ts by @​warrenbuckley in
umbraco/Umbraco-CMS#19825
* Workspace view navigation context by @​nielslyngsoe in
umbraco/Umbraco-CMS#19255
* Add timestamps to cache entries and server events by @​madsrasmussen
in umbraco/Umbraco-CMS#19976
* Block workspace view validation badges by @​nielslyngsoe in
umbraco/Umbraco-CMS#19987
* Section Sidebar Menu Expansion by @​madsrasmussen in
umbraco/Umbraco-CMS#19810
* Structure manager refactor implementation by @​nielslyngsoe in
umbraco/Umbraco-CMS#19970
* Moves icon dependencies to 'core' package.json by @​iOvergaard in
umbraco/Umbraco-CMS#20041
* Tiptap RTE: Migration to auto-enable new capabilities by @​leekelleher
in umbraco/Umbraco-CMS#20057
* Database creation/migration for UFM Label editor data-types by
@​leekelleher in umbraco/Umbraco-CMS#20055
* Workspace View Manifest Overrides by @​nielslyngsoe in
umbraco/Umbraco-CMS#20033
* Property Editors: Add Missing Property Editor fallback by @​lauraneto
in umbraco/Umbraco-CMS#19997
* Variants: Implements validation hints to the variant selector (closes
#​19953) by @​iOvergaard in
umbraco/Umbraco-CMS#20179
* Interaction Memory: Feature for picker modal state retention (#​18305)
by @​madsrasmussen in umbraco/Umbraco-CMS#20159
* View Context: Implement browser title by @​nielslyngsoe in
umbraco/Umbraco-CMS#20145
* Icons: Add more heading icons by @​bjarnef in
umbraco/Umbraco-CMS#20242
* Tiptap RTE: Adds heading (h4-h6) toolbar buttons by @​bjarnef in
umbraco/Umbraco-CMS#20243
* Introduced sign providers for trees and implemented one for documents
with schedule pending by @​AndyButland in
umbraco/Umbraco-CMS#19806
* Feature: Inflight Request Cache for Document Types and Data Types by
@​madsrasmussen in umbraco/Umbraco-CMS#19956
* Feature: Redirect to the last visited path when navigating between
sections by @​madsrasmussen in
umbraco/Umbraco-CMS#20084
* Introducing signs to variants by @​NillasKA in
umbraco/Umbraco-CMS#20053
* Add Vietnamese to UI culture by @​NguyenThuyLan in
umbraco/Umbraco-CMS#20061
 ... (truncated)

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

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Umbraco.Cms.Persistence.Sqlite&package-manager=nuget&previous-version=16.2.0&new-version=16.3.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR 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>

> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants