Skip to content

Releases: sparrowwallet/sparrow

1.7.8

18 Jul 14:16
Compare
Choose a tag to compare
  • Add BIP322 message signing for singlesig addresses including P2TR
  • Add zbar QR reader for all QR scans (wide, cropped and inverted)
  • Add useZbar config variable to disable zbar scanning (enabled by default)
  • Add Rename Wallet command to File menu
  • Set initial fee for proposed RBF transaction to satisfy minimum relay requirements
  • When constructing RBF and CPFP transactions, add any additional UTXOs by output group only if effective fee is sufficient
  • Make the Send to Many dialog non-modal, where reselecting the menu command brings an existing dialog to the foreground
  • Show a warning in the General Preferences if currencies could not be retrieved from the exchange rate source
  • Optimize memory store used for calculating the fee rate histogram in Cormorant
  • For memory efficiency, only keep older mempool histogram entries at ten minute intervals
  • Add additional UTXOs to CPFP transaction if the output value is below the dust threshold
  • Set the transaction label to a comma separated list of the payment labels when a multiple payment transaction is broadcasted
  • Show a warning dialog on Submit Bug Report to redirect users to the support channel where appropriate
  • Add the Taproot script type to connected wallet import options
  • Add a tooltip to the Save Final Transaction button to suggest connecting to a server in order to broadcast
  • Make alert dialogs resizable
  • Bug fix: Fix overselection of inputs during RBF
  • Bug fix: Preserve payment labels when using RBF on multiple payment transactions
  • Bug fix: Retain UTXO frozen status on wallet refresh
  • Bug fix: Preserve wallet order on application restart after tabs are moved left or right
  • Bug fix: On updating UTXO history in Terminal, set the scrollbar to the top if the table view is scrolled below new UTXO table row count

1.7.7

22 Jun 10:39
Compare
Choose a tag to compare
  • Improve the mempool fee rates chart to reflect finer granularity and offer an expanded display on click
  • Add a 24h toggle to expanded mempool fee rates chart
  • Add additional inputs to an RBF transaction if needed as required fee is increased
  • Display the order of word selection on a Border Wallets grid
  • Avoid simultaneous multiple selection on a Border Wallets grid
  • Clarify recovery phrase purpose on Border Wallets PDF
  • Support spendable property on UTXOs in BIP329 wallet label imports and exports
  • Improve the error message when broadcasting an RBF transaction with insufficient fee, and indicate the minimum required fee if available
  • Improve error message on broadcasting a transaction with a fee rate below the purge rate for the connected node mempool
  • Add Ctrl/Cmd+B keyboard shortcut for quickly switching the bitcoin unit from BTC to sats and back
  • When scanning, invert cropped frame and scan for inverted QRs
  • Support scanning text QR containing seed words
  • Update to hummingbird v1.6.7 to support pair (<0;1>) path components and unique part progress indicator
  • Support compact SeedQRs with high error correction
  • Trim leading and trailing whitespace from Pay to address field in the Send tab
  • Look for supported cards across all connected card terminals
  • Support airgapped keystore import of a Tapsigner with a custom derivation path
  • Add a separate button to backup Tapsigner without changing the PIN
  • Ensure canonical ordering of key expressions in multisig descriptor QRs
  • Improve performance on large wallets with high address reuse
  • Optimize fetching mempool entries for fee rate histogram when connected to Bitcoin Core
  • Continue with transaction parsing if pushdata opcode is found with invalid data length
  • Add context menu options to Date column in UTXOs table to freeze UTXO and view transaction
  • Remove path from non-batched Electrum server request ids
  • Highlight CSV download buttons
  • Update kmp-tor to v1.4.3
  • Bug fix: Fix export to Specter Desktop without any wallet history
  • Bug fix: Set all witness UTXOs on PSBT inputs before attempting to sign a sweep private key Taproot transaction
  • Bug fix: Fix reading of compact size int as unsigned short when parsing PSBTs
  • Bug fix: Fix unit format switching on Send tab
  • Bug fix: Fix UI button update when stopping mixing on Terminal

1.7.6

15 Apr 00:25
Compare
Choose a tag to compare
  • Show a warning if a Border Wallets entropy grid PDF is not saved
  • Bug fix: Fixes an issue creating a seed after loading or regenerating a Border Wallets entropy grid with a cell selection already present

1.7.5

14 Apr 16:14
Compare
Choose a tag to compare
  • Add Border Wallets number grid support
  • Always show Tapsigner in airgapped import options
  • Improve error message when Bitcoin Core wallet support is disabled
  • Update Specter Desktop wallet import
  • Bug fix: Preserve the order of cell selection in a Border Wallets grid
  • Bug fix: Support broadcasting via mempool.space when using signet

