v0.42.0
This is a large release that reworks the SPV client, wallet, and FFI surface. The most impactful changes:
- Sync architecture rewrite: the block, filter, and masternode sync pipelines were rewritten end-to-end, with explicit state machines, hardened reconnect and resume paths, deadlock fixes, and a long tail of correctness fixes around filter batching, in-flight state on disconnect, and post-sync header handling (#411, #440, #451, #452, #738).
dashdintegration tests: end-to-end SPV sync tests against a real regtestdashdcovering sync, restarts, disconnections, transactions, masternodes, and multi-wallet, gating thespvandffiCI groups (#464, #697, #740).- Mempool support: a real mempool path through the SPV client with a
--mempool-strategyCLI argument, plus aCoinSelectorthat can spend mempool UTXOs, driving a new transaction confirmation lifecycle (#558, #540, #552, #748). - Hardcoded masternode seeds: vendored masternode seed files with weekly CI auto-refresh so cold-start bootstrapping no longer waits for a full
QRInfosync (#678). - Wallet manager extraction and atomic events: core transaction building and signing moved into a dedicated wallet manager, wallet events are now atomic, and per-account balance diffs are carried on events (#594, #727, #696, #706).
- FFI surface expansion: full
TransactionRecordexposed through FFI and wallet events, asset-lock builder,MasternodeListEngineaccessor, transaction broadcast, error callback registration, and an asyncSignertrait for iOS workflows (#614, #600, #608, #458, #661). - Platform and Asset Lock: a new
PlatformPaymentmanaged account to track Platform balances, plus Asset Lock derivation subfeatures 4 and 5 and a correctedAssetLockTxstructure (#365, #368, #454, #659). no-stdsupport dropped: incompleteno-stdsupport was removed acrossdashcore,hashes,internals, andkey-walletto simplify the codebase (#518, #519, #520, #521).
See CHANGELOG.md for the full list of changes.
Full changelog: v0.41.1...v0.42.0