github celestiaorg/celestia-core v0.42.9

one hour ago

Hardens consensus, the CAT mempool and RPC resource limits, and fixes two issues hit when a chain restarts or rolls back.

Behaviour changes:

  • Peers that send a vote with an invalid signature are disconnected. Invalid vote extension signatures alone are not punished.
  • block_search returns an error when a page would exceed 64 MiB of blocks; use a smaller per_page. A single block is always served.
  • gRPC SubscribeNewHeights accepts at most 1000 concurrent streams and returns ResourceExhausted beyond that.
  • A heavy gRPC stream or WebSocket response that the client does not read for 30 seconds is closed with DeadlineExceeded, releasing its heavy request permit.
  • On a chain that starts at initial_height > 1, such as one restarted from an exported genesis, a precommit for the previous height is ignored instead of panicking the node. Chains that start at height 1 are unaffected.
  • A tx re-executed at the same height and index after a rollback replaces its old result in the tx index.

What's Changed

  • fix(rpc/grpc): [medium] bound concurrent SubscribeNewHeights streams (backport #3603) by @mergify[bot] in #3605
  • fix(rpc): [medium] bound heavy permit lifetime for gRPC streams and WebSocket responses (backport #3612) by @mergify[bot] in #3618
  • fix(rpc): [medium] bound block_search page by response size (backport #3610) by @mergify[bot] in #3619
  • fix(mempool/cat): [high] bound the received-tx buffer (backport #3594) by @mergify[bot] in #3621
  • feat(consensus): [high] disconnect peers that send votes with invalid signatures (backport #3600) by @mergify[bot] in #3622
  • fix(consensus): [high] ignore precommits for the height before the initial height by @vgonkivs in #3598
  • fix(txindex): [medium] let a re-executed tx replace its old result (backport #3503) by @mergify[bot] in #3599

Full Changelog: v0.42.8...v0.42.9

Don't miss a new celestia-core release

NewReleases is sending notifications on new releases.