V13 to V17, DB Migration issue from ancient property editors

Hey all,

In the midst of upgrading a v13 site to v17 (Has to be about my 10th one by this point haha!)
Ran into a funky issue however with this particular site in which during one of the ContentBlockList Migration steps, it died due to a MultiUrlPicker properties JSON not being formatted correctly.

Not visible on our local or development databases, but it is on the live one.

2026-08-12 14:00:37 INF Execute ConvertBlockListEditorProperties
2026-08-12 14:00:37 INF Migration starting for all properties of type:
Umbraco.BlockList
2026-08-12 14:00:37 INF - starting property type 1/28 : Opdrachtgever(s) (id: 202,
alias: clients)...
2026-08-12 14:00:38 ERR Migration failed for property type: Opdrachtgever(s) (id: 202,
alias: clients, editor alias: Umbraco.BlockList)
System.InvalidOperationException: The configuration for data type 7373 :
Umbraco.MultiUrlPicker is invalid (see inner exception). Please fix the configuration
and ensure it is valid. The site may fail to start and / or load data types and run.
---> System.InvalidOperationException: Failed to parse configuration
"System.Collections.Generic.Dictionary\`2\[System.String,System.Object\]" as
"MultiUrlPickerConfiguration" (see inner exception).
---> System.Text.Json.JsonException: The JSON value could not be converted to
System.Int32. Path: $.minNumber | LineNumber: 0 | BytePositionInLine: 44.

That last line seems to be the damning part.

MinNumber (The multi url picker config property) isnt stored as an integer.
History wise, I believe this particular site started back in V7 and has been upgraded version by version steadily as the LTS’s lapse.

I’m spitballing here, but I assume that our live database in this instance has some reaaally old data structures still sat in it, which probably up until v13 were still accepted by the original JSON serializer back when it was Newtonsoft.Json.

Now with that dependency removed and the serializer being swapped for System.Text.Json as the standard, its throwing a wobbler mid migration and breaking it mid way through.

Anyone encountered similar “ancient” data sat in the database with old Umbraco properties and have a potential quick workaround for getting it past the migration, or do you think that the only solution here is manually SQL scripting those values to the correct types in the DB?

Hi @TomChancer

What exact version of v17 are you using? There’s a PR in 17.6.0 which fixes this:

Can you update and see if it helps?

Justin

Thatd be the exact fix we were looking for haha.
Started this upgrade on Cloud before 17.6 was released so we were bumping to 17.5.3.
And as we didnt hit the issue on Local or Dev assumed it was something new and exciting to dive into!

Cheers for pointing that out @justin-nevitech