Skip to content

0.9.0

Choose a tag to compare

@github-actions github-actions released this 17 Jun 22:12
· 84 commits to master since this release
4efd5d6

Helios 0.9.0 Release Notes

Overview

Helios 0.9.0 brings significant improvements to monitoring capabilities, performance optimizations, architectural enhancements, and modernized tooling support. This release includes a new terminal user interface, pluggable historical block provider system, parallel transaction processing, and comprehensive TypeScript/JavaScript ecosystem improvements.

New Features

Terminal User Interface (TUI) #631

  • Introduced a comprehensive terminal user interface accessible with the --tui flag
  • Real-time monitoring of current block numbers (latest, safe, finalized where applicable)
  • Sync status visualization with progress indication
  • Block production metrics including rate and age
  • Recent block history with timestamps in local timezone
  • Detailed block information panel showing block details
  • Network-aware display that adapts based on chain type
  • Auto-refreshing display with 1-second intervals

Pluggable Historical Block Provider System #625

  • New HistoricalBlockProvider trait for pluggable historical block sources
  • EIP-2935 provider for Ethereum/OpStack using verified storage access
  • Linea historical provider moved to linea crate with shared verification logic
  • Enhanced security by removing dependency on untrusted RPC calls
  • Support for block retrieval by both number and hash
  • WASM32 compatibility with conditional async_trait annotations

Block Consistency Validation #624

  • Added block consistency validation to BlockCache
  • Improved reliability of cached block data
  • Enhanced error detection and recovery mechanisms

Nightly Installation Support #638

  • Added --nightly flag to heliosup for installing pre-release builds
  • Enhanced installer to fetch most recent releases including pre-releases
  • Clear indication of stable vs nightly version during installation
  • Maintained backward compatibility with default stable releases

TypeScript/JavaScript Ecosystem Improvements

  • Migration to Vite #616

    • Replaced Webpack with Vite for better developer experience
    • Added ESM bundle support alongside existing UMD
    • Node.js support for both UMD and ESM modules
    • Simplified build configuration
  • NPM Publishing Support #620

    • Prepared helios-ts package for NPM distribution
    • Added automated GitHub workflows for release and publishing
    • Created comprehensive README for the NPM package
    • Updated package.json with proper metadata and configuration

Improved TypeScript Initialization API #635

  • Refactored TypeScript initialization API for better usability
  • Enhanced type safety and developer experience
  • Streamlined configuration options

Custom VM Support #621

  • Refactored architecture to support custom virtual machines
  • Enhanced flexibility for different execution environments
  • Improved modularity and extensibility

Improved Internals #608

  • Various internal improvements for better code organization
  • Enhanced maintainability and performance

Performance Improvements

Parallel Transaction Signature Recovery #634

  • Parallelized CPU-intensive signature recovery operations using rayon
  • Significantly reduced sync delays and block conversion time
  • Dedicated thread pool with 4MB stack size for signature recovery
  • Maintained compatibility with WASM targets using sequential processing

Refactored RPC Equivalence Tests #626

  • Improved test performance and error handling
  • Better organization and maintainability of test suite
  • Enhanced reliability of integration tests

Bug Fixes

WASM Build Fixes

  • Fixed interval import for WASM targets #618
  • Removed spawn_blocking for payload_to_block conversions #636
  • Fixed unused import warnings in WASM builds #637

Infrastructure Updates

Alloy Library Upgrade to v1.0 #628

  • Upgraded Alloy from 0.14.0 to 1.0.3 across all crates
  • Updated related dependencies (alloy-rlp, op-alloy-*)
  • Migrated deprecated methods to new APIs
  • Ensured compatibility across all modules

Dependency Updates #604

  • Bumped alloy, revm, and other core crates
  • Updated to latest stable versions for improved performance and security

Improved Logging System #630

  • Enhanced logging for block updates
  • Better debugging capabilities
  • More informative log messages

URL Type Consistency #629

  • Refactored to use Url type consistently for URL representation
  • Improved type safety and reduced potential errors

Network Support

New Network Support

  • Added Hoodi testnet support #615
  • Enhanced Linea documentation with setup instructions #619

Documentation

  • Added Linea instructions to README #619
  • Fixed broken documentation links #623
  • Updated JSONRPC spec link to latest official documentation #606
  • Fixed general documentation link issues #600

Development Improvements

  • Updated deprecated GitHub Actions from v1 to v4 #613
  • Enhanced CI/CD pipelines for automated releases
  • Improved build processes and tooling

Breaking Changes

  • Alloy v1.0 upgrade may require code updates for projects using deprecated APIs
  • TypeScript initialization API changes may require updates to existing integrations

Migration Guide

For Alloy v1.0:

  • Replace on_client with connect_client
  • Replace on_http with connect_http
  • Add import for SignerRecoverable trait where needed

For TypeScript/JavaScript:

  • Update imports to use new ESM modules if desired
  • Review initialization API changes in #635

Contributors

Thank you to all contributors who made this release possible: Noah Citron, Karen Sarkisyan, Dhruv Agarwal, Aurélien, Joseph Bao, Ragnar, GarmashAlex, MozirDmitriy, David Klank, and Oisín Kyne.

For a complete list of changes, see the comparison between v0.8.8 and v0.9.0.