Skip to content

Releases: onflow/FRW-Extension

2.8.7

26 Jun 06:07
17d671c
Compare
Choose a tag to compare

Flow Wallet Extension v2.8.7 Release Notes

🎯 Overview

This release includes significant improvements to transaction handling, UI component upgrades, and various bug fixes to enhance the overall user experience.

✨ New Features & Improvements

Transaction Handling

  • Faster Transaction Experience (#1076)
    • Transactions now redirect immediately after finalization instead of waiting for execution
    • Users can send new transactions once previous ones are finalized
    • Improved transaction status checking in the header component

UI/UX Enhancements

  • MUI v7 Upgrade (#935)

    • Successfully upgraded Material-UI from v6 to v7
    • Migrated from deprecated makeStyles to sx prop across 64 components
    • Removed @mui/styles dependency
    • Fixed Grid component usage across the entire codebase
  • Deposit Screen Improvements (#1093)

    • Fixed account display to show currently active account
    • Corrected warning messages for Flow EVM accounts
    • Added Storybook support for deposit screen
    • Simplified component by removing unused state and styles

🐛 Bug Fixes

Critical Fixes

  • Empty Vault Unlock Issue (#1075)
    • Fixed critical bug where users couldn't unlock empty vaults
    • Added proper checks for null/empty vaults during registration
    • Fixed error snackbar on account import screen
    • Prevented multiple window openings when already in a tab

Build & Deployment

  • Beta Versioning Fix (#1089)
    • Updated manifest versioning for beta builds to comply with Chrome Store requirements
    • Beta versions now properly format version numbers (e.g., 2.8.6-beta-2 → 28.6.2)

🔧 Technical Improvements

Code Quality & Dependencies

  • Dependency Cleanup (#1085)
    • Removed numerous unused dependencies
    • Replaced lodash's cloneDeep with native structuredClone for better performance
    • Migrated from axios to fetch API in GoogleSafeHost service
    • Updated various dependencies including @emotion/react and ethers
    • Fixed Storybook installation issues

State Management

  • Improved Component Architecture (#1025)
    • Refactored Register component to use useReducer for better state management
    • Added import profile reducer to reduce prop drilling
    • Enhanced maintainability and readability of registration flows

📝 Additional Changes

  • Added Claude.md documentation file for AI-assisted development
  • Improved error handling for transaction activity updates
  • Cleaned up event listeners to prevent unhandled message errors
  • Updated pnpm package manager

What's Changed

Full Changelog: 2.8.6...2.8.7

2.8.6

17 Jun 23:41
641825d
Compare
Choose a tag to compare

Flow Reference Wallet Extension 2.8.6

🚀 Key Highlights

🔒 Better dApp Connectivity & Stability

  • Improved Multi-Wallet Support (#1046): Reworked the provider injection logic to ensure our extension co-exists peacefully with other wallets like MetaMask. The extension now intelligently routes ethereum.request calls, only handling requests intended for Flow Wallet. This prevents conflicts and ensures dApps connect to the correct wallet, providing a seamless user experience even with multiple wallet extensions installed.
  • Improved Privy Integration (#1067): Corrected a race condition that prevented the provider from being initialised properly. Resolved loading issues when dev wallet is installed by isolating the extension's localStorage. We now use environment-specific prefixes for storage keys (frw-dev:, frw-beta:, frw:), which prevents data collisions between different extension builds (e.g., development, beta, production) and ensures Privy initializes correctly every time.

📱 Account Management Redesign

  • Complete overhaul of account listing interface (#974, #1009) with better hierarchy display showing main → EVM → child account relationships
  • New Menu Drawer design with improved navigation and account switching
  • Account menu icon improvements (#977)
  • Redesigned profile selection in account menu (#978)
  • Enhanced account cards with better visual indicators and balance display
  • Improved handling of multi-account scenarios

🔢 Improved Balance Display

  • Token balances now use a common decimal formatting for better readability and to ensure non-zero amounts are never shown as zero (#1045).
    • Balance > 0: Rounded to 2 decimal places, with trailing zeros trimmed.
    • 0.01 <= Balance < 1: Shown with 2 decimal places.
    • 0.001 <= Balance < 0.01: Shown with 3 decimal places.
    • 0.0001 <= Balance < 0.001: Shown with 4 decimal places.
    • 0 < Balance < 0.0001: Shown in a condensed format (e.g., 0.0₄1).
    • Balance = 0: Shown as "0".

🔁 KittyPunch Swap Integration

  • New Swap Provider (#1049): Replaced the existing EVM swap functionality with KittyPunch.

📲 Mobile App Integration

  • New mobile import workflow (#979) with step-by-step visual guidance for users migrating from the Flow Wallet mobile app.
  • Updated import interface with a dedicated mobile app tab and clearer instructions.

🎨 UI/UX Updates

  • UI Fixes (#1058, #1061): Addressed various layout issues, including EVM address display and import links.
  • Updated terminology: "Seed Phrase" → "Recovery Phrase" throughout the app.
  • Improved responsive design and better visual feedback.
  • Enhanced account avatars with support for pending states.

🛠️ Technical Improvements

  • Environment-Specific Storage (#1067): Refactored local storage handling to support environment-specific prefixes, preventing data collisions between development, beta, and production builds.
  • Build & CI/CD Enhancements (#1043, #1050, #1055): Updated the build process, corrected Webpack configuration for GitHub Actions, and added new project rules.
  • Pre-release Beta Indicator (#1060): Added a "beta" tag to the extension icon for pre-release builds to make them easily distinguishable.
  • Playwright Test Reports (#1034, #1037): Test reports are now hosted on GitHub Pages with automatic sanitization.
  • Enhanced Test Tracing Controls (#1031) for better debugging.
  • Font Loading Fix (#1052): Corrected an issue where fonts were not loading properly.
  • Improved Error Handling (#1069): Wrapped error-capturing logic in a try-catch block to prevent circular error reporting, making the extension more stable.

🐛 Key Bug Fixes

  • Addressed a critical loading issue with the Privy SDK (#1067).
  • Fixed request routing to prevent conflicts with other wallets (#1046).
  • Fixed account key listing for multi-account wallets (#1027).
  • Resolved race conditions in wallet state management.
  • Corrected account switching logic for EVM and child accounts.

Issues Resolved: #974, #975, #977, #978, #979, #1009, #1027, #1031, #1034, #1037, #1039, #1043, #1045, #1046, #1049, #1050, #1052, #1055, #1058, #1060, #1061, #1067, #1069

What's Changed

Full Changelog: 2.8.5...2.8.6

2.8.6-beta.2

17 Jun 09:48
641825d
Compare
Choose a tag to compare
2.8.6-beta.2 Pre-release
Pre-release

What's Changed

Full Changelog: 2.8.6-beta.1...2.8.6-beta.2

2.8.6-beta.1

16 Jun 09:14
2dccd31
Compare
Choose a tag to compare
2.8.6-beta.1 Pre-release
Pre-release

Flow Reference Wallet Extension 2.8.6-beta.1 Release Notes

🚀 Key Highlights

📱 Account Management Redesign

  • Complete overhaul of account listing interface (#974, #1009) with better hierarchy display showing main → EVM → child account relationships
  • New Menu Drawer design with improved navigation and account switching
  • Account menu icon improvements (#977)
  • Redesigned profile selection in account menu (#978)
  • Enhanced account cards with better visual indicators and balance display
  • Improved handling of multi-account scenarios

🔢 Improved Balance Display

  • Token balances now use a common decimal formatting for better readability and to ensure non-zero amounts are never shown as zero (#1045)
    • Balance is > 0 - round to 2 decimal places - trimming zeros so there's no traiiling zero - rounding to nearest decimal
    • Balance is < 0 and >= 0.01 - show 2 decimal places - rounding to nearest decimal
    • Balance is < 0.01 and >= 0.001 - show 3 decimal places - rounding to nearest decimal
    • Balance is < 0.001 and >= 0.0001 - show 4 decimal places - rounding to nearest decimal
    • Balance is < 0.0001 and > 0 - show zero condensed balance e.g. 0.0₄1
    • Balance is 0 - show 0

🔁 KittyPunch Swap Integration

  • New Swap Provider (#1049): Replaced the existing EVM swap functionality with KittyPunch

🔒 Enhanced Security

  • Automatic filtering of compromised accounts (#1039) - extension now filters out accounts with revoked keys or insufficient weight (<1000)
  • Fixed account keys for multi-account support (#1027)
  • Better account validation when loading to ensure only active, secure accounts are displayed

📲 Mobile App Integration

  • New mobile import workflow (#979) with step-by-step visual guidance for users migrating from Flow Wallet mobile app
  • Updated import interface with dedicated mobile app tab and clearer instructions

🎨 UI/UX Updates

  • UI Fixes (#1058, #1061): Addressed various layout issues, including EVM address display and import links.
  • Updated terminology: "Seed Phrase" → "Recovery Phrase" throughout the app
  • Improved responsive design and better visual feedback
  • Enhanced account avatars with support for pending states

🛠️ Technical Improvements

  • Build & CI/CD Enhancements (#1043, #1050, #1055): Updated build process, corrected Webpack configuration for GitHub Actions, and added new project rules.
  • Pre-release Beta Indicator (#1060): Added a "beta" tag to the extension icon for pre-release builds to make them easily distinguishable.
  • Playwright test reports (#1034, #1037) now hosted on GitHub Pages with automatic sanitization
  • Enhanced test tracing controls (#1031) for better debugging
  • Font Loading Fix (#1052): Corrected an issue where fonts were not loading properly.
  • Enhanced Storybook integration for better component development
  • Improved hook patterns and state management
  • Better error handling and caching strategies

🐛 Key Bug Fixes

  • Fixed account key listing for multi-account wallets (#1027)
  • Resolved race conditions in wallet state management
  • Corrected account switching logic for EVM and child accounts
  • Function Invocation Fix (#1046): Corrected an issue where a function was being invoked incorrectly.

⚠️ Important: Add account functionality will be controlled by feature flags in production and requires thorough regression testing due to significant account management changes.

Issues Resolved: #974, #975, #977, #978, #979, #1009, #1027, #1031, #1034, #1037, #1039, #1043, #1045, #1046, #1049, #1050, #1052, #1055, #1058, #1060, #1061

What's Changed

Full Changelog: 2.8.5...2.8.6-beta.1

2.8.5

03 Jun 04:35
8b0ed76
Compare
Choose a tag to compare

Flow Wallet Extension 2.8.5 Release Notes

This release brings significant enhancements to security, data management, developer tooling, and user experience, alongside various bug fixes.

🚀 Features & Improvements:

  • Security Enhancements (Addresses #965):
    • Improved handling of hex strings and data decoding in the signature type display.
    • Optimized the approval page and added chain ID checks before sign type approval.
    • Removed unused code from the keyring for a cleaner, more secure codebase.
    • Fixed potential issues with UTF-8 decoding and added checks for hexstrings. (from commit messages)
    • Wrapped data parsing in try-catch blocks for more robust error handling. (from commit messages)
  • Overhauled Data Storage & Caching (Implements #905):
    • Migrated from legacy storage.getExpiry to a new centralized data storage model using custom React hooks (useNews, useStorageCheck, useAllNftList, useAllTokenInfo).
    • This improves fetching and caching for contracts, NFT lists, token balances/prices, news, and version information.
    • Cleaned up API client methods, removing deprecated ones like getTokenPrices and getEvmFTPrice.
    • Standardized EVM token refresh logic.
  • Keyring Upgrades (Towards #786):
    • Keyrings now store the public key and signature algorithm.
    • Updated methods for retrieving the current public key, including regenerating it with the stored algorithm when restoring the keyring.
    • Renamed submitPassword to unlock and setLocked to locked in the keyring for clarity.
    • Marked several older keyring methods as deprecated.
  • Enhanced Transaction & Network Handling:
    • Network Switching (Fixes #973): Introduced a "Switch Network" component that prompts users if they attempt a transaction on a different network than the one currently active in the UI.
    • FCL Update (Implements #915): Upgraded to FCL v1.18, enabling WebSocket support and removing unneeded FCL dependencies.
  • Improved Mobile Sync Experience (Implements #966):
    • Added a loading/register status display when scanning QR codes from a mobile device for a smoother user experience.
  • Developer Experience & Tooling:
    • Advanced Error Logging & Reporting (Implements #759):
      • Replaced direct console.log/error/warn/info calls with new wrapper functions (consoleLog, consoleInfo, consoleWarn, consoleError).
      • In production, most console output is suppressed, while consoleError logs errors to Mixpanel with sensitive information stripped.
      • Updated lint rules to flag direct console usage, promoting the new logging system.
      • Corrected remaining lint errors across the codebase.
    • Script Invocation Documentation (Implements #917): Generated documentation detailing where Cadence scripts are called from within the extension and their triggers.
  • Remote Configuration Service: (from commit messages, PR likely #990 implies this part of #905)
    • Introduced a remote configuration service and refactored feature flag usage for more dynamic control over features.

🐛 Bug Fixes:

  • Child NFT Display (Fixes #967):
    • Corrected the script for checking accessible child NFTs to use the proper address.
    • Fixed the getvaliddata function related to storage information for child NFTs.
  • Currency Display Optimization (Fixes #949):
    • Prevented unnecessary re-renders in the currencyValue component by passing currency code and symbol directly from CoinList, improving performance.
  • Addressed an issue with variable assignment order. (from commit messages)

What's Changed

Full Changelog: 2.8.4...2.8.5

2.8.4

16 May 02:20
5d5334f
Compare
Choose a tag to compare

Flow Wallet Extension 2.8.4

This hot fix release resolves an important piece of the EVM experience.

  • Seamless EVM Activation: We've resolved an issue where enabling EVM accounts didn't always refresh the account list immediately. Now, your EVM accounts will appear as expected right after activation. ✨
  • Smoother EVM Setup: We've made enhancements to the EVM enabling process for a more streamlined user experience. 👍

We're committed to providing a smooth and reliable experience. Thank you for your continued support! 🙏

What's Changed

Full Changelog: 2.8.3...2.8.4

2.8.3

14 May 04:42
60e9805
Compare
Choose a tag to compare

Flow Wallet Extension 2.8.3: Release Notes ✨

This release brings several exciting new features designed to enhance your control and security, alongside significant improvements to performance and user experience.

What's New? 🚀

  • Verified Token Management: 🪙
    • Verified Token System: A major new system to clearly distinguish and manage verified and unverified tokens. This includes updated dashboards, token detail pages with a new security tab, and improved filtering. (Related: #902, #860, #912)
    • Currency Selector: You can now select your preferred currency for viewing token balances across the wallet. 💸 (Related: #794)
  • Advanced Account Security & Control: 🛡️
    • Change Password Feature: We've introduced a secure way to change your wallet password, now integrated with Google Drive backup verification for your recovery phrases, offering greater peace of mind. (Related: #901, #858)
    • X-Signature Verification: A new security measure has been added for script API interactions, enhancing the integrity of these operations. (Related: #924)

Further Improvements: 🛠️

  • Performance & dApp Compatibility: Upgraded to the latest Flow Client Library (FCL v1.17). This brings noticeable performance gains 💨 (Related: #934)
  • Overall Stability: This release includes numerous bug fixes 🐞 (e.g., addressing issues with Cadence/EVM interactions (#897), NFT sending (#930), wallet imports (#932), and transaction signing (#923)) and under-the-hood enhancements for a smoother and more reliable experience.

What's Changed

Full Changelog: 2.8.2...2.8.3

2.8.2

03 May 00:16
b090c04
Compare
Choose a tag to compare

Release Notes - Version 2.8.2

✨ New Features & Improvements

  • Testnet Account Creation: Users can now create a new Testnet account directly within the wallet if no existing Testnet accounts are found when switching to the Testnet network. (3b9080d, 0d33046, 5ef9592). NOTE: It can take up to 2 minutes to figure out that there are no accounts against the publickey on testnet. That will only happen once though
  • Mobile Sync Logic: Improved the logic for importing accounts, ensuring the imported account is stored correctly. (7eab0c8) NOTE: you must be on mainnet to sync with mobile

What's Changed

  • 859 hotfix feature handle not having accounts eg on testnet by @zzggo in #885
  • Cache account info when syncing from mobile by @tombeckenham in #889
  • 882 bug cannot switch to testnet add create account when no account is found by @zzggo in #886

Full Changelog: 2.8.1...2.8.2

2.8.1

22 Apr 22:58
7292f23
Compare
Choose a tag to compare

Flow Wallet 2.8.1 Release Notes

🐛 Bug Fixes

  • Fixed the tokenlist rendering blank when the API returns null for the receiver path.
  • Fixed the transaction failed issue when using an external public key.
  • Fetch the key data without an expiration time when doing a transaction.

Full Changelog: 2.8.0...2.8.1

2.8.0

17 Apr 11:16
775aee8
Compare
Choose a tag to compare

Flow Wallet Extension v2.8.0 Release Notes

🚀 Major Performance Improvements

Enhanced Loading Speed

  • Enhance Registration Process: Significantly reduced the address loading time for account creation
  • Faster Extension Launch: Significantly reduced initial loading time through optimized data caching
  • Quicker Account Switching: Improved performance when switching between accounts and profiles
  • Faster Network Changes: Optimized network switching with better state management
  • Improved NFT Loading: Enhanced NFT data retrieval and caching mechanism

Advanced Caching System

  • Smart Session Storage: Implemented sophisticated caching with automatic expiration handling
  • Background Data Refresh: Added intelligent background refreshing of expired data
  • Optimized State Management: Reduced unnecessary re-renders and network requests
  • Memory Optimization: Better memory usage through structured cache management

🔧 Technical Improvements

Data Management

  • Enhanced Data Storage Model: Completely revamped how data is stored and accessed
  • Race Condition Prevention: Improved handling of concurrent data updates
  • Type-Safe Data Access: Enhanced type safety throughout the application
  • Efficient Data Validation: Added smart validation of cached data with TTL support

Architecture Updates

  • Background Processing: Moved heavy operations to background processes
  • API Consolidation: Unified token list and balance API implementations
  • Better Error Handling: Enhanced error management across the application
  • Improved State Synchronization: Better coordination between UI and background processes

🐛 Bug Fixes

  • Fixed race conditions in data hooks
  • Resolved network value handling issues
  • Corrected NFT loading problems
  • Fixed account switching issues
  • Addressed token-related bugs
  • Resolved EVM account display problems
  • Fixed gas limit calculation issues
  • Fixed the contact loading issue when moving NFTs.
  • Fixed empty display on cannot log in page.

💡 Other Improvements

  • Enhanced user info retrieval system
  • Improved token balance fetching
  • Better handling of EVM and Flow accounts
  • Updated Flow balance retrieval for all accounts
  • Enhanced error handling in data caching
  • Improved session management
  • Implement password field on seed phrase and private key import.
  • Remove the React swipable view from frontend components.

📝 Developer Notes

This release represents a significant architectural improvement in how the extension handles data storage and retrieval. The new caching system and background processing improvements should provide a noticeably better user experience, particularly in areas that previously experienced performance issues.

🔍 Technical Details

  • Implemented TTL-based caching with default 30-second expiry
  • Added proxy-based change detection for automatic updates
  • Introduced LRU caching for specific operations
  • Enhanced background refresh listener system
  • Improved type safety across the codebase

Full Changelog: 2.7.9...2.8.0