All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Extends the
GatorPermissionsControllerto enable attaching metadata(transaction hash, block timestamp) when submitting a permission revocation. (#7503)
- Export
DELEGATION_FRAMEWORK_VERSIONconstant to indicate the supported Delegation Framework version (#7195)
- BREAKING: Permission decoding now rejects
TimestampEnforcercaveats with zerotimestampBeforeThresholdvalues (#7195) PermissionResponseSanitizednow includesrulesproperty for stronger typing support (#7195)- Permission decoding now resolves
erc20-token-revocationpermission type (#7299) - Differentiate
erc20-token-revocationpermissions fromotherin controller state (#7318) - Bump
@metamask/transaction-controllerfrom^62.3.1to^62.5.0(#7289, #7325)
- Refresh gator permissions map after revocation state change (#7235)
- New
submitDirectRevocationmethod for already-disabled delegations that don't require an on-chain transaction (#7244)
- Move peer dependencies for controller and service packages to direct dependencies (#7209, #7220, #7236, #7257)
- The dependencies moved are:
@metamask/snaps-controllers(^14.0.1)@metamask/transaction-controller(^62.3.1)
- In clients, it is now possible for multiple versions of these packages to exist in the dependency tree.
- For example, this scenario would be valid: a client relies on
@metamask/controller-a1.0.0 and@metamask/controller-b1.0.0, and@metamask/controller-bdepends on@metamask/controller-a1.1.0.
- For example, this scenario would be valid: a client relies on
- Note, however, that the versions specified in the client's
package.jsonalways "win", and you are expected to keep them up to date so as not to break controller and service intercommunication.
- The dependencies moved are:
- BREAKING: Bump
@metamask/transaction-controllerfrom^61.1.0to^62.0.0(#7202)
- Does not add a pending revocation if user cancels the transaction (#7157)
- BREAKING The GatorPermissionsController messenger must allow
TransactionController:transactionApprovedandTransactionController:transactionRejectedevents (#7157)
- BREAKING: Expose list of pending revocations in state (#7055)
- Add
pendingRevocationsproperty to state - Add
pendingRevocationsgetter to controller, which accesses the same property in state
- Add
- BREAKING: The GatorPermissionsController messenger must allow
TransactionController:transactionConfirmed,TransactionController:transactionFailed, andTransactionController:transactionDroppedevents (#6713) - Add
submitRevocationandaddPendingRevocationmethods to GatorPermissionsController (#6713)- These are also available as actions (
GatorPermissionsController:submitRevocationandGatorPermissionsController:addPendingRevocation)
- These are also available as actions (
- BREAKING: Add
@metamask/transaction-controlleras peer dependency (#7058)
- BREAKING: Use new
Messengerfrom@metamask/messenger(#6461)- Previously,
GatorPermissionsControlleraccepted aRestrictedMessengerinstance from@metamask/base-controller.
- Previously,
- BREAKING: Metadata property
anonymousrenamed toincludeInDebugSnapshot(#6461) - Bump
@metamask/base-controllerfrom^8.4.2to^9.0.0(#6962)
- Bump
@metamask/base-controllerfrom^8.4.1to^8.4.2(#6917)
- Bump
@metamask/utilsfrom^11.8.0to^11.8.1(#6708) - Bump
@metamask/base-controllerfrom^8.4.0to^8.4.1(#6807)
- Add two new controller state metadata properties:
includeInStateLogsandusedInUi(#6552) - Add method to decode permission from
signTypedData(#6556)
- Bump
@metamask/utilsfrom^11.4.2to^11.8.0(#6588) - Bump
@metamask/base-controllerfrom^8.3.0to^8.4.0(#6632) - Function
decodePermissionFromPermissionContextForOriginis now synchronous (#6656)
- Fix incorrect default Gator Permissions SnapId (#6546)
- Initial release (#6033)