Skip to content

Umbraco 17.7 readiness: property move tests and culture casing - #1101

Merged
KevinJump merged 2 commits into
v17/mainfrom
fix/umbraco-17.7-readiness
Sep 30, 2026
Merged

KevinJump merged 2 commits into
v17/mainfrom
fix/umbraco-17.7-readiness

Conversation

@KevinJump

Copy link
Copy Markdown
Owner

Works through #1067. Every test passes against both Umbraco 17.3.0 (our floor) and 17.7.0: 172 of 172.

Changes

Property moves (umbraco/Umbraco-CMS#23493). 17.7 fixes MovePropertyType(alias, null) orphaning the property, which broke MoveToNull_OrphansTheProperty (it asserted the bug). The re-home workaround stays because 17.3–17.6 still need it; on 17.7 it does nothing. The move logic moves into an internal helper so the tests call the real code. Integration tests now save and reload moves in both directions. null! stays, since the parameter only accepts null from 17.7.

Culture casing (umbraco/Umbraco-CMS#23425). A language stored as da-dk used to export as da-dk everywhere. On 17.7 the name and published cultures become da-DK while property values stay da-dk. Culture codes are now written in standard casing on export (names, values, published, schedule), so output is the same on every 17.x. For the release notes: sites with odd-cased language codes will see a one-off change to their files on the next export.

Checked, no change needed

  • First boot and the cache rebuild (#23533, #23709). No 17.x migration requests a rebuild. v13 uSync used the same plan name and Umbraco compares plan states ignoring case, so existing sites never re-run first boot. The import is unscoped, so each save updates the cache, and UnattendedUpgrader refreshes the published snapshot after package migrations on 17.3 and 17.7 alike.
  • Invalid or uninstalled cultures on import. They behave the same on 17.3 and 17.7: the handler catches the error and reports a normal import failure. Tests added.

Refs #1067

🤖 Generated with Claude Code

KevinJump and others added 2 commits September 30, 2026 11:13
…17.7

Umbraco 17.7 fixes MovePropertyType(alias, null) orphaning the property
(umbraco/Umbraco-CMS#23493), so the test asserting that bug would fail.
The re-home workaround stays for 17.3-17.6 and does nothing on 17.7.

The move logic is now an internal helper, and the tests call it rather
than a copy of it. Adds save-and-reload coverage for both directions.

Refs #1067

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A language stored as 'da-dk' exported as 'da-dk' before Umbraco 17.7.
From 17.7 (umbraco/Umbraco-CMS#23425) the name and published cultures
come back as 'da-DK' while property values stay 'da-dk', so files mixed
the two and changed on upgrade. Normalising in uSync gives the same
output on every 17.x version.

Tests also cover importing a culture in other casing, and that an
unknown or invalid culture fails as a normal uSync import failure.

Refs #1067

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.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.

1 participant