-
-
Notifications
You must be signed in to change notification settings - Fork 266
Release/728.0.0 #7519
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release/728.0.0 #7519
Conversation
|
extension preview build |
|
|
||
| ## [Unreleased] | ||
|
|
||
| ## [4.0.0] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why a major version bump? Is one of these changes breaking?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No I didn't know that is what constitute breaking. I put Major change because it added new functions and state objects
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We use SemVer for package versions. See here for more guidance on when a change is breaking, and how to properly document it: https://github.com/MetaMask/core/blob/main/docs/breaking-changes.md
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I noticed that the new properties you added are mandatory, so this is a breaking change at least for the state type.
Can you update the changelog to add a change entry about this? Or we can update the type in a separate PR to make those properties optional instead if you'd prefer, so that this isn't a breaking change anymore.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I updated the state variables and made them optional in this PR: #7521
and changed to a minor bump 3.1.0
|
|
||
| - Bump `@metamask/assets-controllers` from `^93.1.0` to `^94.1.0` ([#7444](https://github.com/MetaMask/core/pull/7444), [#7488](https://github.com/MetaMask/core/pull/7488)) | ||
| - Bump `@metamask/transaction-controller` from `^62.5.0` to `^62.7.0` ([#7430](https://github.com/MetaMask/core/pull/7430), [#7494](https://github.com/MetaMask/core/pull/7494)) | ||
| - Bump `@metamask/remote-feature-flag-controller` from `^3.0.0` to `^4.0.0` ([#7499](https://github.com/MetaMask/core/pull/7499)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR is 7519 — can you update this PR number? That's why you were getting the errors from the changelog checker.
| - Bump `@metamask/remote-feature-flag-controller` from `^3.0.0` to `^4.0.0` ([#7499](https://github.com/MetaMask/core/pull/7499)) | |
| - Bump `@metamask/remote-feature-flag-controller` from `^3.0.0` to `^4.0.0` ([#7519](https://github.com/MetaMask/core/pull/7519)) |
|
|
||
| ### Changed | ||
|
|
||
| - Bump `@metamask/remote-feature-flag-controller` from `^3.0.0` to `^4.0.0` ([#7499](https://github.com/MetaMask/core/pull/7499)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same here:
| - Bump `@metamask/remote-feature-flag-controller` from `^3.0.0` to `^4.0.0` ([#7499](https://github.com/MetaMask/core/pull/7499)) | |
| - Bump `@metamask/remote-feature-flag-controller` from `^3.0.0` to `^4.0.0` ([#7519](https://github.com/MetaMask/core/pull/7519)) |
| - Bump `@metamask/assets-controllers` from `^93.1.0` to `^94.1.0` ([#7444](https://github.com/MetaMask/core/pull/7444), [#7488](https://github.com/MetaMask/core/pull/7488)) | ||
| - Bump `@metamask/transaction-controller` from `^62.6.0` to `^62.7.0` ([#7494](https://github.com/MetaMask/core/pull/7494)) | ||
| - Bump `@metamask/bridge-controller` from `^64.1.0` to `^64.2.0` ([#7509](https://github.com/MetaMask/core/pull/7509)) | ||
| - Bump `@metamask/remote-feature-flag-controller` from `^3.0.0` to `^4.0.0` ([#7499](https://github.com/MetaMask/core/pull/7499)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same here:
| - Bump `@metamask/remote-feature-flag-controller` from `^3.0.0` to `^4.0.0` ([#7499](https://github.com/MetaMask/core/pull/7499)) | |
| - Bump `@metamask/remote-feature-flag-controller` from `^3.0.0` to `^4.0.0` ([#7519](https://github.com/MetaMask/core/pull/7519)) |
## Explanation The `localOverrides` and `rawRemoteFeatureFlags` properties were recently added to `RemoteFeatureFlagControllerState` in PR #7271 as required properties. However, consumers with existing persisted state from before these properties were added will experience TypeScript errors when their state is loaded, since these properties won't exist in the persisted data but are marked as required. This PR marks `localOverrides` and `rawRemoteFeatureFlags` as optional in the `RemoteFeatureFlagControllerState` type to ensure backwards compatibility with existing persisted state. The `getDefaultRemoteFeatureFlagControllerState()` function continues to initialize these properties with empty objects, so newly created state will still have them populated. ## References - Related to #7271 ## Checklist - [x] I've updated the test suite for new or updated code as appropriate - [x] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate - [x] I've communicated my changes to consumers by [updating changelogs for packages I've changed](https://github.com/MetaMask/core/tree/main/docs/contributing.md#updating-changelogs) - [ ] I've introduced [breaking changes](https://github.com/MetaMask/core/tree/main/docs/breaking-changes.md) in this PR and have prepared draft pull requests for clients and consumer packages to resolve them
c4db5d3 to
9719ec8
Compare
This comment has been minimized.
This comment has been minimized.
mcmire
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
Explanation
This PR upgrades
@metamask/remote-feature-flag-controllerfrom v3.0.0 to v3.1.0 across the monorepo and bumps the monorepo version to 728.0.0.Current State
The
@metamask/remote-feature-flag-controllerpackage is currently at version 3.0.0, which supports version-gated feature flags but lacks the ability for clients to locally override feature flag values for testing, debugging, or development purposes.Solution
Version 3.1.0 introduces new override functionality that allows clients to set local overrides for feature flags. These overrides take precedence over remote feature flags, enabling:
Changes in v4.0.0
New APIs:
setFlagOverride(flagName, value)- Set a local override for a specific feature flagremoveFlagOverride(flagName)- Clear the local override for a specific feature flagclearAllFlagOverrides()- Clear all local feature flag overridesNew Optional State Properties:
localOverrides- Local overrides for feature flags that take precedence over remote flagsrawRemoteFeatureFlags- Raw flag value for all feature flags (separate from the merged view)New Exports:
RemoteFeatureFlagControllerSetFlagOverrideActionRemoteFeatureFlagControllerRemoveFlagOverrideActionRemoteFeatureFlagControllerClearAllFlagOverridesActionBreaking Changes
While this release is primarily additive, it's marked as a major version bump (v3.1.0) because:
localOverrides,rawRemoteFeatureFlags) are added to the controller state, which affects state serialization/deserializationPackage Updates
The following packages have been updated to use
@metamask/remote-feature-flag-controller@^3.1.0:@metamask/bridge-controller@metamask/transaction-controller@metamask/transaction-pay-controllerAll changelogs have been updated to document this breaking dependency upgrade.
References
Checklist
Note
Bumps the monorepo to 728.0.0 and upgrades
@metamask/remote-feature-flag-controllerto 3.1.0 with flag override APIs, updating dependent packages and changelogs.versionto728.0.0.packages/remote-feature-flag-controller3.1.0; adds local flag override APIs (setFlagOverride,removeFlagOverride,clearAllFlagOverrides) and optional state/exports; updateCHANGELOG.md.@metamask/remote-feature-flag-controller@^3.1.0inpackages/bridge-controller,packages/transaction-controller, andpackages/transaction-pay-controller.CHANGELOG.mdfiles.yarn.lockto resolve new dependency versions.Written by Cursor Bugbot for commit 53e3b53. This will update automatically on new commits. Configure here.