Features
- feat(web): batch signer management (#5867)
- feat(Tx flow): untrusted fallback handler warnings for multiSend transactions (#5756)
- feat(Nested transactions): add Tenderly simulation (#5752)
- Feat(Tx flow): restore JSON view + copy button (#5884)
- feat(web): show decimal token amounts in multiSend summary (#5764)
- Analytics(Signing UX): track time spent on receipt (#5745)
- Feat(web): don't notify about 1.4.1 upgrades (#5864)
- feat(web): warn for Permit (ERC2612) payloads (#5391)
- feat: show details of blockaid error (#5708)
- Feat(Swaps): swap parameters for KyberSwap (#5754)
- Feat(web): log errors to 🐶 Datadog (#5656)
- Feat(Signing UX v2): Signing UX improvements v2 (#5559)
- feat(web): clear pending txs (#5328)
- Feat(Spaces): expand search input width when in focus (#5698)
- feat(web): show 24h asset value change (#5659)
Bug fixes
- fix(Signing UX): reset signer name when address is cleared (#5941)
- fix(Signing UX): remove duplicate NFT transfer info (#5938)
- fix(Signing UX): remove duplicate info on spending limits confirmation view (#5935)
- Fix(Proposer): Support proposers in nested safes (#5682)
- Fix(Earn): Align vault name with icon (#5929)
- Fix(Tx flow): prevent navigation when tx modal is open (#4909)
- fix(ExecTransaction): replace Summary component with TxData (#5902)
- fix(web): do not mark address book addresses as untrusted in NameChip (#5897)
- fix(Recovery): pass data to second step of recovery flow (#5882)
- fix(Signing UX): duplicate contract interaction info (#5899)
- fix(useIsSidebarRoute): move router.isReady into useEffect to fix hydration error (#5896)
- fix(Signing UX): restore contract name in method call (#5881)
- fix(web): disable nested safe creation for non-owners (#5879)
- Fix(web): on chain signing confirmation view (#5885)
- Fix(Receipt): initial height (#5888)
- fix(Signing UX): show signatures in advanced transaction details (#5877)
- fix(web): HexEncodedData component (#5878)
- fix(Signing UX): hide batch button instead of disable when batching is not allowed (#5876)
- fix(web): apply theme to Safe App icons (#5865)
- Fix(Tx flow): fix tx flow styling (#5874)
- Fix(Balances): refresh cache when switching Safes (#5868)
- Fix(web): don't copy chain prefix when copying addresses (#5869)
- fix(web): hide queue bar and change bridge icon/position (#5860)
- fix(Signing UX): hide sign option if transaction is fully signed (#5851)
- fix(web): decode multisend txs (#5776)
- fix(web): use recommended nonce when editing the nonce is allowed (#5782)
- fix(web): make tx readonly when confirming proposed transactions (#5704)
- Fix(Spaces): Adjust Spaces UI elements (#5725)
- fix(Assets): rows per page setting disappears when pagination 100 rows when address<100 (#5716)
- fix(web): simplify multi token transfer dependencies (#5718)
- fix(web): fix horizontal scrolling on WC modal (#5705)
- fix(Blockaid): disable continue button if Blockaid warning is not confirmed (#5744)
- fix(Signing UX): revert to show combo button only on final receipt step (#5741)
- fix(web): align signers and proposers sections (#5706)
- Fix(Spaces): Use EthHashInfo for SafeList items to support copy (#5674)
- fix(WalletConnect): update EIP-5792 implementation (#5403)
- Fix(Spaces): Don't track meta events in spaces (#5657)
- Fix(PK Module): Use personal_sign with PK module (#5662)
- fix(web): update spending limits table to match recovery table style (#5643)
- fix(web): lint issue (#5638)
- fix(web): add white safe logo and spaces on ExecutionMethodSelector (#5628)
- fix(web): truncate long name tokens (#5626)
- Fix(Spaces): Add hover effect for space tab navigation (#5608)
- fix: ensure WC remains connected when adding Safe (#5486)
- fix(web): fix the link to module docs (#5579)
- Fix(ManageSigners): create address book entries for signers on submit (#5942)
Refactoring
- refactor(TxFlow): migrate remaining flows to new TxFlow logic (#5748)
- Refactor(Proposers): use proposedByDelegate (#5740)
- Refactor(Signing UX): use static import for "features" and "actions" (#5735)
- refactor(web): move useAsync hook to @safe-global/utils (#5590)
- refactor: move blockaid utilities & types to @safe-global/utils (#5589)
- refactor(web): move services/security to @safe-global/utils (#5537)
- Refactor(web): use TypedData type from the @safe-global/utils package (#5536)
Chores
- chore(deps): bump the npm_and_yarn group with 5 updates (#5904)
- Chore: replace CLA action with a disclaimer in PR template (#5886)
- web(chore): update safe-deployments to v1.37.22 (#5862)
- chore(deps): bump @walletconnect/core from 2.19.2 to 2.20.2 (#5856)
- Chore: Update module deployments version (#5826)
- chore(deps): bump @web3-onboard/injected-wallets from 2.11.2 to 2.11.3 (#5759)
- chore: fixed broken links (#5692)
- chore(deps): bump the ledger group with 3 updates (#5693)
- Chore(web): clean up unused env vars (#5651)
- Chore(web): fix prod deployment workflow (#5639)
- Chore(web): Limit parallel threads in s3_upload.sh (#5633)
- Chore(Web): Update nextjs to v15.2.4 and patch docs (#5599)
- Chore(deps-dev): Bump @eslint/eslintrc from 3.2.0 to 3.3.1 (#5541)
- Chore(deps): Bump CatChen/eslint-suggestion-action from 4.1.11 to 4.1.12 (#5538)
Tests
- Fix(Tests): Fix and update recovery and nested safes e2e tests (#5930)
- Fix(Tests): fix regression e2e tx-history suite (#5927)
- fix(tests): regression test tx_history_4 (#5925)
- Fix(Tests): Update ReviewTransaction snapshot (#5922)
- Tests(web): Fix transaction builder tests (#5919)
- fix(Signing UX): e2e tests (#5903)
- Tests(web): fix Multichain Networks Switch cypress tests (#5794)
- Tests(web): add proposedByDelegate to mock transaction details (#5753)
- Tests: Add nested safes tests (#5712)
- Tests: update tests (#5686)
- Enable decoding tests (#5681)
- Tests: Add spaces basic flow tests (#5675)
- Tests: Update tests (#5641)
- Tests: Update automation tests (#5618)
- Tests: Add tests (#5604)
- Tests: Fix tests (#5588)
- Fix(e2e): Update Bridge tests according to the latest changes in bridge implementation (#5792)
- Tests: Update cy tests (#5562)
- Fix(Tests): Update add-owners tests because of new manage signers flow (#5939)
Mobile
- refactor(mobile): Push notification subscription (#5924)
- fix: add parameters button in the missing views (#5940)
- Fix(mobile): balance of all chains (#5923)
- Feat(Mobile): Add morpho vault decoding for transactions in history (#5889)
- fix: show limit order instead of swap order when the orderClass is equal to limit (#5866)
- feat(mobile): rehydrate chainConfig slice (#5871)
- chore(mobile): update redux-devtools-expo-dev-plugin (#5861)
- fix(mobile): user terms and privacy hard to click (#5859)
- feat(mobile): add missing staking tx cards in history (#5845)
- fix: change the sign feedback message (#5849)
- fix: redirect user to the import signer flow if he cames from import safe flow (#5850)
- fix(mobile): wrong status theme in light mode (#5846)
- Fix(mobile): import safe refactor (#5842)
- fix(mobile): signer select list empty on android (#5843)
- refactor(mobile): migrate to v22 (#5840)
- fix(mobile): crash when there are no active signers (#5837)
- fix(mobile): display safe app name if provided (#5832)
- fix(mobile): wrong placeholder on 403 error (#5829)
- fix(mobile): change error text (#5830)
- fix(mobile): improvements to the ready to execute view (#5828)
- feat(mobile): track visited screens for crashlytics (#5820)
- Fix(mobile): Etherscan link for token transactions (#5803)
- fix: remove localState from useTheme hook (#5789)
- fix: contract icon size (#5802)
- chore(mobile): update expo and react-native deps (#5799)
- fix(mobile): validate EOA in import safe flow (#5781)
- fix(mobile): link „why did it happen“ article (#5784)
- fix(mobile): can’t edit signer (#5783)
- Fix(mobile): Adjust multiSend confirmation view to be according to figma (#5772)
- chore(mobile): update to expo 53 (#5771)
- fix: show contract name in enable module action (#5774)
- Fix(mobile): Remove "Join Account" button from account sheet (#5773)
- fix: trunc the amount if it is bigger than expected (#5750)
- fix: show correct contract info in actions details (#5763)
- fix: remove padding bottom on tx history (#5755)
- style(settings): revert gesture-handler usage + add style (#5709)
- fix(splash-screen): implement custom splash screen solution for Android (#5719)
- chore(icons): update icons list (#5720)
- fix: remove join account button (#5751)
- fix(mobile): display info about swap and twap (#5743)
- Fix(mobile): improve tab buttons accessibility (#5746)
- fix: put the current theme in a local state to avoid side effects of useColorScheme hook (#5727)
- chore: remove unused code from camera flow (#5726)
- fix: transaction history title overlaping system icons (#5742)
- fix(mobile): display check icon only when latest version of safe (#5658)
- fix(build): remove unnecessary flag (#5707)
- mobile(ui): Polishing/Fixing UI on both iOS/Android (#5702)
- refactor(android): prompt flow (#5691)
- fix(mobile): camera permission on android was wrong (#5690)
- fix(mobile): android notifications (#5667)
- Fix(Mobile): Center no contacts illustration (#5687)
- fix(mobile): can't sign android (#5683)
- fix(mobile): add better detection for strongbox support (#5676)
- fix: redirect user to the rename screen when pressing in the rename option (#5666)
- fix(android): dmsans font was not loaded on android (#5668)
- fix(mobile): unable to subscribe to push notifications on android (#5665)
- Fix(mobile): Allow user to see the signer list item options (#5660)
- fix(mobile): fix different sizing issues (#5661)
- fix(mobile): notification screen proper alignment (#5654)
- fix(mobile): display info on biometrics screen (#5653)
- fix(mobile): no size defined for $md & $sm warning (#5652)
- fix(mobile): content on android was behing Statusbar (#5645)
- feat(mobile): import menu conditionally and UI fix (#5631)
- chore(mobile): add account badge on selector (#5630)
- fix(mobile): activate QR camera on user interaction (#5629)
- fix(mobile): subscribe to notifications in one click (#5642)
- feat(mobile): add pull down to refresh history (#5636)
- feat(mobile): Use RTK infinite queries API (#5635)
- chore(mobile): update RN and other dependencies (#5616)
- fix(mobile): disable tablet support (#5603)
- feat(mobile): feedback form points to correct url (#5598)
- fix(mobile): fetch override was causing requests to fail (#5597)
- fix(mobile): small device awareness and biometrics on notifications. (#5596)
- feat(mobile): add blockaid scans (#5591)
- feat(mobile): refactor list of UI elements as per design. (#5595)
- feat(mobile): set a user-agent (#5592)
- feat(mobile): Android UI fixings (#5581)
- feat(mobile): General UI Improvements (#5573)
- fix(mobile): identicon and address in contact book were wrong (#5580)
- feat(mobile): tenderly tx simulation (#5571)
- feat(mobile): add general settings + theme control + biometrics on settings (#5524)
- fix(mobile): can’t encrypt key on android (#5553)