Resume no longer takes a false fork on multi-range queries
Pre-release
Pre-release
·
12 commits
to main
since this release
Resume no longer takes a false fork on multi-range queries
Core
- Resuming a query with disjoint ranges no longer forks spuriously — the recovered cursor's hash was sent as the parent-linkage anchor for every configured range. For a later, disjoint range the cursor is not the predecessor of that range's first block, so the portal answered a linkage mismatch and the run took a false fork. The anchor is now carried only on the range that continues directly from the cursor; later ranges start unanchored and re-establish the anchor from their own first block.
- A cyclic or deeply nested payload no longer crash-loops the pipe — the metrics preview packer recursed with no depth or cycle guard and overflowed the stack. It now truncates beyond depth 8.
Chains (EVM)
- Pre-London and pre-Cancun blocks decode again —
baseFeePerGas,blobGasUsedandexcessBlobGasare absent on older blocks and on some chains, but the header codec required them and rejected otherwise valid headers. All three are optional now, and tolerate an explicitlynullvalue. - Per-transaction
blobGasUsedandblobGasPrice(EIP-4844) can be selected and decoded — the portal served them, the transaction shape omitted them.
Targets
- The Parquet target reports profiler spans — the user
onDatahandler, the finalized-row flush, and each checkpoint's publish and cursor write now appear in the flame chart, the/profilerendpoint and OTEL, as they already did for the ClickHouse, BigQuery and Postgres targets.
Full Changelog: pipes-v1.0.0-alpha.19...pipes-v1.0.0-alpha.20