Releases: AmbireTech/ambire-common
Releases · AmbireTech/ambire-common
Release list
v2.104.0
Changelog:
- Added: ENS name expiry awareness for the dashboard and Send flow #2507
- Shows a dashboard banner when an ENS name you hold is expiring or in its grace period.
- Warns you on the Send screen if a manually typed ENS name now resolves to a different address than the one you previously sent to, helping avoid sending to a changed or hijacked name.
- Added: On-chain verification of ENS resolutions and balances via Colibri #2506
- Independently verifies ENS name resolutions and portfolio balances on supported chains (Ethereum, Sepolia, Gnosis) and surfaces a warning when the verified result does not match the RPC result.
- Extract Portfolio verification into its own controller #2517
- Skips balance verification while a transaction simulation is in progress.
- Changed: Better toast message when a Ledger connection is rejected #2516
- Changed: Moved heavy imports (humanizer, Safe modules, hardware-wallet packages) out of UI-facing modules to reduce scripting time #2520
- Fixed: ENS registrar expiry + 90-day grace unit test #2531
- Fixed: ENS expiry test failing when a domain's expiry shifts forward #2537
- Fixed: Domains controller test failures from conflict resolution #2538
Full Changelog: v2.103.3...v2.104.0
v2.103.3
v2.103.2
Changelog:
- Fixed: SIWE auto-login accepts sibling subdomains for existing policies #2539
- Fixed: Sign message replacement race #2540
- Fixed: Reject signing calls appended after the user reviewed the op #2541
Full Changelog: v2.103.1...v2.103.2
v2.103.1
Changelog:
- Added: Cowswap Humanization module #2530
- Added: Show a warning about sending ETH only if it's not present in the original erc7730 humanization #2533
- Fixed: Don't make requests to Citrea if network is disabled #2535
Full Changelog: v2.103.0...v2.103.1
v2.102.4
v2.103.0
Changelog:
- Added: Controller and library behaviour logging via a new Debug controller #2495
- Toggleable at runtime (even in production) to debug controllers without reloading the extension background.
- Logs are structured and filterable per controller/flow, and kept in memory for future log dumps.
- Added: Disconnect all connected dApps at once #2509
- New capability to disconnect every connected app in a single action.
- Added: Gas Tank fee sponsorship for Safe accounts #2524
- Safe accounts can now pay transaction fees from the Gas Tank and broadcast through the bundler.
- Adds a Safe-specific user operation flow, paymaster signature handling, and bundler gas estimation.
- Unsupported Safe fee options (native/account-paid) are disabled but still shown; Gas Tank deposits are restricted for unsupported tokens and networks.
- Changed: Faster app startup by optimizing the storage migration sweep #2491
- Steady-state boot now does 1 storage read instead of ~44 (~97% fewer), noticeably speeding up load, especially on mobile.
- No behavioral change to the migrations themselves.
- Changed: Hide the previous failure banners when retrying a swap or bridge #2500
- Retrying a failed swap/bridge no longer keeps showing the old activity and Swap & Bridge failure banners.
- Changed: Improve the quality of unit tests across controllers #2497
- Changed: Cache DeFi position updates to reduce external API calls #2462
- Cuts server-side external API calls when refreshing DeFi positions in the portfolio.
- Changed: Reduce ENS reverse lookups for better privacy #2484
- ENS profiles are no longer refreshed for all accounts in a batch by default (behind a new keepEnsProfilesUpToDate flag, off by default), reducing address exposure to ENS resolvers.
- Reverse lookups are now controlled per context (skipped in the account list, still fresh for the humanizer), and the ENS batch size is reduced for better performance.
- Changed: Remember the amount field mode (token/fiat) in Swap & Bridge across sessions #2514
- Changed: Migrate the Socket/Bungee swap provider to Socket Swap V3 #2510
- New swap and bridge quotes now use Socket Swap V3 endpoints.
- The legacy Bungee provider is kept route-only, so already-active routes still complete.
- Fixes Socket v3 bridge status parsing and keeps Socket/Bungee route branding instead of falling back to Li.Fi.
- Changed: Move portfolio hints logic into a dedicated HintsController #2515
- Fixed: Slow keystore unlock when the browser JIT is disabled #2501
- Keystore unlock now uses WASM scrypt (~0.3s) instead of pure JS (~45s) when users disable JIT for security, with a JS fallback. Output is byte-identical, so existing keystores unlock unchanged.
- Fixed: Resolve a Socket.dev-reported CVE in dependencies #2508
Full Changelog: v2.102.3...v2.103.0
v2.102.3
Changelog:
- Added: MegaETH as a Safe network #2525
- Added: Hummanizer - support for the functions
increaseApprovalanddecreaseApproval#2526 - Fixed: Safe accounts status bridges were always in a pending state #2523
Full Changelog: v2.102.2...v2.102.3
v2.102.2
v2.101.4
Changelog:
- Added: protection against incorrect utf8 message humanizations #2502
- Fixed: persist account dapp preferences #2503
Full Changelog: v2.101.3...v2.101.4