Releases: hl-archive-node/nanoreth
nb-20260613
Upgrade priority: High if you use --hl-node-compliant-multiplexed (?hl=true/false), Low otherwise.
This release fixes log-related APIs not correctly respecting the ?hl parameter (#140: eth_getLogs, ...).
What's Changed
Full Changelog: nb-20260606...nb-20260613
Current Rust LoC: 12777 lines (+51)
nb-20260606
Upgrade priority: High
This release includes the long-term fix for the issue addressed in nb-20260604.
The previous release contained a temporary testnet-specific workaround; this release introduces a fix that is also applicable to mainnet. There are currently no known semantic differences affecting mainnet, but future network upgrades may make this behavior relevant. Upgrading in advance is recommended.
What's Changed
Full Changelog: nb-20260604...nb-20260606
Current Rust LoC: 12726 lines (+134)
nb-20260604
Upgrade priority: High for testnet, Low for mainnet (only patches testnet path)
This release restores testnet synchronization. Thanks to everyone who helped investigate and resolve the issue 🙏
What's Changed
- fix: Fix testnet token mapping and support tunable options (backoff, custom urls) by @sprites0 in #136
- fix(testnet): recover real system-tx sender by @sprites0 in #137
Full Changelog: nb-20260518...nb-20260604
Current Rust LoC: 12592 lines (+419)
nb-20260518
Upgrade priority: Medium
- Required only when using WS subscriptions with the multiplex option enabled (
?hl=true/false) andtrace_blocks - Not required otherwise
This is a regression fix from nb-20260516 (#135).
What's Changed
- fix(multiplex): Use the same subscription id provider as reth by @sprites0 in #131
- Fix trace_block HL precompile setup by @sprites0 in #133
- Revert block source startup retry changes by @sprites0 in #135
Full Changelog: nb-20260516...nb-20260518
nb-20260516
Upgrade priority: Medium
- Required only when using WS subscriptions with the multiplex option enabled (
?hl=true/false) andtrace_blocks - Not required otherwise
What's Changed
- fix(multiplex): Use the same subscription id provider as reth by @sprites0 in #131
- Fix trace_block HL precompile setup by @sprites0 in #133
- Retry block source startup on transient failures by @yashbhutwalagem in #130
- Retry block source startup robustly by @sprites0 in #134
New Contributors
- @yashbhutwalagem made their first contribution in #130
Full Changelog: nb-20260416...nb-20260516
Current Rust LoC: 11169 lines (+251)
nb-20260416
Upgrade priority: High for testnet, Low for mainnet
- EDIT: Optional/Low for both networks
This release fixes testnet sync past the 50927214–50929512 block range. Mainnet is unaffected (also not affected in long term), so upgrading is optional unless you run a testnet node.
Testnet
- Fix sync failure caused by missing blocks in the 50927214–50929512 range
- Recovered blocks validated via blockhash chain and system tx sender nonces
Build & CI
- Pin all GitHub Actions to commit SHAs for supply-chain safety
What's Changed
Full Changelog: nb-20260316...nb-20260416
Current Rust LoC: 10918 lines (+49)
nb-20260316
Upgrade priority: Low
This release introduces several improvements but contains no post-sync bug fixes, so upgrading is optional.
Fixes & Performance Improvements
- Multiple reliability and performance fixes for initial sync
- Improved error messages and docs (#117, #127) - by @AlliedToasters, @sprites0
New Features
eth_getBlockReceiptsWithSystemTxendpoint when--hl-node-compliantis enabled (#114) - by @Quertyy--hl-node-compliant-multiplexedmode that supports?hl=trueand?hl=false, allowing dynamic switching between non-HL-compliant (default) and HL-node-compliant RPC modes. See the README for details on--hl-node-compliant. (#123) - by @sprites0- RPC-based sync (#115) - requires an RPC-side flag - by @ifdario
- CI: Add release build workflow for amd64 (#108, #126) - by @ifdario, @sprites0
- Now release page have x64 build!
Thanks @Quertyy @ifdario @AlliedToasters @wesraph for the contributions!
What's Changed
- workflows: release build for amd64 by @ifdario in #108
- fix(local-ingest): defer file rotation and rescan on rotation by @sprites0 in #112
- feat(rpc): new eth_getBlockReceiptsWithSystemTx endpoint by @Quertyy in #114
- Add RPC-based node-to-node block syncing by @ifdario in #115
- fix(cli): validate init-state file paths to prevent cryptic directory error by @AlliedToasters in #117
- fix(network): trigger pipeline with local block source by @AlliedToasters in #118
- refactor(pseudo-peer): direct trusted peer + DB hash resolution by @sprites0 in #122
- refactor: unified BlockStore for hash indexing and block caching by @sprites0 in #124
- feat(rpc): per-request HL compliance multiplexing by @sprites0 in #123
- perf(s3): use spawn-based fetcher for S3 block source by @sprites0 in #125
- ci(release): create GitHub releases as drafts by @sprites0 in #126
- docs: add per-request HL compliance multiplexing to README by @sprites0 in #127
New Contributors
- @ifdario made their first contribution in #108
- @AlliedToasters made their first contribution in #117
Full Changelog: nb-20251105...nb-20260316
Current Rust LoC: 10869 lines (+974)
nb-20251105
Upgrade priority: Medium
- Upgrade necessary for testnet (#98, #102, #103), optional for mainnet
- Deprecates migration check if
CHECK_DB_MIGRATIONenv is not set (#100) - Does not crash on start when testnet is down for upgrade (#72, #105)
- Changes default
--discovery.addrand--listener.addrto localhost with random port, since it's not needed in nanoreth. (#104)- Use
--allow-network-overridesto enable overriding it via CLI parameters.
- Use
What's Changed
- fix(migrate): Fix wrong chunk ranges by @sprites0 in #94
- fix: Support certain types of system tx by @sprites0 in #98
- feat: Place migrator behind
CHECK_DB_MIGRATIONenv by @sprites0 in #100 - fix: Fix testnet transaction types by @sprites0 in #102
- fix: Adjust transaction parser by @sprites0 in #103
- feat: Default to localhost-only network, add --allow-network-overrides by @sprites0 in #104
- feat: cache spot metadata in database to reduce API calls by @sprites0 in #105
Full Changelog: nb-20251013...nb-20251105
Current Rust LoC: 9863 lines
nb-20251013
Upgrade priority: Medium
This release fixes a regression from the previous version where --hl-node-compliant caused eth_subscribe[type=logs] to behave as if the flag were not enabled.
What's Changed
Full Changelog: nb-20251011...nb-20251013
Current Rust LoC: 9610 lines
nb-20251011
Upgrade priority: Medium
This release fixes regression #89, which affected the eth_subscribe endpoint for newHeads (block head subscriptions, not event subscriptions). The issue caused the response to use the new header format—nesting standard fields under .inner and exposing hl-specific fields at the top level. The fix restores the previous format, which is the intended behavior.
Future releases will also adopt a new test suite to automatically cover all reported regressions, improving overall robustness and preventing similar issues.
What's Changed
- fix: Convert header type for eth_subscribe by @sprites0 in #89
- fix: Fix --debug-cutoff-height semantics by @sprites0 in #91
Full Changelog: nb-20251009-fix...nb-20251011
Current Rust LoC: 9608 lines