releases.shpreview

6.0.0

Document Internationalization plugin v6.0.0: Major version: Pivot language from `_key` to `language` field

$npx -y @buildinternet/releases show rel_SeQoK0T6sv-1gsI_anFzJ

New major version

sanity-plugin-internationalized-array now stores the language identifier in a dedicated language field instead of using _key for this purpose, and @sanity/document-internationalization has a direct dependency on this plugin to manage the translations.metadata files.

When a field has outdated data a warning banner will render to alert users.

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 for this plugin.

You can also read the migration guide for internationalized-array here.

Fetched April 11, 2026