Block Node v0.44.2 is the first published release of the 0.44 line. It includes every change from v0.44.0 and v0.44.1, plus the 0.44.2 fix. It improves publisher and subscriber reliability on real networks. The publisher listener's TCP receive buffer is now set before bind(), so accepted consensus node connections start with a ~8 MB receive window instead of ~32 KB. This fixes publisher stalls under high TPS when there is network latency. The HTTP/2 server defaults that were dropping connections are relaxed. Subscribers no longer receive queued live batches after their session closes, and the backfill unparsed client now fails loudly instead of silently when the overall gRPC timeout is exceeded.
Tooling and verification are also more robust. MirrorNodeUtils retries transient 404s and has tighter retry classification. RSA proof verification gets a V2/V5 follow-up. A WRB-RSA roster-bootstrap issue that left topologies storing no blocks is fixed. On the documentation side, this release adds a Block Node version compatibility matrix, Kubernetes resource sizing guidance and CN stream mode troubleshooting. The E2E suite gains remote Block Node flavors, a high-load performance test and Solo 0.91.0.
ℹ️
v0.44.0was tagged early frommain, andv0.44.1was never published as a GitHub release. These notes cover all changes sincev0.43.0.
What's Changed
🐛 Bug Fixes
- fix: set the publisher listener's receive buffer before bind by @AlfredoG87 in #3779 (cherry-pick of #3775)
- fix(config): relax HTTP/2 server defaults that drop connections on real networks by @AlfredoG87 in #3709
- fix(subscriber): stop sending queued live batches after the session closes by @AlfredoG87 in #3714
- fix: Don't Allow BlockStreamSubscribeUnparsedClient to fail silently when BACKFILL_GRPC_OVERALL_TIMEOUT is exceeded by @berryware in #3667
- fix: MirrorNodeUtils.readUrl retries transient 404 on /api/v1/blocks by @rockysingh in #3684
- fix: roster-bootstrap-rsa cannot load the genesis roster once the Mirror Node has ingested the genesis address book, so WRB-RSA topologies store no blocks by @ivannov in #3659
- fix: correct lfh-values.yaml indentation and update provisioner archive storage by @Nana-EC in #3658
📝 Documentation
- docs: add Block Node version compatibility matrix by @deshmukhpranali in #3619
- docs(block-node): add Kubernetes resource sizing guidance for Block Node by @deshmukhpranali in #3626
- docs(block-node): add CN stream mode troubleshooting and section-wise cross-links by @deshmukhpranali in #3625
- docs(glossary): add official gRPC and Protocol Buffers links to gRPC entry by @deshmukhpranali in #3586
- docs: fix broken charts relative link in sp-wrb-bn-operator-runbook by @deshmukhpranali in #3697
- chore: Design: change wrap CLI block-hash algorithm from SHA-384 to SHA-256 by @ivannov in #3700
- chore: Remove obsolete design document by @ivannov in #3696
🔨 Tests
- test: High Load Performance Test by @ivannov in #3502
- test: adds steps 11 and 12 and adds the ability to run steps 1-12 all at once by @berryware in #3330
- chore: Remote Block Node Flavors in E2E by @ivannov in #3589
- chore: Bump Solo to 0.91.0 and set the CN stream properties after Solo's rewrite by @ivannov in #3722
- fix: tss-signature-transition runs after tests that deliberately kill block-node-1 by @ivannov in #3611
🔧 Build & Maintenance
- chore: Tolerate Solo 0.88.1 pod-readiness fast-fail during the Solo E2E deploy by @ivannov in #3657
- chore: Tag-triggered E2E runs start before the release artifacts are published by @ivannov in #3653
- fix: resolve broken doc links and extend link-check coverage to all markdown files by @deshmukhpranali in #3681
- chore(release): sync main (7fe7357) into release/0.44 for 0.44.1 by @AlfredoG87 in #3745
⚙️ Miscellaneous
- chore: RSAProofVerifier Support for V2/V5 Follow Up by @ata-nas in #3698
- chore: Follow-ups from #3645 review on MirrorNodeUtils.isRetryableException by @ivannov in #3651
Full Changelog: v0.43.0...v0.44.2