Back to changelog index

3.8.11

Apr 24, 2026 · 4 packages · 4 unique changes · 1 release entry

libs

Release summaries

  • cross-platform-jsx-biome-guardrails

    Add Biome guardrails that keep JSX layout and text compatible with React and React Native.

    maintainer

    Maintainers get generated repo and consumer Biome presets that reject raw layout tags and raw JSX text outside typography components, with monorepo apps excluded by default and a style-preserving fixer command for deterministic replacements.

    integrator

    Integrators adopting the consumer preset get React Native compatible JSX text/list/layout policy diagnostics and shared list/typography primitives.

Migration guide

  • Replace raw layout tags

    Use ContractSpec layout and typography primitives in JSX surfaces.

    1. Replace raw `<div>` layout containers with `HStack`, `VStack`, or `Box` from `@contractspec/lib.design-system/layout`.
    2. Replace raw `<ul>`, `<ol>`, and `<li>` with `List` and `ListItem` from `@contractspec/lib.design-system/list`.
    3. Replace raw headings and text tags with themed typography components from `@contractspec/lib.design-system/typography`.
    4. Wrap visible JSX text with `Text` or another approved typography component.
    5. Add an app package to the policy `appPackageAllowList` only when that app should opt into the shared presentation guardrails.

Upgrade steps

  • Sync generated Biome policy artifacts

    manual

    Keep generated presets, Grit plugins, and AI summaries aligned with the typed manifest.

    Packages: @contractspec/biome-config, contractspec, @contractspec/lib.ui-kit, @contractspec/lib.ui-kit-web, @contractspec/lib.ui-kit-core, @contractspec/lib.design-system

    1. Run `cd packages/tools/biome-config && bun run sync:artifacts` after policy manifest edits.
  • Run the JSX primitive fixer

    assisted

    Apply conservative automatic replacements before manually addressing unsupported or ambiguous diagnostics.

    Packages: @contractspec/biome-config, contractspec, @contractspec/lib.ui-kit, @contractspec/lib.ui-kit-web, @contractspec/lib.ui-kit-core, @contractspec/lib.design-system

    1. Run `bun run jsx:fix-primitives -- --check` to preview style-preserving deterministic replacements.
    2. Run `bun run jsx:fix-primitives` to apply style-preserving deterministic replacements in shared presentation packages.
    3. Add `--allow-app <package>` only when an app package should opt into the same fixer scope.

Unique release changes

  • - Add Biome guardrails that keep JSX layout and text compatible with React and React Native.

    4 packages · 4 occurrences

  • - Apply conservative automatic replacements before manually addressing unsupported or ambiguous diagnostics.

    4 packages · 4 occurrences

  • - Keep generated presets, Grit plugins, and AI summaries aligned with the typed manifest.

    4 packages · 4 occurrences

  • - Use ContractSpec layout and typography primitives in JSX surfaces.

    4 packages · 4 occurrences

Impacted packages

  • @contractspec/lib.design-system

    Layer: libs · 4 changes

  • @contractspec/lib.ui-kit

    Layer: libs · 4 changes

  • @contractspec/lib.ui-kit-core

    Layer: libs · 4 changes

  • @contractspec/lib.ui-kit-web

    Layer: libs · 4 changes