Skip to content

docs: Add Umbraco 18 beta upgrade plan#467

Merged
prjseal merged 13 commits into
dev/v8from
claude/dev-v8-checkout-hfjwv9
Jun 25, 2026
Merged

docs: Add Umbraco 18 beta upgrade plan#467
prjseal merged 13 commits into
dev/v8from
claude/dev-v8-checkout-hfjwv9

Conversation

@prjseal

@prjseal prjseal commented Jun 24, 2026

Copy link
Copy Markdown
Owner

Investigation of Umbraco 18 beta breaking changes that affect Clean, with
a phased plan to upgrade to 18.0.0-beta2 / Clean 8.0.0-beta1. Covers the
OpenAPI Swashbuckle removal, IPublishedContent.Parent/Children property
removal, csproj bumps, and items confirmed unaffected.

https://claude.ai/code/session_01HLE33GSbBEKgKVsSV6D2AM

* fix: Update Content Security Policy to include additional script sources

* docs: Update Delivery API setup instructions in clean-headless-api.md
@prjseal
prjseal changed the base branch from main to dev/v8 June 24, 2026 17:18
claude and others added 12 commits June 24, 2026 17:47
Re-adds the Fix-BlockListLabels PowerShell function and invocation block
that injects missing labels into package.xml after export. Umbraco's
PackagingService still strips block list labels during package download.
uSync config path updated to v18 folder.

Co-Authored-By: Claude <noreply@anthropic.com>
Single quote replacement string was malformed, causing a parser error.
Restored the correct ''' literal for Unicode-escaping single quotes.

Co-Authored-By: Claude <noreply@anthropic.com>
Renamed the Content tab to Hero (alias: hero, SortOrder: 11) in both
headercontrols and mainimagecontrols compositions so these properties
appear under a dedicated Hero tab in the backoffice.

Co-Authored-By: Claude <noreply@anthropic.com>
The property alias on the rich text row element type is 'content',
which clashes with the UFM 'content' object reference in expression
syntax. Switch to component syntax {umbValue: content | stripHtml}
which correctly resolves the property by alias.

Co-Authored-By: Claude <noreply@anthropic.com>
…right script

Co-Authored-By: Claude <noreply@anthropic.com>
The RichText property value in Umbraco 18 is an object with a markup
property, not a plain string. Since the property alias is also 'content',
the correct path is content.content.markup to reach the HTML string.

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Remove stripHtml from Rich Text label to check if content.content.markup
resolves (if HTML tags show, the filter is the issue; if still blank,
the path is wrong). Hide carousel image count when 0 images selected.

Co-Authored-By: Claude <noreply@anthropic.com>
In Umbraco 18 UFM context the RichText property value appears to be
an HTML string rather than an object with a .markup property, so
.markup returns undefined. Using | stripHtml directly on the value.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017ExJxMgDNQrYzfaGGsoSAx
Checking if content.content returns the object vs undefined - if
it shows [object Object] the path is right and we need markup; if
blank the path itself is broken.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017ExJxMgDNQrYzfaGGsoSAx
@prjseal
prjseal merged commit a29d5cc into dev/v8 Jun 25, 2026
1 check passed
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.

2 participants