Skip to content

Latest commit

 

History

History
375 lines (238 loc) · 17.4 KB

CHANGELOG.md

File metadata and controls

375 lines (238 loc) · 17.4 KB

Changelog

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.

Changed

  • Bump @metamask/base-controller from ^7.0.1 to ^7.0.2 (#4862)
  • Bump @metamask/controller-utils from ^11.3.0 to ^11.4.2 (#4834, #4862, #4870)
  • Bump @metamask/utils from ^9.1.0 to ^10.0.0 (#4831)
  • Bump @metamask/eth-sig-util from ^7.0.1 to ^8.0.0 (#4830)

Removed

  • Remove all code related to @metamask/signature-controller (#4785)
    • Remove TypedMessageManager.
    • Remove PersonalMessageManager.
    • Remove utils:
      • validateSignMessageData
      • validateTypedSignMessageDataV1
      • validateTypedSignMessageDataV3V4

Fixed

  • Produce and export ESM-compatible TypeScript type declaration files in addition to CommonJS-compatible declaration files (#4648)
    • Previously, this package shipped with only one variant of type declaration files, and these files were only CommonJS-compatible, and the exports field in package.json linked to these files. This is an anti-pattern and was rightfully flagged by the "Are the Types Wrong?" tool as "masquerading as CJS". All of the ATTW checks now pass.
  • Remove chunk files (#4648).
    • Previously, the build tool we used to generate JavaScript files extracted common code to "chunk" files. While this was intended to make this package more tree-shakeable, it also made debugging more difficult for our development teams. These chunk files are no longer present.

Added

  • Add protected methods addRequestToMessageParams, createUnapprovedMessage to AbstractMessageManager

Changed

  • Add requestId property to the messageParams object to reference metric event fragments created from the createRPCMethodTrackingMiddleware in the client (#4636)
    • Add optional property requestId to AbstractMessageParams type
    • Add optional property id to OriginalRequest type
  • Bump @metamask/controller-utils from ^11.1.0 to ^11.2.0 (#4651)

Changed

  • Bump @metamask/base-controller from ^6.0.2 to ^7.0.0 (#4625, #4643)
  • Bump typescript from ~5.0.4 to ~5.2.2 (#4576, #4584)

Changed

  • Upgrade TypeScript version to ~5.0.4 and set moduleResolution option to Node16 (#3645)
  • Bump @metamask/base-controller from ^6.0.1 to ^6.0.2 (#4544)
  • Bump @metamask/controller-utils from ^11.0.1 to ^11.0.2 (#4544)
  • Bump @metamask/utils from ^9.0.0 to ^9.1.0 (#4529)

Changed

  • Bump @metamask/utils to ^9.0.0, @metamask/rpc-errors to ^6.3.1 (#4516)

Fixed

  • Add EventEmitter type annotation to the hub class field of AbstractMessageManager (#4510)
    • This ensures that hub is not inferred to be a generic type, which would break types for downstream consumers.

Changed

  • BREAKING: Bump minimum Node version to 18.18 (#3611)
  • Bump @metamask/base-controller to ^6.0.0 (#4352)
  • Bump @metamask/controller-utils to ^11.0.0 (#4352)

Changed

  • Bump @metamask/controller-utils to ^10.0.0 (#4342)

Removed

  • BREAKING: Remove Message, MessageParams, MessageParamsMetamask, and MessageManager (#4319)
    • Support for eth_sign is being removed, so these are no longer needed.

Changed

  • Bump TypeScript version to ~4.9.5 (#4084)
  • Bump @metamask/base-controller to ^5.0.2 (#4232)
  • Bump @metamask/controller-utils to ^9.1.0 (#4153, #4065)

Fixed

  • Fix types field in package.json (#4047)

Added

  • BREAKING: Add ESM build (#3998)
    • It's no longer possible to import files from ./dist directly.

Changed

  • BREAKING: Bump @metamask/base-controller to ^5.0.0 (#4039)
    • This version has a number of breaking changes. See the changelog for more.
  • Bump @metamask/controller-utils to ^9.0.0 (#4039)

Changed

  • Remove dependency ethereumjs-util (#3943)
  • Bump @metamask/controller-utils to ^8.0.4 (#4007)

Changed

  • Bump @metamask/utils to ^8.3.0 (#3769)
  • Bump @metamask/base-controller to ^4.1.1 (#3760, #3821)
  • Bump @metamask/controller-utils to ^8.0.2 (#3821)

Changed

  • Bump @metamask/base-controller to ^4.0.1 (#3695)
  • Bump @metamask/controller-utils to ^8.0.1 (#3695, #3678, #3667, #3580)
  • Bump @metamask/eth-sig-util to ^7.0.1 (#3614)

Changed

  • Bump @metamask/utils to ^8.2.0 (#1957)
  • Bump @metamask/base-controller to ^4.0.0 (#2063)
    • This is not breaking because the message managers still inherit from BaseController v1.
  • Bump @metamask/controller-utils to ^6.0.0 (#2063)

Changed

  • Bump dependency on @metamask/utils to ^8.1.0 (#1639)
  • Bump dependency on @metamask/base-controller to ^3.2.3
  • Bump dependency on metamask/controller-utils to ^5.0.2

Fixed

  • Fix prepMessageForSigning in all message managers to handle frozen messageParams (#1733)

Changed

  • Update TypeScript to v4.8.x (#1718)

Changed

  • Bump dependency on @metamask/controller-utils to ^5.0.0

Changed

  • Bump @metamask/eth-sig-util from 6.0.0 to 7.0.0 (#1669)

Changed

  • Bump dependency on @metamask/base-controller to ^3.2.1
  • Bump dependency on @metamask/controller-utils to ^4.3.2

Changed

  • Add Blockaid validation response to messages (#1541)

Changed

  • Update @metamask/utils to ^6.2.0 (#1514)

Changed

  • Replace eth-sig-util with @metamask/eth-sig-util (#1483)

Fixed

  • Avoid race condition when creating typed messages (#1467)

Fixed

  • eth_signTypedData_v4 and v3 should take an object as well as string for data parameter. (#1438)

Added

  • Added waitForFinishStatus to AbstractMessageManager which is waiting for the message to be proccesed and resolve. (#1377)

Changed

  • BREAKING: Removed addUnapprovedMessageAsync methods from PersonalMessageManager, TypedMessageManager and MessageManager because it's not consumed by SignatureController anymore. (#1377)

Added

  • Add getAllMessages and setMetadata methods to message managers (#1364)
    • A new optional metadata property has been added to the message type as well
  • Add support for deferred signing (#1364)
    • deferSetAsSigned has been added as a message parameter. This is used to tell the signature controller to not mark this message as signed when the keyring is asked to sign it.
  • Add the setMessageStatusInProgress method to set a message status to inProgress (#1339)

Changed

  • BREAKING: The getCurrentChainId constructor parameter for each message manager now expects a Hex return type rather than a decimal string (#1367)
    • Note that while every message manager class accepts this as a constructor parameter, it's only used by the TypedMessageManager at the moment
  • Add @metamask/utils dependency (#1370)

Fixed

  • BREAKING: Add chain validation to eth_signTypedData_v4 signature requests (#1331)

Changed

  • BREAKING: Change type of securityProviderResponse to Record (#1214)
  • BREAKING: Update to Node 16 (#1262)

Fixed

  • Ensure message updates get saved in state even when they aren't emitted right away (#1245)
    • The updateMessage method included in each message manager accepted an emitUpdate boolean argument that would enable to caller to prevent that update from updating the badge (which displays the count of pending confirmations). Unfortunately this option would also prevent the update from being saved in state.
    • This method has been updated to ensure message updates are saved in state, even when the badge update event is suppressed

Added

  • Add DecryptMessageManager (#1149)

Added

  • Add EncryptionPublicKeyManager (#1144)
  • Add security provider request to AbstractMessageManager (#1145)

Changed

  • BREAKING: The methods addMessage and addUnapprovedMessage on each "message manager" controller are now asynchronous (#1145)

Added

  • Add SIWE detection support for PersonalMessageManager (#1139)

Removed

  • BREAKING: Remove isomorphic-fetch (#1106)
    • Consumers must now import isomorphic-fetch or another polyfill themselves if they are running in an environment without fetch

Changed

  • Rename this repository to core (#1031)
  • Update @metamask/controller-utils package (#1041)

Changed

  • Relax dependencies on @metamask/base-controller and @metamask/controller-utils (use ^ instead of ~) (#998)

Added

  • Initial release

    • As a result of converting our shared controllers repo into a monorepo (#831), we've created this package from select parts of @metamask/controllers v33.0.0, namely:

      • Everything in src/message-manager
      • Message manager-related functions in src/util.ts and accompanying tests

      All changes listed after this point were applied to this package following the monorepo conversion.