Releases: airgap-it/beacon-sdk
4.3.2-beta.0 (2024-12-20)
- Added support for Quebecnet
- Updated Operation types
- Mitigated potential issue while connecting to a WalletConnect relayer
v4.3.1
4.3.1 (2024-11-19)
- WalletConnect: Resolved an issue that prevented operations from being sent to the wallet immediately after a successful pairing on a secondary tab.
- WalletConnect: Enhanced overall stability on mobile devices. [1]
- Core: Updated the connected peer name to accurately reflect the name specified in the metadata.
What's Changed
- fix: race condition by @IsaccoSordo in #816
- fix: duplicated init by @IsaccoSordo in #818
- fix: transport status by @IsaccoSordo in #819
- fix: object store missing by @IsaccoSordo in #820
- fix: pairing request lost by @IsaccoSordo in #833
- fix: add name from metadata by @IsaccoSordo in #826
- fix: requests blocked by @IsaccoSordo in #836
Full Changelog: v4.3.0...v4.3.1
Developer Notes
[1] On mobile only, signClient.ping
has been disabled due to unintended behavior, as explained by the developers in this comment.
v4.3.0
4.3.0 (2024-09-04)
Breaking Changes
WalletConnectCommunicationClient
constructor now expects a function as a parameter. This function must check whether the current tab is the leader. [1]- Since version 4.2.0, subscribing to the event
ACTIVE_ACCOUNT_SET
is mandatory. You can read more here.
Changelog
- Added broadcast-channel support for managing multiple tabs when connected to WalletConnect.
- Adjusted CSS
font-size
unit for better scaling. - Added support for all public key types in
session_update
. - Now possible to send both the account’s address and public key in
session_update
. [2] - WalletConnect now includes the SDK version in the
sessionProperties
ofEngineTypes.ConnectParams
duringSignClient.connect
. - Updated Tezos operation types.
Developer Notes
[1] This change prevents multiple WalletConnect signClient
from being created, avoiding “No matching keys” errors. If you need to get familiar with broadcast-channel, we have published an example here
[2] Sending both the account’s address and public key is optional. The order matters: in namespaces.accounts
, the address must come first (index 0), followed by the public key (index 1).
v4.3.0-beta.1
Changelog
- Addressed an issue which prevented requests not being sent over the P2P transport
Since 4.3.0-beta.0
- Added broadcast-channel for multiple tab management while connected to WalletConnect. [1]
- Changed font-size CSS unit to better adjust scaling.
- Added support for all public key types for session_update.
- It is now possible to send both the account’s address and public key in a session_update. [2]
- On WalletConnect, we now send the SDK version through
sessionProperties
ofEngineTypes.ConnectParams
onSignClient.connect
Developer Notes
[1] This change prevents multiple WalletConnect signClients from being created, avoiding “No matching keys” errors.
[2] Sending both the account’s address and public key is optional.
The order matters: in namespaces.accounts
, the address must come first (index 0), followed by the public key (index 1).
v4.2.2
4.2.2 (2024-05-15)
Features
- tezos: Added Parisnet support
Improvements
- WalletConnect: Enhanced error handling for IndexedDB.
- WalletConnect: For WalletConnect, both pairing and active sessions are now deleted when running
clearActiveAccount
. - internal: Improved internal subscription management for the transport client communication layer. Internal subscriptions are now freed when running
dAppClient.destroy()
.
v4.2.1
4.2.1 (2024-04-04)
Bugfixes
- internal: Fixed a bug which caused an “aborted error” to interrupt a request permissions flow
- internal: ACTIVE_ACCOUNT_SET is no longer emitted twice when requesting permissions
- internal: We now throw an error preventing someone to disconnect multiple times over a disconnected transport
- WalletConnect: The error “Error: No matching key” should no longer appear in dApps running in a single browser tab
v4.2.0
4.2.0 (2024-03-25)
Features
- BREAKING CHANGE: DApp instances are now automatically destroyed when no active
ACTIVE_ACCOUNT
subscription is detected and the wallet sends asession_update
indicating an account change. For more details, please visit the dedicated page in our wiki. - Tezos: Fireblocks and Kukai Mobile wallets are now included in our supported wallets list.
- Tezos Tzip 28 is now supported, thanks to the contribution from @quentin-burg.
- Performance: Introducing
enableMetrics
inDAppClientOptions
. Set this totrue
to enable performance metrics tracking. For further information, visit our metrics guide. - UI: The migration guide link has been updated in the “No Subscription to Active Account” error alert and logs for better clarity and guidance.
- Tezos: Missing
OperationTypes
such astransfer_ticket
have been added. - SDK:
enableAppSwitching
has been introduced. To prevent automatic app switching on mobile devices, set this option tofalse
inDAppClientOptions
. - WalletConnect: Significant improvements in performance and stability for WalletConnect communications on mobile platforms.
- SDK: On mobile, the
senderId
inrequestPermissions
now utilizessessionTopic
instead ofpairingTopic
, addressing the absence ofpairingTopic
in mobile sessions. - UI: The
type?: TransportType
parameter is no longer part of thehideUI
method inDAppClient
.
v4.1.2
4.1.2 (2024-01-30)
Hotfixes
- Tezos: Change iOS deeplink of "Feral File" wallet
v4.1.1
4.1.1 (2024-01-29)
Features
- Tezos: Rename wallet "Autonomy" to "Feral File"
Bugfixes
- WC2: An error in the WalletConnect 2 transport could result in a successfully established P2P connection to be aborted with a "Channel closed" message. This has been fixed.
v4.1.0
4.1.0 (2023-12-28)
Features
- Add support for Proof of Event (PoE) according to this TZIP. The
DAppClient
now has a new method calledrequestProofOfEventChallenge
to request a PoE challenge. - Add TzSafe wallet
- Re-add Galleon wallet
- Updated dependencies
- Introduced a localStorage listener to prevent external tab interference leading to a "broken state" in the SDK
Bugfixes
- Fixed a problem where alerts would endlessly load if there was no internet connection
- Corrected an issue where the wallet icon failed to display after refreshing a page
- Solved a bug causing the wallet to open targeting an incorrect platform under certain conditions
- Change "mondaynet" name to "weeklynet"
WalletConnect 2
This release includes a variety of WalletConnect 2 related bugfixes to make the transport more stable.
- Resolved an issue preventing a web wallet from opening on a new tab using WC transport
- Addressed a crash in the SDK occurring during synchronisation with the wallet through WalletConnect without an internet connection
- Rectified a bug where approving two consecutive requests on the wallet side would inadvertently close the new session
- Improved UI updates when a session_update is received
- Fixed a bug that opened an unintended wallet when using WalletConnect on mobile
- Implemented localStorage and IndexedDB checks for better tracking of WalletConnect's internal state
- Added a manual WalletConnect reset feature to prevent multiple instances of broken states
- Introduced a WalletConnect ping function to assess wallet readiness
- Resolved an issue where acknowledgement toasts would not show up during multiple wallet requests