Release 21.0.0 (corrected)#940
Merged
Merged
Conversation
Updated changelogs for @metamask/design-system-react v0.9.0, @metamask/design-system-react-native v0.8.0, and @metamask/design-system-shared v0.2.0 to provide clear, human-readable descriptions of changes. Key updates: - Properly categorized BadgeStatus migration as BREAKING change - Added detailed migration notes for enum to string union migration - Documented ADR-0003 and ADR-0004 implementation - Moved RadioButton feature to Added section with description - Categorized BottomSheetFooter refactor in Changed section - Added BadgeStatus types to design-system-shared Added section All changes validated with yarn changelog:validate. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
…rsions Updated peer dependency versions to match the current package versions in the monorepo: - @metamask/design-system-tailwind-preset: ^0.6.0 → ^0.6.1 - @metamask/design-tokens: ^8.1.0 → ^8.2.0 This ensures consumers get the correct peer dependency warnings and install compatible versions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Updated changelogs to be more user-focused and less confusing: - Removed internal architecture details about design-system-shared - Clarified that users should continue importing from their current packages (design-system-react or design-system-react-native) - Simplified migration guidance to focus on "no migration required" - Added note that we're still evaluating best practices for const objects vs string literals Users don't need to know about internal package structure - they should just continue using the packages as usual. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Added links to ADR-0003 and ADR-0004 in changelogs to provide architectural context for the enum to string union migration. Maintains user-friendly migration guidance while linking to deeper technical documentation for those interested. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
…rrent versions" This reverts commit 66e62f0.
brianacnguyen
approved these changes
Feb 25, 2026
Contributor
📖 Storybook Preview |
georgewrmarshall
added a commit
that referenced
this pull request
Mar 3, 2026
## Release 21.0.0 This release includes breaking changes, new features, and refactoring improvements across the design system packages. **Note:** This is a corrected resubmission of #938 without peer dependency updates that caused yarn.lock modifications in CI. ### 📦 Package Versions - `@metamask/design-system-react`: **0.9.0** - `@metamask/design-system-react-native`: **0.8.0** - `@metamask/design-system-shared`: **0.2.0** ###⚠️ Breaking Changes #### BadgeStatus Migration to String Union Types (#912) The `BadgeStatus` component has been migrated from TypeScript enums to string union types with const objects: **What Changed:** - `BadgeStatusStatus` and `BadgeStatusSize` enums replaced with const objects - **No migration required** - continue importing from your current package - Const object values remain the same: `BadgeStatusStatus.Active` still works - String literals now also accepted: `'active'` works where `BadgeStatusStatus.Active` is expected - We are still evaluating best practices for const objects vs string literals **Affected Packages:** - `@metamask/design-system-react@0.9.0` - `@metamask/design-system-react-native@0.8.0` - `@metamask/design-system-shared@0.2.0` **Learn More:** - [ADR-0003: Enum to String Union Migration](https://github.com/MetaMask/decisions/blob/main/decisions/design-system/0003-enum-to-string-union-migration.md) - [ADR-0004: Centralized Types Architecture](https://github.com/MetaMask/decisions/blob/main/decisions/design-system/0004-centralized-types-architecture.md) ### ✨ New Features #### RadioButton Component (#926) - Added `RadioButton` component to React Native - Supports checked, disabled, read-only, and danger states - Full accessibility support with `role="radio"` and `accessibilityState` - Optional label rendering ### 🔨 Refactoring #### BottomSheetFooter Reorganization (#933) - Moved `BottomSheetFooter` from `BottomSheets/BottomSheetFooter/` to `BottomSheetFooter/` - Updated import paths and Storybook title - No breaking changes - all package imports continue to work ### ✅ Checklist - [x] All changelogs updated with human-readable descriptions - [x] Breaking changes clearly documented - [x] Changelog validation passed (`yarn changelog:validate`) - [x] All packages built successfully - [x] Migration paths provided for breaking changes - [x] No peer dependency changes to avoid yarn.lock modifications 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > This PR only changes package versions and changelog entries; no runtime code is modified. > > **Overview** > Bumps the monorepo release to `21.0.0` and updates package versions for `@metamask/design-system-react` to `0.9.0`, `@metamask/design-system-react-native` to `0.8.0`, and `@metamask/design-system-shared` to `0.2.0`. > > Updates the React and React Native changelogs to document a **breaking** `BadgeStatus` type migration (enums → const objects + derived string unions), plus RN-only release notes for adding `RadioButton` and a `BottomSheetFooter` location refactor; also updates changelog compare links to start from the new versions. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 35569fb. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release 21.0.0
This release includes breaking changes, new features, and refactoring improvements across the design system packages.
Note: This is a corrected resubmission of #938 without peer dependency updates that caused yarn.lock modifications in CI.
📦 Package Versions
@metamask/design-system-react: 0.9.0@metamask/design-system-react-native: 0.8.0@metamask/design-system-shared: 0.2.0BadgeStatus Migration to String Union Types (#912)
The
BadgeStatuscomponent has been migrated from TypeScript enums to string union types with const objects:What Changed:
BadgeStatusStatusandBadgeStatusSizeenums replaced with const objectsBadgeStatusStatus.Activestill works'active'works whereBadgeStatusStatus.Activeis expectedAffected Packages:
@metamask/design-system-react@0.9.0@metamask/design-system-react-native@0.8.0@metamask/design-system-shared@0.2.0Learn More:
✨ New Features
RadioButton Component (#926)
RadioButtoncomponent to React Nativerole="radio"andaccessibilityState🔨 Refactoring
BottomSheetFooter Reorganization (#933)
BottomSheetFooterfromBottomSheets/BottomSheetFooter/toBottomSheetFooter/✅ Checklist
yarn changelog:validate)🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com
Note
Low Risk
This PR only updates version numbers and changelog entries; it does not change runtime code, but it communicates a breaking change for consumers in the release notes.
Overview
Bumps the monorepo version to
21.0.0and increments package versions (@metamask/design-system-reactto0.9.0,@metamask/design-system-react-nativeto0.8.0, and@metamask/design-system-sharedto0.2.0).Updates changelogs to record the release contents, including a breaking
BadgeStatusmigration from TS enums to const objects/string-union types, plus React Native notes for the newRadioButtoncomponent and aBottomSheetFooterlocation refactor.Written by Cursor Bugbot for commit 7428463. This will update automatically on new commits. Configure here.