-
-
Notifications
You must be signed in to change notification settings - Fork 262
Release/725.0.0 #7501
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/725.0.0 #7501
Conversation
|
|
||
| - 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)) | ||
| - **BREAKING:** 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.
Can you add a note underneath this bullet point explaining how this upgrade causes breaking changes in bridge-controller?
- **BREAKING:** Bump `@metamask/remote-feature-flag-controller` from `^3.0.0` to `^4.0.0` ([#7499](https://github.com/MetaMask/core/pull/7499))
- This change is breaking because ...Or if this is not breaking, can you remove **BREAKING:** from this entry?
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.
will update for each: - This change is breaking because the controller state structure has changed: two new persisted state properties (localOverrides and rawRemoteFeatureFlags) have been added. Consumers need to ensure their state migration handles these new properties, and TypeScript types have been updated accordingly.
updated
|
|
||
| ### Changed | ||
|
|
||
| - **BREAKING:** 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.
Similar as above, can you add a note explaining why this is breaking or remove the **BREAKING:** prefix?
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.
updated
|
|
||
| - 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)) | ||
| - **BREAKING:** 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.
Similar as above, can you add a note explaining why this is breaking or remove the **BREAKING:** prefix?
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.
updated
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.
removing because it doesn't break the package
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 left some more comments below.
However, one thing I failed to realize when reviewing #7271 was that there were breaking changes made. We have some instructions for introducing breaking changes and one of the steps we ask is that you publish a preview build for the package you changed and create draft PRs on both extension and mobile where you upgrade them to the preview build. This will help you confirm the breaking changes that you've made, and it will inform you on whether there are more packages you need to include in this release.
I realized that you created a PR on the mobile side which tests these breaking changes, so that is good. However, when breaking changes we want to have draft PRs for both clients so that we can make sure there are no breaking changes we've discounted, and so that upgrading the package in both clients is fast and easy.
Since you've already merged #7271, maybe you should close this PR for now until you have a draft PR on extension?
| - 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)) | ||
| - **BREAKING:** Bump `@metamask/remote-feature-flag-controller` from `^3.0.0` to `^4.0.0` ([#7499](https://github.com/MetaMask/core/pull/7499)) | ||
| - This change is breaking because the controller state structure has changed: two new persisted state properties (`localOverrides` and `rawRemoteFeatureFlags`) have been added. Consumers need to ensure their state migration handles these new properties, and TypeScript types have been updated accordingly. |
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.
Those instructions makes sense for remote-feature-flag-controller, but how does it affect bridge-controller and the way it ought to be used?
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 have it as breaking because I had to update the package to pass the typing issues for tests
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.
removing because it doesn't break the package
| ### Changed | ||
|
|
||
| - **BREAKING:** Bump `@metamask/remote-feature-flag-controller` from `^3.0.0` to `^4.0.0` ([#7499](https://github.com/MetaMask/core/pull/7499)) | ||
| - This change is breaking because the controller state structure has changed: two new persisted state properties (`localOverrides` and `rawRemoteFeatureFlags`) have been added. Consumers need to ensure their state migration handles these new properties, and TypeScript types have been updated accordingly. |
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.
How does this affect the way that transaction-controller ought to be used?
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 have it as breaking because I had to update the package to pass the typing issues for tests
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.
removing because it doesn't break the package
| - 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)) | ||
| - **BREAKING:** Bump `@metamask/remote-feature-flag-controller` from `^3.0.0` to `^4.0.0` ([#7499](https://github.com/MetaMask/core/pull/7499)) | ||
| - This change is breaking because the controller state structure has changed: two new persisted state properties (`localOverrides` and `rawRemoteFeatureFlags`) have been added. Consumers need to ensure their state migration handles these new properties, and TypeScript types have been updated accordingly. |
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.
How does this affect how transaction-pay-controller ought to be used?
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 have it as breaking because I had to update the package to pass the typing issues for tests
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.
removing because it doesn't break the package
MarioAslau
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.
Looks good to me - currently some pending questions on the PR
6251f00 to
fca17fc
Compare
This comment was marked as outdated.
This comment was marked as outdated.
|
extension preview build |
Pull request was closed
Explanation
This PR upgrades
@metamask/remote-feature-flag-controllerfrom v3.0.0 to v4.0.0 across the monorepo and bumps the monorepo version to 725.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 4.0.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 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 (v4.0.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@^4.0.0:@metamask/bridge-controller@metamask/transaction-controller@metamask/transaction-pay-controllerAll changelogs have been updated to document this breaking dependency upgrade.
References
Checklist
Note
Upgrades
@metamask/remote-feature-flag-controllerto v4.0.0 with override APIs and updates all dependents; bumps monorepo to 725.0.0.@metamask/remote-feature-flag-controllerto^4.0.0inpackages/bridge-controller,packages/transaction-controller, andpackages/transaction-pay-controller.packages/remote-feature-flag-controllerto version4.0.0with new override APIs and state props; refresh changelog compare links.versionto725.0.0.yarn.lockto reflect dependency changes.Written by Cursor Bugbot for commit f0d850e. This will update automatically on new commits. Configure here.