You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Only arm a peer stall deadline for a getblocks with a non-zero stop hash. An open-ended getblocks needs no reply, so the deadline disconnected honest, fully-synced peers (btcsuite/btcd#1317).
Stop replying to getblocks with an empty notfound when pruned.
Fix a hang on shutdown caused by a blocking queue send to a peer that had already quit.
Always signal the send completion channel when serving a merkle block, which could otherwise wedge a peer's input handler.
Fix two data races in the connection manager on ConnReq.Addr.
Log a warning when a transaction is relayed to no peer, which happens when its fee rate is below every peer's fee filter.
Mining
Pad the coinbase to the minimum transaction size enforced at the block height. Block generation was permanently broken on regtest above height 1000 and simnet above 3000.
Set the Upgrade9 behavior flag in CheckConnectBlockTemplate, which rejected valid CashToken transactions in getblocktemplate.
RPC & gRPC
Match transaction subscriptions on the address funding an input, so spends of outputs the subscription did not watch arrive now notify. Confirmed parents require --txindex.
Report the missing parent rather than "already have transaction" when submitting a transaction held in the orphan pool, matching BCHN.
Make the estimatefeenblocks parameter optional, matching BCHN and Bitcoin ABC 0.19.1.
Database
Fix a panic when a block rolls the block store over to a new flat file. The panic was recovered while the file lock was held, leaving the database wedged rather than crashing.
Security
Fix a CashTokens consensus rule violation allowing minting NFT forgery. The authorization check shared one flag across all output categories, so a single authorized minting output authorized every other one in the same transaction. Reported by 0xaudron.
Fix a remotely triggerable crash in the committed filter handlers, which dereferenced a missing index. --fastsync also advertised NODE_CF without maintaining one.
Reject raw transactions with trailing bytes in decoderawtransaction and sendrawtransaction, which were previously discarded and the transaction relayed.
Build & Packaging
Publish the Docker image to GHCR on each release tag.
Rewrite the deprecated io/ioutil usage go-bindata emits, with a make bindata target so it survives regeneration.
Update dependencies, including google.golang.org/grpc, golang.org/x/crypto, and golang.org/x/net.
Other
Export bchec.ErrInvalidSquareRoot for use with errors.Is.
Modernize loops to range over integers, and adopt slices.Backward and strings.Builder.
Assert the CHIP-2021-05 hashing density limit in the VM limits tests, which previously carried a check that could never execute.
Fail rather than skip in the invalid VMB vector tests when a vector executes without error.
Fix flaky address manager tests by generating only routable addresses.