-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Description
Which Umbraco version are you using?
16.3.1
Bug summary
When handling the ContentPublishedNotification event in Umbraco, attempting to retrieve the corresponding IPublishedContent instance always returns previous (stale) content data.
This issue appears to go beyond the known limitation that published content cache refreshes asynchronously — in this case, even if you wait for an extended period (5, 10, 20, 30 seconds, etc.) within the same process scope, the retrieved IPublishedContent still reflects old data, not the latest changes.
TinyTake.by.MangoApps-17-10-2025-11-26-48.mp4
Attempting to manually refresh the cache using the distributed cache mechanisms inside the ContentPublishedNotification handler also has no effect — the stale content persists until after the current operation completes and a new scope or request is started.
distributedCache.RefreshContentCache(
notification.PublishedEntities.Select(node =>
new TreeChange<IContent>(node, TreeChangeTypes.RefreshNode)
)
);
This behavior did not occur till Umbraco 16.2.0 — in those versions, retrieving IPublishedContent inside ContentPublishedNotification correctly returned the latest published content. The issue appears to have been introduced in latest version.
Specifics
During application startup, the following error was also observed, which may or may not be related to the cache refresh issue:

Steps to reproduce
- Create a notification handler for
ContentPublishedNotification. - Inside the handler, retrieve the just-published item using
IPublishedContent. - Inspect the field values — they reflect the previous version of the content, not the one just published.
- Optionally, try:
- Waiting several seconds before reading IPublishedContent.
- Manually calling distributed cache refresh methods.
- Observing that the data does not update until after the current notification scope completes.
Expected result / actual result
After content is published, retrieving the corresponding IPublishedContent inside ContentPublishedNotification should reflect the latest published data — or at least provide a reliable way to force a refresh.
This issue is very urgent and blocking. We have several custom handlers that perform integrations with third-party systems based on ContentPublishedNotification. Because IPublishedContent now always returns old data, these integrations receive incorrect information — causing failures, outdated content propagation, and inconsistent external data.
As a result, we are stuck on Umbraco 16.2.0, because latest version introduces this regression.
However, staying on 16.2.0 is also not a viable option — those latest version includes very important performance fixes related to custom Block View rendering, which we urgently need in production to resolve performance bottlenecks.
Right now, we are blocked between two critical issues:
16.2.0 → Works correctly for IPublishedContent, but has severe performance problems with Block View rendering.
16.3.0+ → Fixes performance, but breaks cache consistency in ContentPublishedNotification.
We urgently need guidance or a patch to move forward.
This item has been added to our backlog AB#61025