🚀 Release v1.81.0
📊 Release Statistics
- Total commits: 79
- Features: 10
- Bug fixes: 8
- Mobile changes: 2
- Breaking changes: 0
✨ Features
| Change | PR/Commit | Author |
|---|---|---|
| feat: implement debouncing in useThreatAnalysisHypernative hook | #7115 | Tim |
| feat(web): extend hypernative oauth query parameters | #7039 | Tim |
| feat: updated Safe logo in the header | #7075 | Varya |
| feat(storybook): Vite-based Storybook with full coverage and visual regression testing | #7090 | valleXYZ |
| feat(swap): disable crosschain swaps on CoW native widget | #7092 | Fbartoli |
| feat(swap): add Plasma chain (9745) to TWAP fallback handler networks | #7012 | Fbartoli |
| feat: add Datadog RUM integration with error tracking | #6788 | Guilherme Fekete Endres |
| feat(web): allow users to hide nested safes from the list | #7018 | Daniel Dimitrov |
| feat(web): add SRI support for dynamically loaded webpack chunks | #7026 | katspaugh |
| feat(Hypernative): tx queue scanner | #6998 | Tim |
🐛 Bug Fixes
| Change | PR/Commit | Author |
|---|---|---|
| fix(web): Safe Shield icon only in the sidebar when HN is enabled | #7043 | Varya |
| fix(web): restore Hypernative security report button for queue txs | #7086 | Tim |
| fix(safe-creation): pass activateReplayedSafe to createNewSafe for Pay Now | #7111 | Daniel Dimitrov |
| fix: check $isReady before accessing AccountItem nested properties in Spaces and WC chain switch modal | #7107 | Varya |
| fix(web): restore not activated chip on multichain safes | #7072 | Daniel Dimitrov |
| fix(counterfactual): pass activateReplayedSafe to createNewSafe for wallet activation | #7051 | katspaugh |
| fix(web): resolve hydration mismatch in useIsOfficialHost hook | #7041 | Daniel Dimitrov |
📱 Mobile
| Change | PR/Commit | Author |
|---|---|---|
| feat(mobile): UI for a detailed threat analysis error message | #7029 | Varya |
| feat(mobile): add DeFi positions | #7000 | Daniel Dimitrov |
🔧 Chores & Maintenance
| Change | PR/Commit | Author |
|---|---|---|
| chore(deps): upgrade Storybook to 10.2.6 and fix webpack builder | #7114 | valleXYZ |
| chore(web): update yarn.lock | d0d773d16
| katspaugh |
| chore(deps-dev): bump webpack from 5.97.1 to 5.104.1 | #7110 | dependabot[bot] |
| chore(deps): bump lodash from 4.17.21 to 4.17.23 | #7103 | dependabot[bot] |
| chore(deps): bump @isaacs/brace-expansion from 5.0.0 to 5.0.1 | #7102 | dependabot[bot] |
| chore(deps-dev): bump glob from 13.0.0 to 13.0.1 | #7105 | dependabot[bot] |
| chore(deps-dev): bump storybook from 10.2.4 to 10.2.5 | #7104 | dependabot[bot] |
| chore(deps-dev): bump storybook from 10.2.1 to 10.2.2 | #7088 | dependabot[bot] |
| chore: update regex for storybook title extraction | #7074 | Varya |
| chore: add Cypress E2E automation rules for Cursor and Claude | #7070 | valleXYZ |
| chore(web): improve Storybook webpack performance | #7068 | valleXYZ |
| chore(deps): bump qs from 6.13.1 to 6.14.1 | #7062 | dependabot[bot] |
| chore(deps): bump tar from 7.5.6 to 7.5.7 | #7064 | dependabot[bot] |
| chore(deps): bump react-server-dom-webpack from 19.0.3 to 19.0.4 | #7065 | dependabot[bot] |
| chore(web): upgrade Cypress to v15 | #7049 | Daniel Dimitrov |
| chore(web): remove unused image and favicon files | #7057 | katspaugh |
| chore(deps): bump tar from 7.5.4 to 7.5.6 | #7056 | dependabot[bot] |
| chore(deps-dev): bump storybook from 10.2.0 to 10.2.1 | #7055 | dependabot[bot] |
| chore(deps-dev): bump storybook from 10.1.11 to 10.2.0 | #7045 | dependabot[bot] |
| chore(deps): bump lodash from 4.17.21 to 4.17.23 | #7046 | dependabot[bot] |
| chore(deps): bump actions/github-script from 7 to 8 | #7034 | dependabot[bot] |
| chore(deps): bump codecov/codecov-action from 4 to 5 | #7032 | dependabot[bot] |
| chore(deps): bump actions/checkout from 4 to 6 | #7031 | dependabot[bot] |
| chore(deps): bump actions/upload-artifact from 4 to 6 | #7033 | dependabot[bot] |
| chore(web): change back-merge to create PR instead of direct push | #7023 | katspaugh |
| chore(deps): bump undici from 6.21.3 to 6.23.0 | #6966 | dependabot[bot] |
| chore: migrate tx-builder from safe-apps repo to this monorepo | #6953 | Daniel Dimitrov |
| chore(deps): bump diff from 4.0.2 to 4.0.4 | #7016 | dependabot[bot] |
| chore(ci): replace custom VRT with storybook screenshots | #7015 | katspaugh |
| chore(deps): bump tar from 7.5.3 to 7.5.4 | #7009 | dependabot[bot] |
| chore(ci): add retry logic to screenshot workflow push operations | #7006 | katspaugh |
📦 Other Changes
| Change | PR/Commit | Author |
|---|---|---|
| Revert "refactor(web): add shadcn, new theme vars, and Claude skills for Figma interop" (#7112) | #7100 | valleXYZ |
| refactor(web): migrate spending-limits to feature architecture | #7053 | katspaugh |
| refactor(web): add shadcn, new theme vars, and Claude skills for Figma interop | #7100 | valleXYZ |
| refactor(web): move myAccounts to new architecture v3 | #7094 | Daniel Dimitrov |
| refactor(web): move Targeted Features to the new architecture | #7096 | Varya |
| refactor(web): migrate Stake to new feature architecture | #7083 | Daniel Dimitrov |
| refactor(web): migrate speedup feature | #7085 | Dasha Kobzeva |
| refactor(web): Migrate Targeted Outreach feature to a new architecture | #7079 | Dasha Kobzeva |
| refactor(web): migrate No Fee Campaign to the new feature architecture | #7078 | Varya |
| tests(e2e): Add recipient tests for Copilot | #7066 | Liliya Soroka |
| fix(e2e): return back missing data-test-id for sidebar tests | #7071 | Liliya Soroka |
| tests(e2e): cleaning cypress e2e tests | #7061 | Liliya Soroka |
| refactor(web): migrate Hypernative to v3 feature architecture pattern | #7060 | Tim |
| refactor(web): migrate portfolio feature to v3 architecture | #7047 | katspaugh |
| refactor(web): split web3 module for better code splitting | #7063 | katspaugh |
| refactor(web): migrate Recovery to Feature-Sliced Architecture | #7059 | katspaugh |
| refactor(web): add codemod tool for feature architecture migration + migrate tx-notes | #7042 | katspaugh |
| docs: fix feature architecture hooks pattern to avoid Rules of Hooks violations | #7044 | katspaugh |
| refactor(web): add knip for unused exports detection + remove dead code | #7022 | katspaugh |
| refactor(web): earn feature to follow new "feature architecture" standard | #6980 | Daniel Dimitrov |
| refactor(counterfactual): migrate to v3 feature architecture | #7024 | katspaugh |
| refactor(web): migrate WalletConnect feature to v2 architecture | #7025 | katspaugh |
| refactor(web): Feature Architecture v2 with lazy loading | #7008 | katspaugh |
| tests(e2e): e2e tests updates after 1.80.0 rc | #7019 | Liliya Soroka |
| refactor(web): Migrate Counterfactual Feature to Standard Architecture | #6972 | Daniel Dimitrov |
| refactor(web): migrate bridge feature to standard architecture | #6969 | Daniel Dimitrov |
Generated from main..dev on 2026-02-06 15:50:49 UTC