Several config upgrade hooks modify in_profile=True option values in the base config but do not update the same options when overridden in user profiles. This means profile overrides retain stale/broken values after
upgrade.
Affected hooks:
- v2_5_0dev1: ca_providers — renames "Whitelist" to "UrlRelationships" in base config only. Profile overrides keep the old "Whitelist" name.
- v3_0_0dev10: cover_tags_convert_to_format / cover_file_convert_to_format — lowercases format strings in base config only. Profile overrides keep uppercase values (e.g., "JPEG" instead of "jpeg").
- v3_0_0a2: list_of_scripts — fixes $matchedtracks() script content in base config only. Profile overrides keep broken script content.
- v3_0_0b5: quick_menu_items — inserts new default items in base config only. Profile overrides miss the new items.
Root cause:
rename_option() already handles profiles (iterates user_profile_settings and renames keys). But hooks that transform values (not keys) access config.setting[name] directly without also updating profile override dicts.