v22.1.3
Cosanta Core v22.1.3
Cosanta Core v22.1.3 includes the changes introduced across the v22.0.x and v22.1.x release series, together with additional stability, performance, networking, and build improvements.
Highlights
- Added support for Asset Unlock transactions and updated withdrawal validation rules.
- Enabled encrypted BIP324/v2 P2P connections by default, with automatic fallback to v1 peers.
- Improved network diversity, onion connectivity, peer selection, and resistance to eclipse and partition attacks.
- Improved deterministic masternode list and quorum rotation performance.
- Added persistent UTXO locking in both RPC and the graphical interface.
- Improved responsiveness for large wallets.
- Updated build tooling, platform compatibility, and release packaging.
Consensus and Platform withdrawals
- Added the
withdrawalsdeployment and its updated consensus validation rules. - Asset Unlock validation can use all 24 active quorums and the most recent inactive quorum.
- Increased the withdrawal limit to 2,000 COSA per 576 blocks.
- Updated protocol requirements for nodes and masternodes.
P2P and networking
- Enabled BIP324/v2 encrypted P2P transport by default. Connections automatically fall back to v1 when the remote peer does not support v2.
- Fixed v2-to-v1 downgrade handling for mixing and masternode probe connections, reducing unnecessary connections and masternode load.
- Nodes with onion connectivity now maintain and protect at least two outbound onion connections.
- Multi-network nodes attempt to maintain at least one outbound connection on every reachable network.
- DSQ messages are relayed through the inventory system to reduce bandwidth usage.
- Increased the compressed block-header request limit from 2,000 to 8,000.
- Ports below 1024 and other commonly authenticated service ports are avoided as peer service ports.
- Updated the
isdlockcycleHashfield to identify the signing quorum's DKG cycle start block.
Quorums and masternodes
- Optimized
quorum rotationinfoandGETQUORUMROTATIONINFOby building diffs progressively from oldest to newest. - Corrected
baseBlockHashhandling in quorum rotation responses. - Improved deterministic masternode list processing and the performance of RPCs such as
protx diff.
Wallet and CoinJoin
- Added the
coinjoinsaltRPC withget,set, andgenerateoperations. - Persistent locks are now supported by
lockunspentand survive node restarts. - UTXOs locked through the graphical interface are stored persistently.
- Improved graphical interface responsiveness for large wallets.
- Fixed a potential CoinJoin test deadlock caused by wallet transaction scans under the wallet lock.
- Fixed CoinJoin balance disclosure in discrete mode.
RPC changes
- Added
getislocksto retrieve InstantSend lock data in JSON and binary hexadecimal formats. - Added a binary
hexfield togetbestchainlock. - Added descriptor-wallet support to
governance votemanyandgovernance votealias. createwalletnow requiresload_on_startupto be set explicitly for descriptor wallets.- Renamed the
getblockfrompeernamed argument fromblock_hashtoblockhash. - Removed deprecated
protx *_hpmnaliases in favor ofprotx *_evo. - Updated
quorum dkgsimerrorto accept an integer rate from 0 to 100. coinjoin stopnow reports an error when no mixing session is active.- Updated transaction JSON output so
creditOutputsentries are objects rather than strings. - Deprecated top-level mempool fee fields in favor of the
feesobject.
GUI and configuration
- Added an option to enable RPC server functionality from the graphical interface.
- Added dark-mode appearance support on macOS.
- Extended
-walletnotifywith%hfor block height and%bfor block hash. - Added human-readable units to
-maxuploadtarget. - Added StatsD batching and queueing controls.
Build, compatibility, and tests
- The minimum supported glibc version is 2.31. Ubuntu 18.04 and RHEL 8 are no longer supported.
- Improved FreeBSD build support.
- Updated macOS packaging and notarization support.
- Pinned the QEMU version used by container builds to avoid segmentation faults.
- Improved regtest and devnet activation controls through
-testactivationheight. - Fixed debug-build assertions for coinbase transactions in simplified masternode list diffs.
- Improved CoinJoin test stability and deterministic coverage.
Upgrade notes
Shut down the previous version completely before replacing the binaries. Downgrading to a version older than v22.0.0 may require a full reindex.