Important for Border Wallets users:
This is bug fix release which ensures the order of cell selection is preserved when choosing words from a Border Wallets grid. To recreate Border Wallets seeds created with v1.7.4 using grid selection, select the cells using a left to right, top to bottom approach. For all Border Wallets seeds created using v1.7.5 onwards, the order of cell selection in the grid is important as it determines the order of the words in your seed.

1.7.4

04 Apr 14:29
Compare
Choose a tag to compare
  • Generate or load Border Wallets grids to enter memorizable seeds (@microchad)
  • Update Tor to v0.4.7.13 using the kmp-tor library (@05nelsonm)
  • Darker dark theme and other styling improvements
  • Signed Windows installer binary
  • Autosuggest all possible words for the last word when entering a BIP39 seed
  • Add diynodes.com public mainnet Electrum server (@openoms)
  • Use the Whirlpool premix priority slider to change mixFeeTarget (the additional fee amount added to premix UTXOs)
  • Display a warning if the chosen mixFeeTarget fee rate is much lower than that of normal priority
  • Change the wallet gap limit and subscribe to new addresses if an address beyond the gap limit range is requested
  • Support saving a Tapsigner backup as binary file
  • Show PSBT QRs more compactly (without non-witness-utxo entries) for all multisig segwit signing wallets
  • Use different addresses when sending batched payments to the same PayNym
  • Add context menu to amount cells to copy values (@wazint)
  • Read name from ur:crypto-hdkey and set keystore label if present
  • Bug fix: Fix issue configuring a block explorer with a port and path
  • Bug fix: Handle empty (0 block only) chains in Cormorant
  • Bug fix: Fix NPE initializing Whirlpool on new wallet without a passphrase
  • Bug fix: Fix accidentally making keystore fields editable on loading of single account non-watchonly wallets
  • Bug fix: Allow a Stowaway counterparty to spend Postmix UTXOs (but receive to the master wallet)

1.7.3

01 Mar 08:28
Compare
Choose a tag to compare
  • Implement Bitcoin Secure Multisig Setup (BSMS) for keystore export and wallet import/export
  • Configure a block explorer URL in General Preferences to enable opening a transaction in the browser
  • Warn and request user confirmation before enabling use of a BIP39 passphrase
  • Upgrade to HWI 2.2.1 to fix signing of segwit multisig transactions on Trezor
  • Add output descriptor QR scanning from the Wallet Import dialog
  • Improve UX of BIP39 wallet discovery on Bitcoin Core
  • Display UTF8 strings encoded into scripts in transaction viewer (displays OP_RETURN text)
  • Recompile secp256k1 on MacOS 10.13.6 to support legacy hardware
  • Show HWI signature verification errors
  • Read and throw HWI error stream if stdout empty
  • Use default ports for Bitcoin Core if absent
  • Avoid using zst compression on .deb packages
  • Add minfeerate parameter to BIP78 payjoin URLs
  • Extend request timeout to 120 seconds for the PayNym API
  • Support converting xprvs in output descriptors to xpubs
  • Upgrade jlink plugin to support Java 19
  • Add StartupWMClass to linux .desktop file to avoid temporary icon (@secondl1ght)
  • Switch bitcoind client from named to array parameters to support btc-rpc-proxy with Cormorant
  • Bug fix: Only use configured proxy when connecting to onion addresses with Cormorant
  • Bug fix: Fix UX when changing the port for an aliased server
  • Bug fix: Fix Taproot signature hashing for single|anyonecanpay sighash flags
  • Bug fix: Fix error when receiving a Stowaway to a Postmix account by reverting to receiving to the master wallet
  • Bug fix: Add lock menu item to all wallets with a password on Terminal, not just hot wallets
  • Bug fix: Fix keystore encryption issue when changing the password on a wallet with freshly added accounts
  • Bug fix: Improve BIP47 payment address secret point validation (@SamouraiDev)

1.7.2

