Repository navigation
v1.6.0
What's Changed
- Preserve executed SigChecks in native script validation by @fpelliccioni in #763
- Validate block structure and contextual ordering in batches by @fpelliccioni in #764
- Preserve connected ABLA metadata on repeated header persistence by @fpelliccioni in #765
- Wake block storage before chain reorganizations by @fpelliccioni in #767
- Include active ancestry in header requests by @fpelliccioni in #768
- Advance finalization only from published connected blocks by @fpelliccioni in #766
- ci: gate external contributions behind maintainer admission by @fpelliccioni in #800
- ci: classify maintainers using repository permissions by @fpelliccioni in #802
- rpc: answer every request pipelined on one connection by @CyberAshven in #769
- rpc: accept request lines that end in a bare LF by @CyberAshven in #770
- rpc: end reply headers with Content-Length and the body with LF by @CyberAshven in #771
- domain: decode cashaddr addresses only as the P2PKH or P2SH they name by @CyberAshven in #774
- build: require C23 for the C API by @fpelliccioni in #819
- domain: support constexpr CashAddr and precise address errors by @fpelliccioni in #818
- rpc: add validateaddress by @CyberAshven in #775
- rpc: add the coinbase merkle branch to getblocktemplatelight by @CyberAshven in #776
- rpc: add help by @CyberAshven in #778
- rpc: add confirmations to verbose getblockheader by @CyberAshven in #779
- rpc: add estimatefee by @CyberAshven in #780
- infrastructure: modernize base codecs and Bitcoin amounts by @fpelliccioni in #824
- domain: add direct CashAddr encoding and checked address literals by @fpelliccioni in #828
- rpc: add decoderawtransaction by @CyberAshven in #782
- rpc: add getnetworkhashps by @CyberAshven in #781
- rpc: report the short chain name in getblockchaininfo and getmininginfo by @CyberAshven in #786
- rpc: add getchaintips by @CyberAshven in #785
- network: select the next peer message instead of racing a receive and a timer by @fpelliccioni in #830
- rpc: add gettxout by @CyberAshven in #784
- rpc: add getnetworkinfo by @CyberAshven in #783
- Fix standalone literal checks in CI by @fpelliccioni in #837
- rpc: list verbose getrawmempool entries keyed by txid by @CyberAshven in #790
- Preserve selected network defaults across configuration boundaries by @fpelliccioni in #756
- rpc: add getblocktemplate by @CyberAshven in #787
- Implement CHIP-2025-03 Faster Blocks and tempnet support by @fpelliccioni in #839
- rpc: harden blockchain info snapshots and disk accounting by @CyberAshven in #777
- test: repair the batch size and getblocktemplate tests left failing by Faster Blocks by @fpelliccioni in #843
- Add branch-local ticks to header-index chain tips by @fpelliccioni in #844
- Recover identical undo records after branch replay by @fpelliccioni in #822
- ci: give the node suite room and stop its clean-start test idling by @fpelliccioni in #848
- Avoid executor deadlock during transaction admission by @fpelliccioni in #845
- Expose Faster Blocks tick metadata through JSON-RPC by @fpelliccioni in #840
- Reject mutated merkle trees in light block validation by @fpelliccioni in #849
- Recover sync after a contextual block rejection by @fpelliccioni in #850
- Expose Faster Blocks tick schedules and progress through the C API by @fpelliccioni in #841
- Admit local blocks through the existing sync pipeline by @fpelliccioni in #846
- blockchain: read blocks from the flat files, and mempool transactions by txid by @fpelliccioni in #847
- rpc: read blocks from the block files, and mempool transactions by txid by @CyberAshven in #788
- domain: add median_time_past_of, the median time past by ancestry by @fpelliccioni in #860
- Select proof-of-work limits independently for each check by @fpelliccioni in #858
- Preserve invalid duplicate classification in block admission replies by @fpelliccioni in #854
- rpc: answer getblock and getrawtransaction verbosely by @CyberAshven in #789
- Keep contextual block rejection identities across restarts by @fpelliccioni in #856
- rpc: add submitblock by @CyberAshven in #792
- p2p: serve the connected chain's headers and blocks to peers by @fpelliccioni in #861
- sync: announce each newly connected tip to peers by @fpelliccioni in #862
- blockchain: keep the block submission reply independent of the submitter by @fpelliccioni in #863
- build: require GCC 16.2 and probe coroutine binding lifetime by @fpelliccioni in #865
- mempool: expire transactions unconfirmed for two weeks by @fpelliccioni in #869
- mempool: price transactions at BCHN's relay floor, by size by @fpelliccioni in #868
- mempool: bound the pool and raise its minimum fee when full by @fpelliccioni in #870
- node: ask peers for the transactions they announce and offer them to the mempool by @fpelliccioni in #872
- ci: reuse tested packages and run isolated test shards by @fpelliccioni in #878
- node: send each peer the mempool's minimum fee as its fee filter by @fpelliccioni in #873
- node: keep transactions whose parents are missing, and ask for the parents by @fpelliccioni in #876
- node: announce admitted transactions to peers and serve their getdata by @fpelliccioni in #884
- node: drop the orphans a connected block resolves by @fpelliccioni in #886
- build: introduce explicit RPC backend selection by @fpelliccioni in #794
- node: answer a peer's mempool request as BCHN does by @fpelliccioni in #889
- node: add gRPC Protobuf query backend by @fpelliccioni in #798
- node: read the gRPC transport's in-flight count after join without waiting by @fpelliccioni in #891
- node: add Cap'n Proto RPC query backend by @fpelliccioni in #799
- node: let the Cap'n Proto test reader's destructor match the reader it overrides by @fpelliccioni in #892
- build: take asio 1.38.3-kth.3, with a configurable selection timer by @fpelliccioni in #893
- network: run on a browser Worker, over a WebSocket byte stream by @fpelliccioni in #894
- node: synchronize BCH headers in a browser Worker by @fpelliccioni in #895
- network: add native WebSocket peers and endpoint discovery by @fpelliccioni in #810
- ci: name the reusable build workflows by @fpelliccioni in #898
- node: follow a heavier branch in header_sync by @fpelliccioni in #897
- node: keep a browser header client's chain across reloads by @fpelliccioni in #811
- node: count only outbound peers toward the outbound target by @fpelliccioni in #899
- network: use the platform timer in the WebSocket transport by @fpelliccioni in #903
- node: synchronize browser headers from several peers by @fpelliccioni in #900
- node: report a browser header client's chain state and settings by @fpelliccioni in #901
- node: sample block and transaction content in the browser header client by @fpelliccioni in #902
- node: report header_sync failures with std::expected by @fpelliccioni in #905
- ci: pin conan-toolchains in the browser controls job by @fpelliccioni in #907
- chain: add chain.full_validation, an IBD that validates every block by @fpelliccioni in #908
- test: preload the ASan runtime before the no-CSPRNG shim by @fpelliccioni in #909
- c-api: refresh generated wrappers and report async mining failures by @fpelliccioni in #910
- ci: restore coverage caching and batch Catch tests by @fpelliccioni in #913
- c-api: preserve async completion and release failed subscriptions by @fpelliccioni in #912
- test: expect the consensus library's script verdict in full validation by @fpelliccioni in #915
- release: 1.6.0 by @fpelliccioni in #914
Full Changelog: v1.5.2...v1.6.0