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.
- BREAKING: Bump peer dependency
@metamask/profile-sync-controller
from^2.0.0
to^3.0.0
(#5012) - Bump
@metamask/controller-utils
from^11.4.3
to^11.4.4
(#5012)
- Correct ESM-compatible build so that imports of the following packages that re-export other modules via
export *
are no longer corrupted: (#5011)loglevel
nock
- BREAKING: Bump
@metamask/keyring-controller
peer dependency from^18.0.0
to^19.0.0
(#4195) - BREAKING: Bump
@metamask/profile-sync-controller
peer dependency from^1.0.0
to^2.0.0
(#4195)
- BREAKING: Bump
@metamask/keyring-controller
peer dependency from^17.0.0
to^18.0.0
(#4195) - BREAKING: Bump
@metamask/profile-sync-controller
peer dependency from^0.9.7
to^1.0.0
(#4902) - Bump
@metamask/controller-utils
from^11.4.2
to^11.4.3
(#4195)
- fix: disable notifications (#4890)
- Release 236.0.0 (#4870)
- Release 233.0.0 (#4862)
- chore: Bump
@metamask/utils
(#4831)
- Export snap types (#4836)
- fix: add publish event in
deleteNotificationsById
(#4836)
- Added support for an optional FCM token parameter for push notifications on mobile platforms, allowing native handling of FCM token creation through the Firebase SDK (#4823)
-
update the types described in
types/on-chain-notification/schema
andtypes/on-chain-notification/on-chain-notification
(#4818)- adds new notifications: aave_v3_health_factor; ens_expiration; lido_staking_rewards; notional_loan_expiration; rocketpool_staking_rewards; spark_fi_health_factor
- splits Wallet Notifications from Web 3 Notifications
-
updated and added new notification mocks (#4818)
- can be accessed through
@metamask/notification-services-controller/notification-services/mocks
- can be accessed through
- made
updateMetamaskNotificationsList
function work correctly by making the message handler async and moving the publish call outside of the update function. This ensures theNotificationServicesController:notificationsListUpdated
event is received by the extension (#4826)
- added the ability for the
fetchFeatureAnnouncementNotifications
function, within thenotification-services-controller
, to fetch draft content from Contentful. This is made possible by passing apreviewToken
parameter (#4790)
- update
createMockNotification
functions to provide more realistic data for use in tests and component rendering in Storybook (#4791)
- Add new functions to create mock notifications (#4780)
createMockNotificationAaveV3HealthFactor
: this function generates a mock notification related to the health factor of an Aave V3 positioncreateMockNotificationEnsExpiration
: this function creates a mock notification for the expiration of an ENS (Ethereum Name Service) domaincreateMockNotificationLidoStakingRewards
: this function produces a mock notification for Lido staking rewardscreateMockNotificationNotionalLoanExpiration
: this function generates a mock notification for the expiration of a Notional loancreateMockNotificationSparkFiHealthFactor
: This function produces a mock notification related to the health factor of a SparkFi position
- Add
resetNotifications
option during the notification creation flow (#4738)
- Bump
@metamask/keyring-controller
from^17.2.1
to^17.2.2
. (#4731) - Bump
@metamask/profile-sync-controller
from^0.9.1
to^0.9.2
. (#4731)
- Update UI export from MATIC to POL (#4720)
- Bump
@metamask/profile-sync-controller
from^0.8.0
to^0.8.1
([#4722]#4720)
- Bump
@metamask/profile-sync-controller
from^0.7.0
to^0.8.0
(#4712)
- BREAKING use new profile-sync notification settings path hash (#4711)
- changing this path also means the underlying storage hash has changed. But this will align with our existing solutions that are in prod.
- update subpath exports to use new .d.cts definition files. (#4709)
- Bump
@metamask/profile-sync-controller
from^0.6.0
to^0.7.0
(#4710)
- 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 inpackage.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.
- Previously, this package shipped with only one variant of type declaration
files, and these files were only CommonJS-compatible, and the
- 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.
- move contentful as a dev dependency (#4673)
- update polygon symbol from MATIC to POL (#4672)
- Bump
@metamask/profile-sync-controller
from^0.4.0
to^0.5.0
(#4678)
- fix: keep push subscription when wallet is locked (#4653)
- add
NotificationServicesPushController:subscribeToPushNotifications
event and allowedEvent inNotificationServicesController
- add else check to continue to subscribe to push notifications when wallet is locked
- add
- Bump
@metamask/profile-sync-controller
from^0.3.0
to^0.4.0
(#4661)
- passed notification parameter to the
NotificationServicesPushController
onPushNotificationClicked
config (#4613) - Define and export new type
NotificationServicesControllerGetStateAction
(#4633) - Add and export types
NotificationServicesPushControllerGetStateAction
,NotificationServicesPushControllerStateChangeEvent
(#4641) - add subpath exports to
@metamask/notification-services-controller
(#4604)- add
@metamask/notification-services-controller/notification-services
export - add
@metamask/notification-services-controller/push-services
export
- add
- add
TypeExternalLinkFields
,TypePortfolioLinkFields
, andTypeMobileLinkFields
types to handle different types of links in feature announcements (#4620)
- Bump
typescript
from~5.1.6
to~5.2.2
(#4584) - Bump
@metamask/profile-sync-controller
from^0.2.1
to^0.3.0
(#4657) - Bump
contentful
from^10.3.6
to^10.15.0
(#4637) - BREAKING: Rename
NotificationServicesPushControllerPushNotificationClicked
type toNotificationServicesPushControllerPushNotificationClickedEvent
(#4641) - BREAKING: Narrow
AllowedEvents
type forNotificationServicesPushControllerMessenger
tonever
(#4641) - updated
NotificationServicesPushControllerMessenger
must allow internal eventNotificationServicesPushControllerStateChangeEvent
(#4641) - updated
FeatureAnnouncementRawNotificationData
to include fields for external, portfolio, and mobile links (#4620) - updated
TypeFeatureAnnouncementFields
to include fields for external, portfolio, and mobile links (#4620) - updated
fetchFeatureAnnouncementNotifications
to handle the new link types and include them in the notification data.
- Replace
getState
action inNotificationServicesControllerActions
with correctly-definedNotificationServicesControllerGetStateAction
type (#4633) - BREAKING: Fix package-level export for
NotificationServicesPushController
from "NotificationsServicesPushController" to "NotificationsServicesPushController" (#4641) - BREAKING: Replace incorrectly-defined
getState
action in theActions
type forNotificationServicesPushControllerMessenger
with newNotificationServicesPushControllerGetStateAction
type (#4641) - update subpath exports internal
package.json
files to resolvejest-haste-map
errors (#4650) - removed unnecessary subpath exports (#4650)
- removed
/constants
,/services
,/processors
,/utils
sub paths as these are navigable from root.
- removed
- new controller events when notifications list is updated or notifications are read (#4573)
- unlock checks for when controller methods are called (#4569)
- Add and export type
BlockExplorerConfig
and objectSUPPORTED_NOTIFICATION_BLOCK_EXPLORERS
, which is a collection of block explorers for chains on which notifications are supported (#4552)
- BREAKING: Bump peerDependency
@metamask/profile-sync-controller
from^0.1.4
to^0.2.0
(#4548) - Remove
@metamask/keyring-controller
and@metamask/profile-sync-controller
dependencies #4556- These were listed under
peerDependencies
already, so they were redundant as dependencies.
- These were listed under
- Upgrade TypeScript version to
~5.0.4
and setmoduleResolution
option toNode16
(#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)
-
added catch statements in NotificationServicesController to silently fail push notifications (#4536)
-
added checks to see feature announcement environments before fetching announcements (#4530)
- removed retries when fetching announcements and wallet notifications. Clients are to handle retries now. (#4531)
-
export
defaultState
forNotificationServicesController
andNotificationServicesPushController
. (#4441) -
export
NOTIFICATION_CHAINS_ID
which is a const-asserted version ofNOTIFICATION_CHAINS
(#4441) -
export
NOTIFICATION_NETWORK_CURRENCY_NAME
andNOTIFICATION_NETWORK_CURRENCY_SYMBOL
. Allows consistent currency names and symbols for supported notification services (#4441) -
add
isPushIntegrated
as an optional env property in theNotificationServicesController
constructor (defaults to true) (#4441)
NotificationServicesPushController
- removed globalself
calls for mobile compatibility (#4441)
- Initial release