09 Feb 12:41
Compare
Choose a tag to compare
  • Add Taproot support on Bitcoin Core using the new Cormorant library utilizing descriptor wallets (requires Bitcoin Core v24 or later)
  • Show a Lifehash for the wallet's master fingerprint in the Settings tab and Passphrase dialog
  • Implement BIP329 for importing and exporting wallet labels (Wallet Import and Export dialogs)
  • Add full support for Tapsigner as a hardware wallet (initialize, import, backup, change pin, message and transaction signing)
  • Add support for sending to, sweeping and re-initialized a Satscard (Send tab Pay to dropdown and Tools > Sweep Private Key)
  • Upgrade to HWI 2.2.0 (@achow101)
  • Add support for entering empty passphrases on Trezor One
  • Add Jade multisig export to wallet Export dialog
  • Add support for private key sweeping using Bitcoin Core with Cormorant (requires Bitcoin Core v24 or later)
  • Add https protocol to support Bitcoin Core connections over TLS
  • Add note on disabling derivation path validation to keystore help tooltip
  • Avoid copying wallet history unnecessarily on wallet load
  • Export 8 decimal places when exporting a CSV in BTC units
  • Add config property autoSwitchProxy to disable automatic proxy switching on failure
  • Improve Tor connection failure messages with help text
  • Indicate in the SSL handshake warning that a certificate renewal may be the cause
  • Prefer loading data for transaction tabs from existing wallet transactions
  • Allow expired certificates for electrum servers so long as they have been previously used or explicitly approved
  • Write and parse both multipath and single descriptors in wallet output descriptor export
  • Add transaction fee column to transactions CSV for outgoing (spending) transactions
  • Improve display of JSON-RPC error exceptions
  • Add block height to Terminal connected label
  • Update menu categories for Linux desktop installation
  • Improve legacy Bitcoin Core wallet error messages
  • Set initial focus to done button on Terminal server test dialog
  • Avoid triggering all history changed event on unconfident script hash status calculations
  • Update dependencies for guava, simple-json-rpc, junit and dependants
  • Upgrade Gradle to 7.6 for Java 19 support
  • Bug fix: Fix Sparrow export wallet file extension to be always .mv.db
  • Bug fix: Fix cancelling Create Wallet in Terminal
  • Bug fix: Allow message sign/verify from nested segwit wallets
  • Bug fix: Fix edge case when loading wallets with matching tx inputs and outputs
  • Bug fix: Fix persistence of renaming and deleting newly created wallet accounts
  • Bug fix: Ensure focus remains on table after editing a label cell
  • Bug fix: Add merge function for wallet transaction entry edge case
  • Bug fix: Fix address context menu action Copy Output Script Bytes to return entire ScriptPubKey
  • Bug fix: Disable server toggle when no server is configured (URL host is empty)

1.7.1

17 Nov 14:20
Compare
Choose a tag to compare
  • Add icons to wallet tabs for PayNym and hardware wallets, and support custom icons through tab context menu
  • Broadcast premix transactions from Terminal using Mix Selected on UTXOs
  • Show address as QR code in Terminal
  • Change QR code density for UR encoding via QR display dialog button
  • Improve .deb control file and avoid dependence on xdg-utils when building sparrow-server .debs
  • Disable assistive technologies in Windows to avoid potential runtime crash
  • Treat IP range 100.64.0.0/10 as local network addresses
  • Close connecting sockets and interrupt read thread if necessary on connection shutdown
  • Add error message when connecting to Bitcoin Core with a Taproot wallet
  • Hide 'Spend UTXOs' and 'Freeze UTXOs' context menu items on address cells in the UTXO table
  • Reallow watch-only wallets to trigger USB signing dialog, but handle special case for mixed seed/watch only multisig wallets
  • Always use .mv.db format for Sparrow wallet exporter
  • Bug fix: Avoid using locale for unit formatting
  • Bug fix: Fix NPE in Terminal for exchange rate updates without a BTC rate
  • Bug fix: Fix NPE selecting a server in the server alias dialog
  • Bug fix: Delay wallet file deletion to allow for database compaction and show error on failure
  • Bug fix: Avoid triggering close wallet events when reordering tabs
  • Bug fix: Fix export from Settings tab for a new account by ensuring bidirectional links are restored on save
  • Bug fix: Bring window to front when restored after being minimized to tray
  • Bug fix: Improve Terminal resizing behaviour

1.7.0

