Wasabi Wallet v2.0.6 - Juggernaut
Wasabi Wallet is an easy to use, privacy-focused, open-source, non-custodial, Bitcoin wallet
Download
🪟 Windows
🍏 Apple M1/M2
🍎 Apple Intel
🐧 Ubuntu / Debian
🐧 Other Linux
Release Highlights
💡 New Hardware Support
🛟 Safety Coinjoin Feature
💻 Enhanced RPC Server
⚙️ Performance Upgrades
🎉 User Experience Enhancements
🍻 Cross-Wallet Performance
📈 Framework and GUI Improvements
🛠️ Bug Fixes and Security
Release Summary
New Hardware Device Support:
The update adds support for Blockstream Jade and BitBox02, allowing users to combine the security of cold storage with the privacy benefits of coinjoin transactions within the same desktop application.
Safety Coinjoin Feature:
Aiming at improving privacy for new users, the Safety Coinjoin feature ensures at least two coinjoin rounds for the first Bitcoin deposit into an empty wallet, preventing common coin consolidation errors.
RPC Server Enhancements:
The RPC server now offers 11 new calls, including a unique feature for payments within coinjoins, improving privacy and fee efficiency. The RPC server enhancements also include better accessibility over Tor with configurable ports.
Performance Improvements:
Launch times and overall performance of the desktop app have been significantly improved, reducing CPU and memory usage by half and slashing wallet load time by at least 60%. These improvements are especially beneficial for users with HDD computers.
User Experience Upgrades:
Users can now directly rename wallets from the interface, benefit from clearer privacy warnings, and enjoy a streamlined wallet creation flow. Additional features like automatic closure of success screens and expanded discreet mode further enhance the user experience.
Additional Enhancements and Bug Fixes:
The release includes improvements for cross-wallet performance, updates to Avalonia 11 and .NET 8 for GUI and framework enhancements, solutions for UI memory leaks, and bug fixes for Coldcard hardware device integration. The update also introduces a new PGP key for securely reporting software vulnerabilities.
To learn more, check out our blog post.
Installation Guide
Download the operating system relevant software package and install Wasabi like you would with any other software on your computer.
For a detailed installation guide, including signature verification, see the documentation.
Documentation
🕸️ Website
🧅 Tor onion site
📙 Documentation
❔ FAQ
Advanced Guide
If you want to build or update Wasabi from source code, check out these easy instructions.
Wasabi uses reproducible builds, which you can verify with this guide.
Requirements
- Windows 10 1607+
- Windows 11 22000+
- macOS 12.0+
- Ubuntu 20.04+
- Fedora 37+
- Debian 11+
Full Changelog
- [VDG] [Trivial] Fix WalletPageViewModel filename by @ichthus1604 in #11231
- [VDG] CurrencyEntryBox - Improve ContextMenu's Paste by @wieslawsoltes in #11174
- Starter script for
wassabeed
by @lontivero in #11234 - Fix warnings in
VersionsResponse
by @kiminuo in #11078 IndexBuilderService
: RemoveRpcClient.GetBlockHashAsync
from the critical section by @kiminuo in #11247- Cancellation TX to reset input AS by @nopara73 in #11236
- Update low-risk dependencies by @kiminuo in #11063
- Fix build by @soosr in #11248
- Coins those aren't sufficiently distanced from external keys shall not be considered private by @nopara73 in #10885
- Azure pipelines: Remove
PublishCodeCoverageResults
task by @kiminuo in #11255 - Update NBitcoin + coverlet dependencies by @kiminuo in #11064
- Pause CJ after recovery by @molnard in #11260
- Remove Moq by @lontivero in #11249
WalletManager
: Pass dependencies via the constructor by @kiminuo in #11025- [VDG] Fix wrong algorithm to create pockets by @SuperJMN in #11242
- [trivial] Fix xUnit warnings after the upgrade of xUnit to 2.5.0 by @kiminuo in #11271
- Revert "Use same json serialization settings on client and server" by @lontivero in #11280
- [VDG] UI Decoupling #29 by @ichthus1604 in #10756
- [VDG] UI Decoupling #30 by @ichthus1604 in #10821
- [VDG] UI Decoupling #31 by @ichthus1604 in #10822
- Make filter migration cancellable by @turbolay in #11274
- [VDG] tx details: clarify expected confirmation time by @MarnixCroes in #11286
- [trivial] bump Fedora minimal version requirement by @MarnixCroes in #11291
- [VDG] UI Decoupling #32 by @ichthus1604 in #11056
- [VDG] UI Decoupling #33 by @ichthus1604 in #11057
- [VDG] UI Decoupling #34 by @ichthus1604 in #11188
Warden
: Add logging by @kiminuo in #11256IndexBuilderService
: Almost lock-free iteration by @kiminuo in #11252- Cache big responses by @lontivero in #11282
- Add a Tor test for a binary file by @kiminuo in #11293
- Ellipsis for long text by @TChukwuleta in #11272
- [VDG] Preview Transaction: update confirmation time label text by @MarnixCroes in #11288
- [VDG] UI Decoupling #35 by @ichthus1604 in #11283
- Hardcode delay before signing by @lontivero in #11169
- Fix: Add TurboSyncHeight reset to SetMaxBestHeight by @turbolay in #11305
- Process filters while downloading them by @turbolay in #11306
- doc WasabiSetUpRegtest: add missing Linux bitcoin-qt path by @MarnixCroes in #11300
- Update HWI to 2.3.1 by @adamPetho in #11312
- Remove website code from backend by @kristapsk in #11257
- [refactor]
Wallet
: Pass dependencies via ctor by @kiminuo in #11321 - [Trivial] Fix repo image by @yahiheb in #11330
CoinbaseExchangeRateProvider
: Fix warnings by @kiminuo in #11334WalletManager
: RenameAddWallet
toGetWalletByName
by @kiminuo in #11332- [refactor]
WalletManager
: CreateWallet
in a method to make the code more DRY by @kiminuo in #11333 - Rename
HttpClientFactory
toWasabiHttpClientFactory
and introduceCreateLongLivedHttpClient
helper by @kiminuo in #11307 Wallet
: Variable is casted anyway by @kiminuo in #11320- Bump version on master by @molnard in #11336
- Disable WW1 gracefully by @lontivero in #10888
- [VDG] Decouple view models from Avalonia platform interface IClipboard by @wieslawsoltes in #11308
- Add AnonScoreTarget to RPC call getwalletinfo by @turbolay in #11351
- Add RPC fee rates by @lontivero in #11350
- Fix 3 analyzer warnings in
UIContextUsageInConstructorAnalyzer
by @kiminuo in #11319 - Update the current tip height in WalletLoadWorkflow by @turbolay in #11246
- Bump required .NET SDK version to 7.0.200 by @kiminuo in #11357
- Fix broken music box by @adamPetho in #11359
- [VDG] Fix dark mode toggle by @wieslawsoltes in #11360
- Fix Wasabi crash if exception happens after PreviewTx screen by @Szpoti in #11338
- Bump required .NET SDK version to 7.0.304 by @kiminuo in #11367
- [VDG] Move Null objects to Test Project by @ichthus1604 in #11354
WasabiSynchronizer
: AddInitialRequestTcs
by @kiminuo in #11343- [VDG] Remove PrivacyBar Segments by @ichthus1604 in #11371
- [VDG] Fix WalletModel multiple instances by @ichthus1604 in #11302
- [VDG] Fix fee chart when there is only one fee estimation by @wieslawsoltes in #11348
- [VDG] Skip wallet name page for first wallet creation by @ichthus1604 in #11369
NullClipboard
: Fix warnings by @kiminuo in #11379- QR code & parsing errors by @kiminuo in #10578
- Punish descendants by @lontivero in #11364
- Ban doublespenders by @lontivero in #11372
- [VDG] MusicBox - remove fade out on messages by @soosr in #11392
- Create ReleaseNotesTemplate.md by @MarnixCroes in #11387
- Revert
RoundParameter
that made clients to trust by @lontivero in #11395 - Flake for safer deployments by @lontivero in #11407
Prison
: fix lock by @kiminuo in #11412Global
: Fix warning by @kiminuo in #11420- [VDG] ...and AutoInterfaces for all by @ichthus1604 in #11405
- [VDG] Combined Source Generator by @ichthus1604 in #11401
- [VDG] AutoInterface Source Generator by @ichthus1604 in #11402
- [VDG] Combined AutoNotify Source Generator by @ichthus1604 in #11403
IndexStore
: MakeSmartHeaderChain
propertyprivate
by @kiminuo in #11378- Add deploy script and version by @lontivero in #11415
- [VDG] Auto login after Create New Wallet / Recover Wallet by @ichthus1604 in #11390
- [VDG] Combined SourceGenerator: Fix sporadic build error in Visual Studio by @ichthus1604 in #11427
- TX History Refinement fix: Icon + Tooltip of normal transactions by @TChukwuleta in #11382
- "Failed to signal ready to sign" - Prison extension by @adamPetho in #11422
- Fast signing banning by @lontivero in #11431
- Fix crash during HW import by @Szpoti in #11429
- [VDG] Fix HistoryViewModelBase error by @ichthus1604 in #11433
- [VDG] Bring window to front when shutdown is prevented by @soosr in #10874
- [VDG] Use file-scoped namespaces in source generators by @wieslawsoltes in #11434
- New scripts for deploying by @lontivero in #11445
- [Trivial] Change namespace to match folder structure by @yahiheb in #11447
- Add RPC & CLI link to daemon readme by @MaxHillebrand in #11389
- [VDG] Privacy Warning: Transaction Known as yours by by @ichthus1604 in #11432
- [VDG] Critical privacy warnings by @ichthus1604 in #11461
- [VDG] Re-enable mark as locked by @SuperJMN in #11468
- [VDG] Hide privacy progressbar when no progress by @SuperJMN in #11469
- [VDG] Allow only 2 decimals instead of 3 in custom fee rate view by @SuperJMN in #11470
- Install diagnostic tools by @lontivero in #11456
- Stop application if CTLR+C is requested early by @kiminuo in #11036
- Fix Smartcoin.IsImmature by @molnard in #11453
- Remove WW1 code by @kiminuo in #9695
WalletLoadWorkflow
: Remove active waiting by @kiminuo in #11377- Use build parameters instead of running
git
by @lontivero in #11484 - [refactoring] Move methods out of
TransactionHistoryBuilder
by @kiminuo in #11471 - Move ToMoneyUnit to a proper extension class by @turbolay in #11489
SmartTransaction
: RemoveFirstSeenCompatibility
by @kiminuo in #11472- [VDG] Coinjoin profiles: Fix wrong item activation area. by @SuperJMN in #11452
- [VDG] Coerce value to 2 decimals in the ViewModel by @SuperJMN in #11481
- Change log level from Warning to Error in case of RPCException by @adamPetho in #11485
TransactionSummary
: cleanup by @kiminuo in #11490- Move stand-alone method to CurrencyExtenstion by @adamPetho in #11494
- Change logs to Debug when "No suitable coins available" by @Szpoti in #11495
- Abort round by
Arena
by @lontivero in #11473 - [trivial] code style by @kiminuo in #11504
- [tests] Stop Tor on exit by @kiminuo in #11503
- [VDG] Do not set transaction displayed state if it's coinjoin as it sets two icon styles in indicators column by @wieslawsoltes in #11508
- Improve usages of wallet.GetTransactions() by @turbolay in #11493
- Upgrade to Tor 0.4.8.5 by @kiminuo in #11501
- [VDG] UI Decoupling #36 by @ichthus1604 in #11475
- [VDG] UI Decoupling #37 by @ichthus1604 in #11476
- Step forward to Remove
TransactionSummary
(1/n) by @kiminuo in #11520 - better icon for discreet mode by @soosr in #11523
- Pre-calculate Privacy Suggestions for changeless transaction by @Szpoti in #11512
- [trivial]
Services
: AddSmartHeaderChain
by @kiminuo in #11522 - [VDG] Use new discreet mode icon everywhere by @yahiheb in #11524
- [Trivial] Chain Helper methods instead of duplication by @adamPetho in #11525
- Dispose UI stuff on exit in the most common case by @kiminuo in #11511
TransactionSummary
refactoring (2/n): Remove computations of destination addresses. by @kiminuo in #11530- Delete already deprecated things by @lontivero in #11533
- [VDG] UI Decoupling #38 by @ichthus1604 in #11478
- TransactionFactory - Fix fee percentage calculation for self spend by @soosr in #11507
- [refactoring]
TransactionHistoryBuilder
: MakeBuildSummary
static
by @kiminuo in #11542 - [VDG] UI Decoupling #39 by @soosr in #11545
- Extract
TransactionSummary.Fee
to an extension method by @kiminuo in #11543 - [VDG] UI Decoupling #40 by @ichthus1604 in #11486
- [VDG] UI Decoupling #41 by @ichthus1604 in #11491
- [VDG] UI Decoupling #42 by @ichthus1604 in #11492
- [rpc]
PaymentInfo
: Fix warnings by @kiminuo in #11541 - Add words to exclusion.dic by @yahiheb in #11329
- Add
recoverwallet
RPC call by @lontivero in #11535 - Remove obsolete API by @lontivero in #11551
- Speed up transaction processing by 20% by @nopara73 in #11555
- Speed up transaction processing by 44% by @nopara73 in #11561
- [Trivial] Add non-words to their group in the spell checker file exclusion.dic by @yahiheb in #11550
- [trivial] Fix ConfigureAwaits in
WalletSynchronizationTests
tests by @kiminuo in #11558 - [VDG] Fix for projections of lists that have no items by @SuperJMN in #11548
- [VDG] Add confirmation time for coinjoins placeholders by @SuperJMN in #11529
OffchainController
: Fix warnings by @kiminuo in #11553- [trivial]
TransactionProcessor
: Fix accessibility modifiers by @kiminuo in #11572 - Clean up useless properties in TransactionProcessor by @adamPetho in #11574
CoinsRegistry
: IntroduceCoinsByPubKeys
by @kiminuo in #11571- Set
SpenderTransaction
to null in Undo by @turbolay in #11576 - Add
speeduptransaction
RPC method by @lontivero in #11537 - Add
canceltransaction
RPC method by @lontivero in #11536 - Introduce IsUsed in the CoinsRegistry by @turbolay in #11580
- Remove web static content by @lontivero in #11584
- Add
loadwallet
RPC method by @lontivero in #11579 - Punish remixers linearly by @lontivero in #11578
- [Trivial] Fix typos by @yahiheb in #11569
- [Trivial] Rename image by @yahiheb in #11585
- Fix CPFP + Cancel Regression Tests by @soosr in #11575
TransactionHistoryBuilder
: Use dictionary instead of list by @kiminuo in #11592- Allow decompress Brotli responses automatically by @lontivero in #11601
- Add "How to be useful" to CONTRIBUTING.md by @turbolay in #11531
- [Trivial] Fix CodeFactor by @yahiheb in #11606
TransactionBroadcaster
: Minor cleanup by @kiminuo in #11591- [VDG] Use enum for history item status and type by @wieslawsoltes in #11596
- More descriptive error message when recovering wallet rpc by @lontivero in #11603
- [VDG] Unify amount display by @SuperJMN in #11506
- [VDG] Verify seed words - add
canExecute
to verify button by @soosr in #11609 - [VDG] UI Decoupling #43 by @ichthus1604 in #11497
- [VDG] UI Decoupling #44 by @ichthus1604 in #11509
- [VDG] UI Decoupling #45 by @ichthus1604 in #11510
- [VDG] UI Decoupling #46 by @ichthus1604 in #11565
- [VDG] UI Decoupling #47 by @ichthus1604 in #11566
CoinsRegistry
: OptimizeGetMyInputs
by @kiminuo in #11618- [VDG] Privacy Warning - change final message by @soosr in #11610
CoinsRegistry
Add a unit test by @kiminuo in #11619- [VDG] UI Decoupling #48 by @ichthus1604 in #11616
- [VDG] UI Decoupling #49 by @ichthus1604 in #11617
- Add
coinjoinStatus
togetwalletinfo
RPC by @turbolay in #11559 TransactionHistoryBuilder
: Do not update "FirstSeen" and "Labels" by @kiminuo in #11605- [RPC] Quick fix: Add anonScoreTarget when wallet is loaded by @turbolay in #11622
- Remove http status reason part as required by @lontivero in #11602
- [VDG] Remove checkmark for verify recovery words dialog by @soosr in #11623
- Group CoinsByOutPoint values by txid by @turbolay in #11384
- [refactoring] Move
BuildHistorySummary
to theWallet
class by @kiminuo in #11631 - [VDG] fix max FeeRate calculation by @soosr in #11120
- [VDG] Temporarily disabling the running in background on macOS by @wieslawsoltes in #11595
- [vdg] clarify Transaction Broadcaster dialog caption by @MarnixCroes in #11634
- [VDG] Fix empty searchbar dropdown by @SuperJMN in #11633
- [VDG] Add/remove Search API to modify items dynamically by @SuperJMN in #11607
- [Trivial] Reduce log level when Warden stops by @adamPetho in #11629
CoinsRegistry
: ExtractUpdateSnapshotsNoLock
by @kiminuo in #11639- [trivial]
CoinsRegistry
: Rename methods by @kiminuo in #11640 - [VDG] Fix ItemStatus of Coinjoin Group by @adamPetho in #11641
- Return back
CoinjoinProcessor
by @kiminuo in #11604 - Add
excludefromcoinjoin
from RPC by @turbolay in #11540 EnumerableExtensions
: Remove unused method by @kiminuo in #11643TransactionProcessor
: Remove extra.ToArray
by @kiminuo in #11646CoinsRegistry
: OptimizeTryGetByOutPoint
method by @kiminuo in #11645- [Trivial] Fix CoderFactor by @yahiheb in #11650
- [refactoring]
FeeStrategy
implementation by @kiminuo in #11651 - [Trivial][VDG] Rename Incoming and Outgoing columns to Received and Sent amounts by @yahiheb in #11189
- [VDG] SearchBar items visibility can depend on other items by @SuperJMN in #11636
- [refactoring]
HistoryViewModel
: Avoid re-sorting by @kiminuo in #11659 Wallet
: Fix accessibility modifiers by @kiminuo in #11660- Publish witnesses only after signing phase is completed [issue 11342] by @M1nd3r in #11498
- Fix .txn file import for ColdCards by @adamPetho in #11662
- Log cheating mechanism. by @lontivero in #11664
CoinsRegistry
: Store transaction amounts by @kiminuo in #11637Config
: RefactorConfig
to expose whether disk configuration was overriden by CLI or env variables (take 2) by @kiminuo in #11658- Skip rounds randomly depending on network conditions by @nopara73 in #10910
- Add
feeRate
tobuild
andsend
rpc interface by @lontivero in #11667 - [VDG] Optimize transaction get by id by @SuperJMN in #11620
- [VDG][Trivial] Order bitcoin node settings by @yahiheb in #11683
- [Trivial] Add missing Exception logging on tx import by @adamPetho in #11680
- Fix coinjoins shared overhead calculation by @lontivero in #11635
CoinsRegistry
: FixDescendantsOfAndSelf
by @kiminuo in #11691- Implement coinjoin to other wallet with daemon by @nopara73 in #11686
- Update exclusion.dic by @nopara73 in #11693
- Refactor of TryAdd method by @M1nd3r in #11687
CoinsView
: OptimizeChildrenOf
by @kiminuo in #11695- Modify
operator==
forSmartCoin
s by @kiminuo in #11698 Wallet
: RefactorTryGetTransaction
to use transaction store by @kiminuo in #11661CoinsRegistry
:CoinsByOutPoint
->CoinsByPrevOuts
by @kiminuo in #11699CoinsView
: RemoveOutPoints
methods by @kiminuo in #11696- Add
listwallets
rpc call by @lontivero in #11701 - Fix generator namespaces by @kiminuo in #11702
- Display custom fee rate dialog directly if a custom fee rate was used by @yahiheb in #11125
- [VDG] Improve settings by @SuperJMN in #11517
- [Contrib/CLI] update getwalletinfo example by @MarnixCroes in #11706
CoinsRegistry
: RefactorDescendantOf
by @kiminuo in #11697- Improve amount decomposer fail condition for Trezor integration tests by @M1nd3r in #11671
- Revert "Improve amount decomposer fail condition for Trezor integration tests" by @lontivero in #11715
ServiceFactory
: Fix whitespace by @kiminuo in #11716- [VDG] Update to Avalonia 11 by @wieslawsoltes in #10423
- Add Condition For Non Existent Denominations by @M1nd3r in #11719
- [startup optimization]
IndexStore
: Check if table is empty faster by @kiminuo in #11718 - [vdg] Preview TX screen: put address as second item by @MarnixCroes in #11734
TransactionFactory
: UseFeeRate
instead ofFunc<FeeRate>
by @kiminuo in #11713- [VDG] Performance tuning by @SuperJMN in #11735
- Batching Payments in Coinjoin by @lontivero in #10580
- Expose the RPC Server as an onion service by @lontivero in #11714
- [trivial]
ServiceFactory
: Remove unused parameter by @kiminuo in #11737 - [VDG] Add estimated confirmation time to coinjoins in Transaction Summary by @SuperJMN in #11707
- Add onion service to the
getstatus
rpc call by @lontivero in #11741 TransactionFactory
: IntroduceTransactionParameters
by @kiminuo in #11738- [VDG] Restore padding fix for TextBox.monoSpaced style by @wieslawsoltes in #11744
CoinsRegistry
: RemoveKnownTransactions
by @kiminuo in #11750- Improve
EnsureDirectoryExists
by @kiminuo in #11751 - [UI] Wallet Coins - fix unnecessary refreshes by @soosr in #11757
- [VDG] Fix LabelsItemsPresenter layout algorithm after update to Avalonia 11 by @wieslawsoltes in #11733
- [VDG] Add colorful diffs in Transaction Preview by @SuperJMN in #11704
- Make StopWhenAllMixed work by @nopara73 in #11762
- Fix countdown when error by @nopara73 in #11782
- [VDG] Add missing themes to CrashReportApp by @wieslawsoltes in #11773
- [VDG] Fix MenuItem spacing in flyouts and context menus by @wieslawsoltes in #11770
- [VDG] Workaround for invalid caption buttons theme by @wieslawsoltes in #11769
- [VDG] Remove unused old theme files not needed after Avalonia 11 update by @wieslawsoltes in #11774
- [VFG] Migrate AmountControl to control themes by @wieslawsoltes in #11775
CoinsRegistry
: RemoveSpentCoinsByOutPoint
by @kiminuo in #11765- [VDG] Fix dialog animations by @wieslawsoltes in #11768
LineChart
Remove unused parameter by @yahiheb in #11793- [Trivial] Fix Codefactor by @yahiheb in #11792
- [VDG] Make password button texts depends on intent by @SuperJMN in #11778
- [VDG] Fix NavBar item font and icon color is different when it is disabled by @wieslawsoltes in #11767
- [VDG] Fix amount copy on Transaction Preview dialog by @adamPetho in #11787
- Fix change avoidance giving back two Less/More suggestion by @Szpoti in #11789
- Set PreferPsbtWorkflow true when importing ColdCard HW by @Szpoti in #11797
- [VDG] UI Decoupling #50 by @ichthus1604 in #11644
- Only update amount if coin is added by @turbolay in #11791
- Remove one
WithAwaitCancellationAsync
overload by @kiminuo in #11780 - [UI] Recovery words - fix message and improve UX by @soosr in #11753
- [VDG] Fix PasswordFoundView reveal password button by @wieslawsoltes in #11772
- [VDG] UI Decoupling #51 by @ichthus1604 in #11665
- [UI] Remove leftover by @soosr in #11805
- [VDG] UI Decoupling #52 by @ichthus1604 in #11800
- Fix Codefactor by @yahiheb in #11799
- Don't skip blame rounds by @nopara73 in #11795
- [VDG] Use fetcher for addresses by @SuperJMN in #11807
- Prison inheritance performance improvement by @lontivero in #11813
- Do not ban coinjoin outputs by @lontivero in #11820
- [Trivial] Fix CodeFactor by @yahiheb in #11815
- Fix ban double spenders by @lontivero in #11822
- [VDG] Fix Wallet Dialogs by @ichthus1604 in #11816
- [VDG] Use AdornerLayer.SetAdorner to add and remove adorner in AdorningContentControl by @wieslawsoltes in #11828
- [VDG] Fix PrivacyRing loading animation showing twice when opened by @wieslawsoltes in #11827
- [VDG] Fix usd formatting in tiles by @wieslawsoltes in #11829
- [VDG] Fix setting classes for history items by @wieslawsoltes in #11831
- [VDG] [Trivial] Fix FadeInBehavior property registration by @wieslawsoltes in #11826
- [VDG] Optimize Receive flow by @SuperJMN in #11810
- [VDG] UI Decoupling #53 by @ichthus1604 in #11801
- [VDG] UI Decoupling #54 by @ichthus1604 in #11808
- [VDG] UI Decoupling #55 by @ichthus1604 in #11811
Config
: Removeconverter
by @kiminuo in #11834- [UI] History - fix CJ group amounts (alternative) by @soosr in #11839
- [VDG] UI Decoupling #56 by @ichthus1604 in #11817
- [VDG] UI Decoupling #57 by @ichthus1604 in #11825
- [VDG] UI Decoupling #58 by @ichthus1604 in #11837
- Fix synchronization issue by @lontivero in #11846
- Added 1 more Exchange rate provider by @AlexisKv in #11841
- CoinsByPrevOuts to TxIdsByPrevOuts by @turbolay in #11790
- [VDG] UI Decoupling #59 by @ichthus1604 in #11842
- Use lazy initialization for scripts in HdPubKey by @turbolay in #11848
- RPC service refactoring by @lontivero in #11814
- Add some help to the command line by @lontivero in #11739
- [VDG] [Trivial] Simplify balances by @SuperJMN in #11850
- [VDG] Split theme variant resources by @wieslawsoltes in #11852
Constants
: Do not parse keys until needed by @kiminuo in #11835- Don't use PubKey.Hash in HdPubKey equality comparer by @turbolay in #11851
- [Trivial] Use expression body for lambda expressions by @yahiheb in #11855
- Do not ban our own coinjoin outputs by @lontivero in #11861
- Add log when we reject an input for been banned by @lontivero in #11862
- [VDG] Improvements/use caches by @SuperJMN in #11845
- Fix warnings in
WalletPageViewModel
by @kiminuo in #11653 - [refactor] Client
Config
: Pass path around to prepare for extraction fromConfig
by @kiminuo in #11860 - [VDG] [Mobile] Add single lifetime clipboard support by @wieslawsoltes in #11874
- [VDG] Introduce MaxPrivacyChars for PrivacyContentControl by @wieslawsoltes in #11771
- [VDG] Fix 'addresses awaiting payment' link not displayed when creating new addresses by @SuperJMN in #11877
- [VDG] Fix wallet info bypass by @SuperJMN in #11879
- [refactoring] Introduce
ConfigManager
1/n by @kiminuo in #11875 - [UI] fix lag by @soosr in #11880
- [VDG] Fix "Send" is available even when no balance in Search Bar. by @SuperJMN in #11878
- [VDG] Fix speedup & cancel by @SuperJMN in #11884
- Ctrl+C must work even if a dialog window is open by @kiminuo in #11876
- UpdateManager - fix nullability by @kiminuo in #11892
- [RPC] Fix getwalletinfo accounts result by @wieslawsoltes in #11867
- [UI] remove leftover by @soosr in #11899
- [UI] refactor to remove
TransactionSummary
fromTransactionModel
by @soosr in #11882 - [VDG] Add blur effect to background when dialog is shown by @wieslawsoltes in #11853
- [VDG] Add advanced coinjoin settings to New Wallet flow by @SuperJMN in #11856
- [VDG] Add headless unit testing by @wieslawsoltes in #11847
- [VDG] Use EffectTransition instead of Animations for dialog background blur by @wieslawsoltes in #11906
- Introduce
ConfigManager
2/n by @kiminuo in #11863 - Expose poisson scheduling in DateTimeOffset extension method by @turbolay in #11894
- [VDG] [Mobile] Use built-in OnPlatform extension by @wieslawsoltes in #11912
Logger
: Optimize logging a bit by @kiminuo in #11911- [Trivial] Fix Codefactor by @yahiheb in #11921
- [trivial] Newtonsoft converters: Explicit types by @kiminuo in #11928
- [UI] remove lefotver by @soosr in #11930
- [VDG] Quick fix for TreeDataGrid.ShowColumnHeaders=false by @wieslawsoltes in #11932
- Keep offenders grouped by txid. by @lontivero in #11939
- Reduce the punishment by half for offenders who spent. by @lontivero in #11940
- Add
System.Text.Json
converters for our Newtonsoft JSON converters + add tests by @Szpoti in #11840 - [Mobile] Refactor NuGet package dependencies for project to make mobile build by @wieslawsoltes in #11913
- [VDG] Fix NavBar issues by @SuperJMN in #11937
- [Trivial] Remove redundant WW1 status property by @adamPetho in #11943
- [For .NET 8] AnalyzedTransaction: Fix warning by @kiminuo in #11948
- Fix Analyzer version by @lontivero in #11952
- Fix clipboard warnings by @kiminuo in #11947
- [VDG] Add Fee Rate to Transaction Details by @SuperJMN in #11953
- [UI] correct FeeRate unit by @soosr in #11968
- [VDG] Correct units for Fee Rate by @SuperJMN in #11969
- ISSUE_TEMPLATE: comment out example/help text by @MarnixCroes in #11891
- Detecting and (avoid) Banning Wasabi coinjoins by @lontivero in #11946
- Changed string format to 1 number after dot. by @AlexisKv in #11977
- Reduce and randomize local banning time if the banning time is absurdly long by @adamPetho in #11958
- Bump version to 2.0.4.1 on master by @yahiheb in #11983
- [perf] Introduce
ConfigManager
3/3 by @kiminuo in #11764 - [VDG] Add new Privacy Bar by @SuperJMN in #11970
CoinsRegistry
: Remove unused stuff by @kiminuo in #11988- Shutdown Wasabi with Ctrl-C even when "Run in background" is enabled | Take 2 by @Szpoti in #11986
- Use
TransactionFactoryParameters
in tests by @kiminuo in #11987 - Make sure we all use the same C# lang version by @molnard in #12006
- [UI] Fix CoinJoin group status tooltip by @adamPetho in #11990
- Jade wallet implement by @Whem in #12041
- Add
listpaymentsincoinjoin
andcancelpaymentincoinjoin
RPC calls by @lontivero in #11976 - Disable warnings in
FileDialogHelper
by @kiminuo in #12054 - .NET 8 by @kiminuo in #11897
- Attempt to use new Windows RID by @kiminuo in #12095
- Remove
ICoinsView.CoinJoinInProcess()
by @kiminuo in #12098 ByteHelpers.ToHex
: Use .NET implementation by @kiminuo in #12101CoreNode
: Minor cleanup by @kiminuo in #12107AllTransactionStore
: Fix accessibility modifiers by @kiminuo in #12096- bump supported OS versions with .NET 8 by @MarnixCroes in #12114
- [VDG] Update to latest Avalonia 11 NuGet packages by @wieslawsoltes in #12111
P2PNodesManager
: RenameDisconnectNode
toDisconnectNodeIfEnoughPeers
by @kiminuo in #12122- Move
IsReplaceable
fromSmartCoin
toSmartTransaction
by @kiminuo in #12099 - Minor improvements regarding
UpdateManager
andLegalChecker
by @kiminuo in #12121 - Bump version to 2.0.5 on master by @adamPetho in #12128
SmartTransaction
: Remove JSON serialization support by @kiminuo in #12002- Remove all
WithAwaitCancellationAsync
extension methods by @adamPetho in #11784 CoinsView
: RemoveAtBlockHeight
by @kiminuo in #12125- Auto-download over Tor by @kiminuo in #12094
WalletFilterProcessor
: Minor cleanup by @kiminuo in #12126UpdateManager
: Clean up the weird cancellation token by @adamPetho in #12129- Compare 'Count' to 0 rather than using 'Any()' for clarity and for performance by @yahiheb in #12153
TransactionStore
using SQLite by @kiminuo in #12137- Use the
IDictionary.TryGetValue(TKey, out TValue)
method to fix CA1854 warnings by @yahiheb in #12152 - [Trivial] Update license year to 2024 by @yahiheb in #12162
- [UI] Fix usd balance copy button is not clickable by @soosr in #12169
WalletFilterProcessor
: Minor refactoring by @kiminuo in #12170- [VDG] Fix text rendering after Avalonia v11 update by @wieslawsoltes in #12173
- [VDG] Display fee rate & estimated time constantly instead of tooltip by @yahiheb in #7638
- [Trivial] Remove dead code by @yahiheb in #12164
- Generate Taproot external keys by @lontivero in #12175
- [Trivial] Fix spelling by @yahiheb in #12178
- [VDG] Fix recovery words dialog lines visibility by @wieslawsoltes in #12177
- [Trivial] Add more Bitcoin Core versions to Constants.UserAgents by @yahiheb in #12179
- RegTest - enable wallet by @molnard in #12188
- Allow
P2PKH
andP2SH
scripts in coinjoin outputs by @lontivero in #12190 - Revert "Allow
P2PKH
andP2SH
scripts in coinjoin outputs" by @lontivero in #12198 - Fix RpcMonitor init in HealthMonitor by @ichthus1604 in #12196
- Ensure Height is at least SegWit activation by @turbolay in #12192
Wallet
: Fix nullability by @kiminuo in #12213- [Temporary] Fix new txs being erased by migration by @turbolay in #12202
- [Wallet synchronization] Add
BlockFilterIterator
by @kiminuo in #12185 - [UI] Fix NavBar selection correctly by @SuperJMN in #12209
- fix memory leak caused by content area. by @danwalmsley in #12221
- [VDG] RecoverWallet UX fixes by @wieslawsoltes in #11335
- Fix a few warnings by @kiminuo in #12227
- [Wallet processor] Extract
Priority
to its own type by @kiminuo in #12228 - Tor: Configurable ports by @kiminuo in #11997
SmartTransaction
: RemoveToLine()
by @kiminuo in #12229- Remove unused
LinqExtensions.Batch
by @kiminuo in #12235 - Remove unused
LinqExtensions.GetPermutations
by @yahiheb in #12237 - [UI] Hide label suggestions in Discreet Mode by @SuperJMN in #12218
- [VDG] Use new file picker api by @wieslawsoltes in #12214
- [trivial] Remove
IRepository
and replace it withIFileSystemBlockRepository
by @kiminuo in #12236 - Wallet rename by @SuperJMN in #11652
- Remove unused parameter
AliceClient.OwnershipProof
by @yahiheb in #12245 - [Trivial] Simplify new expression by @yahiheb in #12244
- [UI] Distinguish between 1 and multiple addresses for copy button by @SuperJMN in #12224
- Move repeating behavior of
P2PBlockProvider
toSmartBlockProvider
by @kiminuo in #12250 - Fix round parameters by @lontivero in #12219
- Include password instructions under wallet settings by @Kruwed in #12207
- Fix typos in Documentation by @vuittont60 in #12251
- Fix oldPath for transactions migration by @turbolay in #12257
- [Trivial] Remove unused code by @yahiheb in #12233
- Use INotifyPropertyChanged instead of base in WasabiSynchronizer by @molnard in #12262
KeyManager
: IntroduceGetBestHeight(SyncType)
by @kiminuo in #12212- [UI] Update the last selected wallet after rename by @SuperJMN in #12268
P2PKH
,P2SH
andP2WSH
in coinjoin outputs by @lontivero in #12256- Remove brain farts by @lontivero in #12234
- Revert "Remove brain farts" by @lontivero in #12270
- update to Avalonia 11.0.7 by @danwalmsley in #12272
- Update WasabiSetupRegtest.md, for #12282 by @fulldecent in #12283
- Update spelling, for #12282 by @fulldecent in #12284
- Move EnsureHeightsAreAtLeastSegWitActivation to WalletManager by @turbolay in #12281
- Introduce
PeriodicRunner
inWasabiSynchronizer
by @Szpoti in #12269 - Improve key cache perf by @lontivero in #12273
- Avoid unnecessary materialization by @lontivero in #12290
- [UI] Fix broken Send Privacy Suggestion preview on ALT+TAB by @SuperJMN in #12286
- Fix osx dock icon issues by @danwalmsley in #12210
- [Trivial] Use
Length
check instead ofAny()
for clarity and efficiency by @yahiheb in #12292 - Fixes major memory leak by @danwalmsley in #12230
- Fix rendering issues in privacy text cell by @danwalmsley in #12287
- Offline Psbt Workflow compatible by @Whem in #12288
- Open the wallet files in parallel at startup by @molnard in #12267
- Improve most used labels by @turbolay in #12258
- Allow arbitrary content in music box messages by @SuperJMN in #12271
- Update Client Knots to 23.0 by @yahiheb in #8825
- Override Fee Overpayment Protection via RPC by @adamPetho in #12124
- Add
HttpRequestException
handling inPeriodicRunner
by @Szpoti in #12307 - Remove Taproot-only compact filters by @lontivero in #12303
- Pay to miners the exact committed fee rate by @lontivero in #10884
- [VDG] Settings: update Dust Threshold tooltip by @MarnixCroes in #12310
- Try not to use unconfirmed coins when BnB. by @molnard in #12306
- Refactor exception catches in
WasabiSynchronizer
by @Szpoti in #12311 - Optimize application startup - alternate method by @SuperJMN in #12277
- Move EnsureHeightsAreAtLeastSegWitActivation to Wallet.Initialize by @turbolay in #12329
- Coldcard Edge firmware version fixing by @Whem in #12326
- Wallets load - remove refresh mechanism by @molnard in #12299
- Split
JsonRpcResponse
is success and error by @lontivero in #11586 - Disable
KeywordsMustBeSpacedCorrectly
CodeFactor rule by @adamPetho in #12334 - Knots version fixing and document update by @Whem in #12289
- [VDG] Close the Success dialog automatically by @wieslawsoltes in #12312
- Ensure only valid decompositions by @lontivero in #12338
- [VDG] Fix TreeDataGridPrivacyTextCell rendering by @wieslawsoltes in #12344
- [Trivial] Simplify member access by @yahiheb in #12293
- [UI] fix cancel icon by @soosr in #12349
- Fix crash when opening send by @soosr in #12355
- [VDG] Encapsulate clipboard access in ApplicationHelper and make sure always run on main UI thread by @wieslawsoltes in #12353
- Fixing large transaction inputs timeout by @Whem in #12337
- [Release] fix USD amount copy by @soosr in #12389
- [Release] Fix CurrencyEntryBox by @soosr in #12384
- [Release] Fix history after txn search by @soosr in #12388
- Hwi icons align fix by @Whem in #12394
- [Release] add HW icons by @soosr in #12390
- [2.0.6 release] musicbox: update RandomlySkippedRoundMessage by @MarnixCroes in #12393
- [Release] Buy Anything Button by @soosr in #12405
- [Release] Avalonia update by @soosr in #12398
- [Release] Fix duplicate orders by @soosr in #12414
- [Release] PrivacyRing - Fix anonscore when display pockets by @soosr in #12425
- [Release] Change BAB's position by @soosr in #12424
- [Release] Update Avalonia to 11.0.9 by @soosr in #12423
- [Release] BAB - Fix error handling by @soosr in #12426
- [Release] Move NewFiltersEvent registration after Initial Tx Process by @yahiheb in #12431
- [Release] Fix CrashReporter window - Continuation by @yahiheb in #12432
- [Release] Fix CJ aura by @soosr in #12438
- [Release] BuyAnything - error dialog adjustment by @soosr in #12435
- [Release] Fix BuyAnything button visibility by @soosr in #12441
- [Release] discreet mode fix by @soosr in #12448
- [Release] fix unread badge by @soosr in #12454
- [Release] BAB - char limit by @soosr in #12457
- [Release] Remove timestamp from UI message by @Szpoti in #12460
- [2.0.6 release] BAB: update assistant greeting text by @MarnixCroes in #12463
- Disable Taproot KeyPath under HW first connection by @Whem in #12437
- [Release] add missing navtaget by @soosr in #12470
- [Release] fix pointer event by @soosr in #12471
- [Release] bab min char ux by @soosr in #12473
- [Release] Fix PayJoin by @yahiheb in #12475
- [Release] Catch wrong phase exception in CJManager in case of detected double spend by @adamPetho in #12476
- [Release] Fix shipping cost not showing by @Szpoti in #12491
- [Release] Time preference lower time frames by @turbolay in #12487
- Disable SleepInhibitor in Daemon by @kiminuo in #12489
- [release_v2.0.6] fix welcome page inaccuracies by @MarnixCroes in #12496
- [Release] fix opening browser on macos by @soosr in #12498
- [Release] fix copy cut by @soosr in #12499
- [Release] BAB explanation link by @soosr in #12503
- [Release] Remove usuage of inlines completely by @soosr in #12508
- [Release] Fix Linux popup and flyout issues 2 by @molnard in #12506
- [Release] Fix StopWhenAllMixed = false by @adamPetho in #12513
- [Release] fix privacy cell discreet mode by @soosr in #12517
- [Release] Fix crash when countries cannot be retrieved. by @molnard in #12531
- [Release] Add missing BitBox implementation? by @adamPetho in #12521
- [Release] Simplify synchronizer gensock event reporting by @molnard in #12532
- [Release] SendViewModel: Make AmountBtc nullable by @yahiheb in #12544
- [Release] paste amount selection fix by @soosr in #12545
- [Release] fix aura on CJ completed by @soosr in #12546
- [Release] Privacy ring fixes by @soosr in #12548
- [Release] Revert "Fix "StopWhenAllMixed = false doesn't work"" by @molnard in #12555
- [Release] Add missing state machine transition when wallet reached 100% - take 2 by @molnard in #12556
- [Release] Bump version to v2.0.6 by @adamPetho in #12565
- fix visibility on testnet by @soosr in #12567
- [Release] Fix coin model leak by @soosr in #12576
New Contributors
- @TChukwuleta made their first contribution in #11272
- @M1nd3r made their first contribution in #11498
- @AlexisKv made their first contribution in #11841
- @Kruwed made their first contribution in #12207
- @vuittont60 made their first contribution in #12251
- @fulldecent made their first contribution in #12283
Full Changelog: v2.0.5...v2.0.6