# formatjs @formatjs/utils@2.2.12 — @formatjs/utils: 2.2.12 - Product: formatjs (https://whatsnew.fyi/product/formatjs) - Vendor: formatjs - Date: 2026-08-30 - Version: @formatjs/utils@2.2.12 - Original notes: https://github.com/formatjs/formatjs/releases/tag/%40formatjs/utils%402.2.12 - Permalink: https://whatsnew.fyi/product/formatjs/releases/formatjs-utils-2.2.12 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **fixed** — restore Jest 29 compatibility - **fixed** — dedupe structural variables in icu_messageformat_parser - **fixed** — apply Date method defaults in @formatjs/intl-datetimeformat - **fixed** — parse module ids with queries in @formatjs/unplugin - **fixed** — repair corrupted patches/typescript@7.0.2.patch - **fixed** — stop enabling JSX syntax implicitly in babel-plugin-formatjs - **added** — upgrade CLDR to 48.2.0 - **fixed** — include context in missing id errors in @formatjs/intl - **fixed** — make native release deps host-independent - **fixed** — preserve plural context in tags in icu-messageformat-parser - **fixed** — extract id-only messages in formatjs_cli - **added** — add Rust message formatter in formatjs_icu_messageformat - **added** — add Rust intl runtime in formatjs_intl - **fixed** — support Rust 1.92 in new intl crates - **added** — add message fallbacks in formatjs_intl - **added** — support precompiled catalogs in formatjs_intl - **fixed** — fail on input resolution errors in formatjs_cli - **added** — add extractable format_message macro in formatjs_intl - **added** — accept inline named values in formatjs_intl - **added** — detect glued placeholders in eslint-plugin-formatjs ##### 2.2.12 (2026-08-30) ##### What's Changed * docs: add Korean (ko-KR) to homepage live demo by @moduvoice in https://github.com/formatjs/formatjs/pull/6858 * fix(deps): restore Jest 29 compatibility by @longlho in https://github.com/formatjs/formatjs/pull/6872 * fix(icu_messageformat_parser): dedupe structural variables by @longlho in https://github.com/formatjs/formatjs/pull/6883 * chore: release main by @longlho in https://github.com/formatjs/formatjs/pull/6859 * fix(@formatjs/intl-datetimeformat): apply Date method defaults by @longlho in https://github.com/formatjs/formatjs/pull/6893 * chore: release main by @longlho in https://github.com/formatjs/formatjs/pull/6894 * fix(@formatjs/unplugin): parse module ids with queries by @longlho in https://github.com/formatjs/formatjs/pull/6896 * chore: release main by @longlho in https://github.com/formatjs/formatjs/pull/6898 * fix: repair corrupted `patches/typescript@7.0.2.patch` by @andersk in https://github.com/formatjs/formatjs/pull/6929 * fix(babel-plugin-formatjs): stop enabling JSX syntax implicitly by @andersk in https://github.com/formatjs/formatjs/pull/6930 * test(@formatjs/intl-datetimeformat): cover ar-EG locale data by @longlho in https://github.com/formatjs/formatjs/pull/6933 * feat: upgrade CLDR to 48.2.0 by @longlho in https://github.com/formatjs/formatjs/pull/6934 * fix(@formatjs/intl): include context in missing id errors by @longlho in https://github.com/formatjs/formatjs/pull/6935 * fix(deps): make native release deps host-independent by @longlho in https://github.com/formatjs/formatjs/pull/6936 * fix(icu-messageformat-parser): preserve plural context in tags by @eoinest in https://github.com/formatjs/formatjs/pull/6908 * chore: release main by @longlho in https://github.com/formatjs/formatjs/pull/6932 * fix(formatjs_cli): extract id-only messages by @longlho in https://github.com/formatjs/formatjs/pull/6962 * chore: release main by @longlho in https://github.com/formatjs/formatjs/pull/6955 * docs: add internationalization best practices by @longlho in https://github.com/formatjs/formatjs/pull/6972 * docs: add i18n best practices skill by @longlho in https://github.com/formatjs/formatjs/pull/6973 * feat(formatjs_icu_messageformat): add Rust message formatter by @longlho in https://github.com/formatjs/formatjs/pull/6974 * feat(formatjs_intl): add Rust intl runtime by @longlho in https://github.com/formatjs/formatjs/pull/6975 * chore: release main by @longlho in https://github.com/formatjs/formatjs/pull/6977 * Documented how to use ember-intl by @ijlee2 in https://github.com/formatjs/formatjs/pull/6946 * fix: support Rust 1.92 in new intl crates by @longlho in https://github.com/formatjs/formatjs/pull/6978 * chore: release main by @longlho in https://github.com/formatjs/formatjs/pull/6979 * fix: queue crate release workflows by @longlho in https://github.com/formatjs/formatjs/pull/6980 * docs: document Rust support by @longlho in https://github.com/formatjs/formatjs/pull/6981 * feat(formatjs_intl): add message fallbacks by @longlho in https://github.com/formatjs/formatjs/pull/6982 * feat(formatjs_intl): support precompiled catalogs by @longlho in https://github.com/formatjs/formatjs/pull/6985 * chore: release main by @longlho in https://github.com/formatjs/formatjs/pull/6984 * build: remove root npmrc by @longlho in https://github.com/formatjs/formatjs/pull/6988 * fix: skip unpublished Rust crates by @longlho in https://github.com/formatjs/formatjs/pull/6992 * fix: handle Cargo publish and merge options by @longlho in https://github.com/formatjs/formatjs/pull/6993 * fix(formatjs_cli): fail on input resolution errors by @longlho in https://github.com/formatjs/formatjs/pull/7005 * feat(formatjs_intl): add extractable format_message macro by @longlho in https://github.com/formatjs/formatjs/pull/7018 * chore: release main by @formatjsproject in https://github.com/formatjs/formatjs _[Truncated at 4000 characters — full notes: https://github.com/formatjs/formatjs/releases/tag/%40formatjs/utils%402.2.12]_