27 Oct 11:34
Compare
Choose a tag to compare
  • Implement Sparrow Terminal interface to configure Sparrow, create and load wallets, and remix with Whirlpool
  • Support Linux aarch64 operating systems (such as Raspberry Pi 64-bit OS)
  • Add support for configuring server aliases to hide server URLs
  • Add support for switching servers via the Tools menu
  • Add Cancel Transaction (RBF) to the unconfirmed transaction context menu to recover spent funds via RBF
  • Add Unit Format menu to View menu to select alternative grouping and decimal separators
  • Support running Sparrow Terminal in headless Linux (no $DISPLAY) environments
  • Recommend a backup of the output descriptor when saving new multisig wallets
  • Add Jade as an airgapped (QR code) keystore importer
  • Add wallet export option to export a config file for Electrum Personal Server (EPS)
  • Increase the maximum gap limit, but display a warning when the gap limit is over 999
  • Add support for importing a wallet from a Sparrow-created output descriptor PDF
  • Add support for deprecating importers and exporters
  • Deprecate importing and exporting for Cobo Vault hardware wallet
  • Add a context menu item in the transaction diagram to show input and output addresses as QRs for verification
  • Add Move Left and Move Right context menu items to reorder wallet and transaction tabs
  • Show warning dialog when a legacy multisig output descriptor multi is entered
  • Verify signatures immediately after signing as per recommendation in BIP340
  • Freeze and unfreeze all associated UTXOs from an address cell context menu
  • Add a context menu item to Addresses table to spend all UTXOs for an address
  • Request user attention via the taskbar when Soroban communication requires action (OSX only)
  • Set a transaction label on Soroban collaborative transactions
  • Allow Soroban initiator to retry if the meeting request fails
  • Save a transaction diagram as an image through a context menu item on the diagram
  • Add INFO or DEBUG level logging to all external API calls
  • Add TRACE logging to all Electrum server calls
  • Suppress verbose Whirlpool connection related logging errors
  • Use compact parameter to improve PayNym search performance
  • Ignore newline characters when editing a wallet configuration in the output descriptor dialog
  • Show additional inputs in the transaction diagram tooltip as labels or abbreviated txid:index
  • Remove unnecessary Java native commands from binaries
  • Accept output descriptor fragments in Settings QR scan for xpub
  • Avoid resolution of onion hosts when creating proxied server socket addresses
  • Bug fix: Fix long name length on Coldcard multisig export
  • Bug fix: Fix reproducibility issue by avoiding use of objcopy to strip debug info during build
  • Bug fix: Cancel Whirlpool startup service when disconnecting
  • Bug fix: Fix import of Electrum wallets without keystore labels
  • Bug fix: Disable RBF related commands if Allow Unconfirmed preference is disabled

1.6.6

04 Aug 11:46
Compare
Choose a tag to compare
  • Add support for Auth47 authentication by registering a handler for auth: URLs in the browser
  • Add support for LNURL-auth authentication by registering a handler for lightning: URLs in the browser
  • Add BIP47 support for Bitcoin Core connections
  • Spend change from BIP47 notification transactions only if necessary (@maxtannahill)
  • Add support for sweeping of funds from a BIP38 encrypted private key
  • Only allow sending to PayNyms where a notification transaction has previously been sent by the sender (no automatic reverse linking)
  • Show taproot specific sighash default in sighash dropdown, and select it if appropriate
  • Add optional transaction count column on address table using table header context menu to show and hide
  • Reduce delay before attempting to reconnect when a private server connection fails
  • Allow mixing out to other postmix wallet accounts
  • Copy existing labels from deposit UTXOs into badbank UTXOs if present
  • Add tooltip to wallet tab label on load failure
  • Avoid unnecessary computation during entry cell sizing on initial table scroll
  • Cache any wallet nodes for provided addresses during transaction construction, and use cache in transaction diagram and privacy analysis
  • Refactor and optimize address classes
  • Optimize retrieving unspent UTXOs
  • Optimize UTXO selection through local variable caching of wallet data reused in computation
  • Prefer using libsecp256k1 to derive public keys from private
  • Store address data in wallet file where no passphrase is present to avoid lengthy rederivation of keys on deep wallets
  • Compact wallet database on closing
  • Indicate when creating a wallet transaction from a deep wallet is deriving keys
  • Check proposed wallet name against open wallets for duplicates
  • Invalidate multisig addresses for message signing and include address tooltip for guidance
  • Add Help menu item to open Telegram support group
  • Show wallet name in delete wallet dialog
  • Improve unconfirmed transaction tooltip
  • Show custom error dialog for 'min relay fee not met' broadcast errors
  • Add context menus to transaction diagram labels to copy addresses and values
  • Require non-empty password on encrypted wallet load
  • Avoid re-requesting passphrase on BIP39 wallet import
  • Show empty passphrases as 'No passphrase' in seed view dialog
  • Indicate number of UTXOs selected in UTXOs tab
  • Delete temporary HWI pyinstaller extraction if HWI crashes
  • Update H2 database to 2.1.214
  • Upgrade to Gradle 7.5
  • Upgrade to Java 18.0.1
  • Bug fix: Always find node for first input when retrieving historical notification transactions
  • Bug fix: Save encrypted keystores on all wallets when changing password on child wallet Settings tab
  • Bug fix: Add all whirlpool accounts if any one is discovered on wallet import
  • Bug fix: Fix transaction sort where parent/child transactions were included in the same block
  • Bug fix: Fix case insensitive matching when searching for addresses and transaction outputs
  • Bug fix: Disallow duplicate xpubs in multisig wallet keystores
  • Bug fix: Fix issue adding accounts to multisig wallets with mixed watch-only and seed keystores
  • Bug fix: Avoid saving xpubs on BIP47 wallets, restore from seed on opening
  • Bug fix: Use locale-insensitive lowercase and uppercase functions
  • Bug fix: Allow PSBTs without previous UTXO data