Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

[0.4.0] - 2026-08-12

Added

  • EVM and Solana query filters now accept a single value or a list of values (OR-match), matching the existing Hyperliquid get_fills behavior. Applies to get_transactions, get_logs, get_transfers, get_traces, get_state_diffs (EVM) and get_instructions, get_transactions, get_balances, get_token_balances, get_rewards, get_logs (Solana).
  • prefetch_workers parameter on QueryCursor / with_progress() to configure the number of concurrent prefetch shard workers (clamped to 16).
  • sqd_py[fast] extra pulling in uvloop (auto-enabled on import when installed; not available on Windows).

Changed

  • Prefetch is now enabled by default (2 workers) whenever the end of the query range is known, falling back to a single serial worker otherwise. The shards parameter is kept as a deprecated alias for prefetch_workers.
  • Streaming JSON parsing switched from ujson to orjson.

0.3.0 - 2026-08-12

Added

  • Expanded Dataset / EvmDataset with 72 EVM chains served by the SQD portal (Arbitrum, Base, Optimism, Polygon, zkSync, and many more), plus Dataset.HYPERLIQUID for the HyperEVM chain.

0.2.0 - 2026-08-11

Added

  • Hyperliquid (HyperCore fills) dataset support via SQD(dataset="hyperliquid-fills") and get_fills(...). Filters (coin, user, builder, dir, fee_token, cloid) accept a single value or a list (OR-match).
  • examples/hyperliquid_fills.py and examples/hyperliquid_candles.py (OHLCV aggregation derived from fills).

[0.1.8] - 2026-01-08

Fixed

  • Single shard mode progress bar didn't appear

[0.1.7] - 2026-01-08

Fixed

  • Progress bar for non-tty outputs
  • Memory leaks

0.1.6 - 2026-01-08

Fixed

  • Retried prefetch range streaming on transient aiohttp client errors to avoid crashing on truncated responses
  • Disabled tqdm progress bars when stderr is not a TTY (or TERM=dumb) to avoid duplicated output in unsupported terminals, with a plain-text fallback
  • Added ETA, rate, and latest block details to the plain-text progress fallback
  • Computed plain-text rates from time deltas to avoid 0.00/s on fast block streams
  • Show sub-minute elapsed time with fractional seconds in plain-text logs
  • Show sub-second elapsed time with millisecond precision in plain-text logs
  • Added day-level formatting for long ETAs
  • Replaced multi-shard parallel fetching with a two-range prefetch pipeline
  • Clamped shards to a two-range prefetch window for historical catchup
  • Made prefetch opt-in (default shards=1) and marked it experimental

0.1.5 - 2026-01-08

Fixed

  • Fixed progress bar disconnect when switching from parallel catchup to live mode: previously, the progress bar would switch to "Live" mode immediately when parallel workers finished fetching, even though the consumer was still processing queued blocks. Now, the switch only happens after all catchup blocks have been consumed

0.1.4 - 2026-01-08

Fixed

  • Fixed graceful shutdown in parallel mode: previously, all queued blocks would still be sent to the consumer during shutdown. Now, when shutdown is requested (Ctrl+C / SIGTERM), block forwarding stops immediately

0.1.2 - 2026-01-06

Changed

  • Added default None values to all optional parameters in EVMQuery request builder methods (add_transactions_request, add_logs_request) to make them easier to call directly

0.1.1 - 2026-01-05

Changed

  • Improved README documentation

0.1.0 - 2024-12-24

Added

  • Initial release
  • SQD factory function for creating query builders
  • EVMQuery for querying EVM chains (Ethereum, Binance)
  • SolanaQuery for querying Solana blockchain
  • Transaction and log querying with field selection
  • Async streaming iteration over query results
  • Support for Dataset enum with common chains
  • EvmFields and SolanaFields for type-safe field selection
  • Full type hints support (PEP 561 compatible)