✨ Features
| Change | PR/Commit | Author |
|---|---|---|
| feature(portfolio): improve UX and design of action buttons | #6720 | valleXYZ |
| feature(portfolio): Introduce and optimize portfolio view with coherent asset and position balances | #6717 | valleXYZ |
| feat(analytics): add tx submitted/executed events | #6587 | valleXYZ |
| feat(web): Show multiple contracts name and logo | #6636 | Clóvis Neto |
| Feat(Hypernative): HN banners are visible for targeted Safes | #6697 | Varya |
| feat(dashboard): make asset action buttons slide in from the right | #6712 | valleXYZ |
| feat(portfolio): add new portfolio endpoint to useLoadBalances and us… | #6562 | valleXYZ |
| feat(assets): Convert action buttons to icon buttons | #6713 | valleXYZ |
| feat(web): add address book and etherscan to the ShowAddress component | #6684 | Clóvis Neto |
| Feat(Hypernative): analytics for banner visibility | #6702 | Varya |
🐛 Bug Fixes
| Change | PR/Commit | Author |
|---|---|---|
| fix: make HN_outreach_id variable dynamic | #6737 | Dasha Kobzeva |
| fix: memoize logError callback in useGasPrice to prevent infinite re-renders | #6739 | Guilherme Fekete Endres |
fix(WalletConnect): downgrade @web3-onboard/walletconnect to v2.6.2
| #6708 | Tim |
| Fix: prettier | 80e950bf4
| katspaugh |
| fix(safe-creation): update address book only with successful networks | #6606 | Diego Zacarias |
| Hotfix(Hypernative): No concurrent event tracking; HN banner for targeted Safes with 0 balance | #6746 | Varya |
📱 Mobile
| Change | PR/Commit | Author |
|---|---|---|
| feat: improve signinig UX | #6722 | Daniel Dimitrov |
| feat(mobile): improved tx execution UX | #6728 | Daniel Dimitrov |
| feat(mobile): Add missing safeshield components on mobile | #6715 | Clóvis Neto |
| fix(mobile): wrong methodName alignment | #6692 | Daniel Dimitrov |
| feat(mobile): create initial Safe Shield components + storybooks | #6695 | Clóvis Neto |
🔧 Chores & Maintenance
| Change | PR/Commit | Author |
|---|---|---|
| chore: pre-commit hook and linting config | #6734 | Daniel Dimitrov |
| chore(deps): bump node-forge from 1.3.1 to 1.3.2 | #6731 | dependabot[bot] |
| chore: add commit-msg hook to enforce semantic commits | #6727 | katspaugh |
| chore: improve pre-commit hooks and replace deprecated next lint | #6725 | katspaugh |
| chore(deps): bump actions/checkout from 5 to 6 | #6705 | dependabot[bot] |
📦 Other Changes
| Change | PR/Commit | Author |
|---|---|---|
| Tests(e2e): Transaction simulation tests for Safe shield and small fixes for failing cases(#6732) | #6732 | Liliya Soroka |
| docs: enhance AGENTS.md with coding principles and feature guidelines | #6733 | katspaugh |
| Tests(e2e): update Swap Token tests | #6729 | Liliya Soroka |
| Tests(e2e): Update regression tests | #6726 | Liliya Soroka |
| refactor: Remove balancesSlice from Redux store | #6723 | katspaugh |
| refactor: Migrate useSafeMessages to RTK Query | #6707 | katspaugh |
| tests(web):add safe-shield e2e tests -structure and threat analysis | 0556e7b6c
| Liliya Soroka |
| docs: Enhance AI contributor guidelines and add CLAUDE.md | #6709 | katspaugh |
| refactor: Migrate chains slice to RTK Query | #6693 | katspaugh |
| fix(tests)Fix and refactor Twaps e2e tests | #6698 | Liliya Soroka |
| refactor(hooks): Reorganize and deduplicate hooks | #6681 | katspaugh |
| Docs(Hypernative): update README for the new Hypernative Guard logic with ABI check | #6703 | Varya |