Back to changelog index

1.0.12

Aug 05, 2026 · 2 packages · 5 unique changes · 2 release entries

libs

This release affects the contracts, sharedLibs familyies.

Run contractspec connect adoption resolve --family contracts to see how it impacts your project.

Release summaries

  • contractspec-i18next-adapter

    Add an optional ContractSpec-first i18next adapter for downstream interoperability.

    maintainer

    The translation runtime now exposes an optional `./i18next` subpath while keeping the root runtime and ContractSpec registry i18next-free.

    integrator

    Apps that already use i18next can initialize isolated instances or add resource bundles from ContractSpec translation catalogs without making i18next canonical.

    customer

    Multilingual applications gain a safer migration path from ContractSpec translations to i18next-powered surfaces while preserving locale metadata and diagnostics.

  • t1-i18n-preference-resolver

    preference resolver helpers + OverrideScope mapping (additive)

    maintainer

    preference resolver helpers + OverrideScope mapping (additive)

    integrator

    preference resolver helpers + OverrideScope mapping (additive)

Migration guide

  • Import i18next helpers from the adapter subpath

    Use `@lssm-tech/lib.translation-runtime/i18next` for downstream i18next projection instead of importing adapter internals.

    1. Import `exportContractSpecToI18next`, `createI18nextInitOptions`, or `addContractSpecResourceBundles` from `@lssm-tech/lib.translation-runtime/i18next`.
    2. Keep canonical translation contracts in `TranslationSpec` catalogs and use i18next resources as generated runtime interop data.
    3. Configure an ICU-capable i18next formatter plugin when rendering ContractSpec ICU plural/select/selectordinal messages through i18next.
  • Keep stable bundle identity separate from locale variants

    Namespace translation bundles with stable ContractSpec keys and use `TranslationSpec.locale` for BCP 47 language tags.

    1. Prefer bundle keys such as `commerce.checkout` rather than `commerce.checkout.en`.
    2. Let the adapter map locales like `en-US`, `ar-EG`, and `zh-Hans` to i18next language resource keys.
    3. Review adapter diagnostics for namespace, resource, ICU, and fallback projection issues.

Upgrade steps

  • Initialize i18next from ContractSpec exports

    manual

    Use generated resources and init options with caller-owned i18next instances for SSR and request isolation.

    Packages: @lssm-tech/lib.translation-runtime

    1. Export resources from canonical specs or runtime snapshots.
    2. Pass `createI18nextInitOptions(...).options` to a caller-created i18next instance.
    3. Serialize the same runtime snapshot/exported resources for hydration when using SSR.
  • Review T1 I18n Preference Resolver adoption

    manual

    preference resolver helpers + OverrideScope mapping (additive)

    Packages: @lssm-tech/lib.translation-runtime, @lssm-tech/lib.contracts-spec

    1. Review the paired changeset summary and update consumers only if they use the affected package surface.

Unique release changes

  • - preference resolver helpers + OverrideScope mapping (additive)

    2 packages · 4 occurrences

  • - Add an optional ContractSpec-first i18next adapter for downstream interoperability.

    1 packages · 1 occurrences

  • - Namespace translation bundles with stable ContractSpec keys and use `TranslationSpec.locale` for BCP 47 language tags.

    1 packages · 1 occurrences

  • - Use `@lssm-tech/lib.translation-runtime/i18next` for downstream i18next projection instead of importing adapter internals.

    1 packages · 1 occurrences

  • - Use generated resources and init options with caller-owned i18next instances for SSR and request isolation.

    1 packages · 1 occurrences

Impacted packages

  • @lssm-tech/lib.contracts-spec

    Layer: libs · 2 changes

  • @lssm-tech/lib.translation-runtime

    Layer: libs · 2 changes