Skip to content

v0.42.0

Choose a tag to compare

@xdustinface xdustinface released this 20 May 03:31
4af39af

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).
  • dashd integration tests: end-to-end SPV sync tests against a real regtest dashd covering sync, restarts, disconnections, transactions, masternodes, and multi-wallet, gating the spv and ffi CI groups (#464, #697, #740).
  • Mempool support: a real mempool path through the SPV client with a --mempool-strategy CLI argument, plus a CoinSelector that 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 QRInfo sync (#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 TransactionRecord exposed through FFI and wallet events, asset-lock builder, MasternodeListEngine accessor, transaction broadcast, error callback registration, and an async Signer trait for iOS workflows (#614, #600, #608, #458, #661).
  • Platform and Asset Lock: a new PlatformPayment managed account to track Platform balances, plus Asset Lock derivation subfeatures 4 and 5 and a corrected AssetLockTx structure (#365, #368, #454, #659).
  • no-std support dropped: incomplete no-std support was removed across dashcore, hashes, internals, and key-wallet to simplify the codebase (#518, #519, #520, #521).

See CHANGELOG.md for the full list of changes.

Full changelog: v0.41.1...v0.42.0