unstale

npm / vue-i18n

vue-i18n

What changed in vue-i18n 11, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.

3 breaking3 security2 new APIs and options1 performance2 behavior and defaults33 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli on npm

vue-i18n 1144 changes

Breaking changes 3

  • Locales named after Object.prototype properties are now ignored to address a security issue.

    11.4.14release notes

  • Node.js 20 is no longer supported.

    11.4.3release notes

  • Message compiler errors are displayed more strictly.

    11.3.0release notes

Security 3

  • escapeParameter now escapes both list and named values to address a security issue.

    11.4.14release notes

  • sanitizeTranslatedHtml neutralizes the srcdoc attribute to address a security issue.

    11.4.14release notes

  • Hardens javascript URL sanitization to improve security.

    11.4.4release notes

New APIs and options 2

Performance 1

  • Avoids translation timeline measurement when devtools are not enabled.

    11.3.2release notes

Behavior and default changes 2

  • Array message references are no longer retained.

    11.4.9release notes

  • Adds compatibility with Vue3 vapor mode for v11.

    11.2.0release notes

Fixes and other changes 33

  • Warnings for missing formats name the datetime or number format that was not found.

    11.4.15release notes

  • Flat keys under a message AST are retained, including keys that end with cacheKey or pass through a prop key or cacheKey.

    11.4.15release notes

  • Component i18n options are copied instead of being mutated with internal values.

    11.4.15release notes

  • Unknown linked modifiers are ignored.

    11.4.15release notes

  • A message that cannot be compiled is returned as is in both development and production.

    11.4.15release notes

  • Object.prototype properties are not read as named values.

    11.4.15release notes

  • Node.js ESM can load the Node.js builds so SSR works in production.

    11.4.15release notes

  • Locale, key, plural rule, and key-value message lookups read only own properties, avoiding inherited properties.

    11.4.15release notes

  • count and n are no longer written into the named values of a plural call.

    11.4.15release notes

  • te() looks up messages in the same way as t().

    11.4.15release notes

  • tm() looks up messages in the same way as t().

    11.4.15release notes

  • The core context is synced when inheritLocale is enabled.

    11.4.12release notes

  • Locale chains are cached by fallback identity.

    11.4.12release notes

  • Avoids throwing on AST keys in the devtools groupId.

    11.4.10release notes

  • The locale chain cache is invalidated when the fallback changes, so locale resolution uses the updated fallback.

    11.4.9release notes

  • Fallback handling uses map keys and skips the default.

    11.4.9release notes

  • Tree-shaking is preserved when using Vapor.

    11.4.9release notes

  • The part option is respected when the format key is omitted in number and datetime formatting.

    11.4.5release notes

  • The formatter now passes component children as slots.

    11.4.1release notesrelease notes

  • Prevents register* functions from being tree-shaken in intlify/core.

    11.3.2release notes

  • Linked messages now resolve keys containing dots.

    11.3.1release notes

  • $n overloads use DefineNumberFormat instead of DefineDateTimeFormat.

    11.3.1release notes

  • Suppressing automatic locale fallback with ! no longer breaks n/$n and d/$d formatting.

    11.3.0release notes

  • The incorrect $d type was fixed.

    11.3.0release notes

  • Key paths are now resolved correctly.

    11.3.0release notes

  • Modifiers no longer skip missing translation keys.

    11.3.0release notes

  • Using n() with undefined no longer throws errors.

    11.3.0release notes

  • Using $n() with undefined no longer throws errors.

    11.3.0release notes

  • Fixed te returning false when the key contains a do.

    11.3.0release notes

  • The v-t directive now rerenders when the locale switches.

    11.3.0release notes

  • Avoids a bundler warning related to getCurrentInstance compatibility.

    11.2.3release notes

  • Avoids bundler static analysis for namespace imports.

    11.2.2release notes

  • Adds support for Vue3 vapor mode in the options API.

    11.2.0release notes