Revert Release 20.0.0 to redo properly#930
Conversation
This reverts commit 4500419.
📖 Storybook Preview |
| { | ||
| "name": "@metamask/metamask-design-system", | ||
| "version": "20.0.0", | ||
| "version": "19.0.0", |
There was a problem hiding this comment.
Reverting root monorepo version from 20.0.0 back to 19.0.0 since Release 20.0.0 was never published to NPM. This allows us to create a proper Release 20.0.0 with complete changelogs including all changes merged since the failed release.
| { | ||
| "name": "@metamask/design-tokens", | ||
| "version": "8.2.0", | ||
| "version": "8.1.1", |
There was a problem hiding this comment.
Restoring design-tokens to 8.1.1 which is the last published version on NPM. The bump to 8.2.0 in the failed release included exporting the AnimationDuration enum that will be properly released in the new Release 20.0.0.
| "peerDependencies": { | ||
| "@metamask/design-system-twrnc-preset": "^0.3.0", | ||
| "@metamask/design-tokens": "^8.2.0", | ||
| "@metamask/design-tokens": "^8.1.0", |
There was a problem hiding this comment.
Reverting peer dependency from ^8.2.0 back to ^8.1.0. The original Release 20.0.0 updated this to match the BottomSheetOverlay component's use of AnimationDuration enum, but this change caused the yarn.lock issue that led to the publish failure. Will be properly included in the new release with correct lockfile.
|
|
||
| - Fixed `ButtonBase` component sizing issues in flex layouts to prevent unexpected shrinking ([#870](https://github.com/MetaMask/metamask-design-system/pull/870)) | ||
|
|
||
| ## [0.6.0] |
There was a problem hiding this comment.
Removing the 0.7.0 changelog section that documented: breaking enum changes, BottomSheetOverlay component, CorporateFare icon, ButtonBase fixes, and dependency updates. These changes are still in main branch code but were never published. The new Release 20.0.0 will include updated changelogs documenting these plus the 7 additional PRs merged since.
|
|
||
| [Unreleased]: https://github.com/MetaMask/metamask-design-system/compare/@metamask/design-system-react-native@0.7.0...HEAD | ||
| [0.7.0]: https://github.com/MetaMask/metamask-design-system/compare/@metamask/design-system-react-native@0.6.0...@metamask/design-system-react-native@0.7.0 | ||
| [Unreleased]: https://github.com/MetaMask/metamask-design-system/compare/@metamask/design-system-react-native@0.6.0...HEAD |
There was a problem hiding this comment.
Restoring the Unreleased comparison link to point to 0.6.0 instead of 0.7.0. This maintains the correct diff reference since 0.7.0 was never actually released to NPM. After the new Release 20.0.0, this will be updated to point to the newly published version.
## Release 20.0.0
This release includes updates to 4 packages with breaking changes, new
features, and improvements.
## Packages Being Released
| Package | Current Version | New Version | Type |
|---------|----------------|-------------|------|
| @metamask/design-tokens | 8.1.1 | 8.2.0 | Minor |
| @metamask/design-system-react | 0.7.0 | 0.8.0 | Minor |
| @metamask/design-system-react-native | 0.6.0 | 0.7.0 | Minor |
| @metamask/design-system-shared | 0.1.2 | 0.1.3 | Patch |
## Highlights
### 🎨 Design Tokens (8.2.0)
- Exported `AnimationDuration` enum for standardized animation timing
values
### ⚛️ Design System React (0.8.0)
- **BREAKING:** Standardized enum values to kebab-case format
- Added `CorporateFare` icon
- Added `Input` component
- Updated `@metamask/utils` peer dependency to 11.10.0
### 📱 Design System React Native (0.7.0)
- **BREAKING:** Standardized enum values to kebab-case format
- Added 7 new components: `Label`, `HeaderBase`, `Skeleton`, `Card`,
`BottomSheetFooter`, `Toast`, `Input`
- Added `CorporateFare` icon
- Added `BottomSheetOverlay` component for modal interactions
- Fixed `ButtonBase` sizing issues in flex layouts
- Updated component styling to use `tw.style()` for better type safety
### 🔧 Other Packages
- **design-system-shared (0.1.3)**: Updated `@metamask/utils` dependency
## Breaking Changes
### Enum Value Format Change (React & React Native)
All component enum values (except icon names) now use kebab-case format
at runtime:
```tsx
// Code usage remains the same
<Button variant={ButtonVariant.Primary} />
// But the runtime value changed from 'Primary' to 'primary'
console.log(ButtonVariant.Primary); // 'primary' (was 'Primary')
```
**Migration:**
- **Most consumers:** No changes needed - continue using enum constants
(e.g., `ButtonVariant.Primary`)
- **Only if persisting/transmitting values:** Update stored values from
PascalCase to kebab-case (e.g., `'Primary'` → `'primary'`, `'TopRight'`
→ `'top-right'`)
**Context:** This prepares for migration from enums to string union
types per [ADR #127](MetaMask/decisions#127)
## Critical Fix
This release includes the yarn.lock update that was missing from the
original Release 20.0.0 attempt. The peer dependency change from
`@metamask/design-tokens` `^8.1.0` to `^8.2.0` now has the corresponding
yarn.lock update, preventing the publish workflow failure.
## Context
This is a recreation of Release 20.0.0 after:
1. The original release merged but publish failed due to missing
yarn.lock update
2. 7 additional PRs were merged to main
3. We reverted the release to properly document all changes
See [PR
#930](#930) for
revert details.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Medium Risk**
> Mostly a release/versioning PR, but it includes a documented breaking
change to enum runtime values and dependency range updates that can
affect downstream consumers relying on persisted/transmitted enum
strings.
>
> **Overview**
> Bumps the monorepo release to `20.0.0` and publishes new versions of
`@metamask/design-tokens` (`8.2.0`), `@metamask/design-system-react`
(`0.8.0`), `@metamask/design-system-react-native` (`0.7.0`), and
`@metamask/design-system-shared` (`0.1.3`).
>
> Updates changelogs to document the release contents (including a
**breaking** kebab-case standardization for non-icon enum runtime
values, new React/React Native components/icons, and the
`AnimationDuration` token export), and aligns
`@metamask/design-system-react-native` peer dependency on
`@metamask/design-tokens` to `^8.2.0` with the corresponding `yarn.lock`
update.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
f049d15. 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>
Summary
Reverts the failed Release 20.0.0 (#921) to redo it properly with complete changelogs and correct yarn.lock.
Context
Release 20.0.0 was merged to main but the publish workflow failed due to a yarn.lock issue:
After the release was merged, 7 additional PRs were merged to main:
HeaderBasecomponent #902)BottomSheetFootercomponent #899)Why Revert?
To maintain clean version history and proper changelogs:
Changes
This PR reverts commit
45004196which:Next Steps
After this is merged:
release/20.0.0branch using standard release processyarn installto update yarn.lock🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com
Note
Low Risk
Primarily metadata changes (versions/changelogs) with a small dependency range rollback; low runtime risk but could affect downstream installs expecting the newer peer range.
Overview
Reverts the attempted
20.0.0release by rolling back version bumps in the rootpackage.jsonand multiple packages (design-system-react,design-system-react-native,design-system-shared,design-tokens).Removes the corresponding unreleased changelog sections/compare links for those reverted versions and resets
@metamask/design-system-react-native’s@metamask/design-tokenspeer dependency from^8.2.0back to^8.1.0.Written by Cursor Bugbot for commit 1b9617a. This will update automatically on new commits. Configure here.