Major version: Pivot language from `_key` to `language` field
Published: March 11, 2026
v5.0.0
New major version
sanity-plugin-internationalized-array now stores the language identifier in a dedicated language field instead of using _key for this purpose.
When a field has outdated data a warning banner will render to alert users.
Loading...
Why
Sanity uses _key internally for array item identity, diffing, and reordering. Storing the language ID there caused issues with:
- Array reordering and diffing in the Studio.
- Portable Text operations that rely on stable keys.
- Copy/paste operations between documents where keys could collide.
Data format change
Before (v4):
{
"_key": "en",
"_type": "internationalizedArrayStringValue",
"value": "hello"
}After (v5):
{
"_key": "randomKey",
"language": "en",
"_type": "internationalizedArrayStringValue",
"value": "hello"
}How to upgrade
Read the full migration guide here.
