Skip to content

Release 35.0.0#1106

Closed
georgewrmarshall wants to merge 5 commits into
mainfrom
release/35.0.0
Closed

Release 35.0.0#1106
georgewrmarshall wants to merge 5 commits into
mainfrom
release/35.0.0

Conversation

@georgewrmarshall
Copy link
Copy Markdown
Contributor

@georgewrmarshall georgewrmarshall commented Apr 23, 2026

Release 35.0.0

This release continues the ADR-0003 and ADR-0004 migration across atomic primitives, adds the new React Native Tag component, and tightens release documentation around the higher-risk breaking changes in the Icon and Box surfaces.

📦 Package Versions

  • @metamask/design-system-shared: 0.13.0
  • @metamask/design-system-react: 0.18.0
  • @metamask/design-system-react-native: 0.20.0
  • @metamask/design-system-tailwind-preset: 0.6.2

🔄 Shared Type Updates (0.13.0)

Icon and Box shared contracts (#1042, #1026, #1053)

What Changed:

  • Added IconName, IconSize, and IconColor to @metamask/design-system-shared as the canonical cross-platform icon contract and asset source
  • Added BoxPropsShared plus the shared Box const objects as the canonical cross-platform Box contract
  • Added TagSeverity and TagPropsShared to support the React Native Tag component
  • Removed stale BoxBackgroundColor and BoxBorderColor *-Alternative members that no longer exist in the token set

Impact:

  • Both platform packages now consume shared icon and Box contracts from a single source of truth
  • Package-root imports continue to work, but deep imports and removed stale members need to be updated by consumers
  • This is a higher-risk ADR migration because it affects atomic primitives used broadly across downstream apps

🌐 React Web Updates (0.18.0)

Changed

📱 React Native Updates (0.20.0)

Added

Changed

🎨 Tailwind Preset Updates (0.6.2)

Changed

  • No consumer-facing changes in this release; the patch bump keeps the package aligned with the monorepo release set

⚠️ Breaking Changes

Shared Icon Contract Centralization (Both Platforms)

What Changed:

  • IconName, IconSize, and IconColor now come from @metamask/design-system-shared
  • @metamask/design-system-react and @metamask/design-system-react-native continue to re-export them
  • Deep imports into platform-local icon type files or generated asset files should be replaced with package-root exports

Migration:

// Before
import { IconColor, IconName, IconSize } from '@metamask/design-system-react';

// After
import { IconColor, IconName, IconSize } from '@metamask/design-system-react';

// If you were using deep internal imports, replace them with package-root imports

Impact:

  • Higher-risk than a typical enum-to-union migration because Icon is an atomic primitive used broadly across downstream apps
  • Normal package-root imports remain stable
  • Deep imports and removed legacy aliases or members can break TypeScript builds after upgrade

Shared Box Contract Centralization and Stale Token Removal (Both Platforms)

What Changed:

  • BoxFlexDirection, BoxFlexWrap, BoxAlignItems, BoxJustifyContent, BoxBackgroundColor, BoxBorderColor, BoxSpacing, and BoxBorderWidth now come from @metamask/design-system-shared
  • Stale BoxBackgroundColor.WarningAlternative, BoxBackgroundColor.SuccessAlternative, BoxBorderColor.WarningAlternative, BoxBorderColor.SuccessAlternative, and BoxBorderColor.InfoAlternative were removed

Migration:

// Before
import { Box, BoxBackgroundColor } from '@metamask/design-system-react';

<Box backgroundColor={BoxBackgroundColor.WarningAlternative} />;

// After
import { Box, BoxBackgroundColor } from '@metamask/design-system-react';

<Box backgroundColor={BoxBackgroundColor.WarningDefault} />;

Impact:

  • Higher-risk than a typical shared-type migration because Box is a foundational layout primitive
  • Package-root imports remain stable
  • Any usage of the removed stale color members will fail typechecking after upgrade

See migration guides for complete instructions:

✅ Checklist

  • Changelogs updated with human-readable descriptions
  • Changelog validation passed (yarn changelog:validate)
  • Version bumps follow semantic versioning
    • design-system-shared: minor (0.12.00.13.0) - shared type additions and breaking Box contract updates
    • design-system-react: minor (0.17.10.18.0) - breaking atomic primitive updates in a pre-1.0 package
    • design-system-react-native: minor (0.19.00.20.0) - breaking atomic primitive updates plus additive Tag
    • design-system-tailwind-preset: patch (0.6.10.6.2) - release alignment only, no consumer-facing changes
  • Breaking changes documented with migration guidance
  • Migration guides updated with before/after examples (if breaking changes)
  • PR references included in changelog entries

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've reviewed the Reviewing Release PRs guide
  • Package versions follow semantic versioning
  • Changelog entries are consumer-facing (not commit message regurgitation)
  • Breaking changes are documented in MIGRATION.md with examples
  • All unreleased changes are accounted for in changelogs

Note

Low Risk
Mostly version/changelog updates; no runtime code changes in this diff, but consumers may still be impacted by the documented breaking API surface changes in Box/Icon contracts if included in the release set.

Overview
Bumps the monorepo to release 35.0.0, updating package versions for design-system-shared (0.13.0), design-system-react (0.18.0), design-system-react-native (0.20.0), and design-system-tailwind-preset (0.6.2).

Updates changelogs to publish the latest release notes (including documented breaking Icon/Box contract alignment and a new React Native Tag), and removes the 0.17.0 → 0.18.0 section from design-system-react’s MIGRATION.md while leaving its TOC entry.

Reviewed by Cursor Bugbot for commit 777605b. Bugbot is set up for automated code reviews on this repo. Configure here.

@georgewrmarshall georgewrmarshall requested a review from a team as a code owner April 23, 2026 16:08
@github-actions
Copy link
Copy Markdown
Contributor

📖 Storybook Preview

@github-actions
Copy link
Copy Markdown
Contributor

📖 Storybook Preview

@georgewrmarshall georgewrmarshall deleted the release/35.0.0 branch April 23, 2026 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant