Releases: airgap-it/beacon-sdk
v4.4.0
v4.4.0 (2025-02-18)
Features
- The "Report a Bug" feature is enabled by default
- It is now possible to send a bug report by clicking on the "Open" button in the "No response received yet" toast
- The bug report form UX was improved and is now easier to submit
- We now collect metrics even when the enableMetrics flags is set to false. The collected metrics will be stored locally on the user machine. These metrics won’t be shared with us until a user fills out a bug report.
Internal
- IndexedDBStorage now can work across multiple objectStores
- Fetching or writing to an IndexedDB entry no longer requires StorageKey as type (a string is sufficient)
- Extended SDK reset on any Matrix error received while trying to login
Full Changelog: v4.3.3...v4.4.0
v4.3.3
4.3.3 (2025-01-23)
- Mitigated the
M_USER_DEACTIVATED
error received from the Matrix network. [1] - The keyPair property in CommunicationClient is no longer read-only.
WalletClient._connect
now accepts an optional number of retries for connecting to a node (defaults to 3).- The minimum required version of Node.js is now 18.
Developer Notes
[1] When the M_USER_DEACTIVATED
error is received, the secret seed will be overridden with a new one, and a new key pair will be generated.
Additional updates:
DAppClient
: The dApp automatically disconnects from the wallet and displays an alert with the error message: “Your session has expired. Please pair with your wallet again.”WalletClient
: The wallet will attempt to login again using the new key pair generated from the new seed.
What's Changed
- fix: account deactivated by @IsaccoSordo in #843
Full Changelog: v4.3.2...v4.3.3
v4.3.2
4.3.2 (2025-01-20)
- Added support for Quebecnet
- Updated Operation types
- Mitigated potential issue while connecting to a WalletConnect relayer
What's Changed
- feat: add quebecnet by @IsaccoSordo in #839
Full Changelog: v4.3.1...v4.3.2
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
.