github ar-io/ar-io-node r75
Release 75

12 hours ago

This is a recommended release focused on on-demand data item resolution and response header enrichment. Key highlights include tag and verification response headers that expose transaction tags and cryptographic metadata directly in HTTP responses, on-demand data item metadata resolution that resolves unindexed data items by parsing ANS-104 bundle binaries on the fly, HyperBEAM as a root TX offset source for efficient bundle navigation without full downloads, and GraphQL on-demand transaction resolution for querying unindexed data items. It also adds configurable chunk GET retry behavior to reduce worst-case retrieval times and Prometheus metrics for root TX semaphore observability.

Added

  • Tag and Verification Response Headers: Data responses on /raw/:id and /:id now include X-Arweave-Tag-* headers with transaction/data item tags, plus verification headers (X-Arweave-Signature, X-Arweave-Owner, X-Arweave-Owner-Address, X-Arweave-Target, X-Arweave-Anchor, X-Arweave-Signature-Type). Enabled by default (ARWEAVE_TAG_RESPONSE_HEADERS_ENABLED=true). Uses a fast local-only resolution path (LMDB txStore -> LRU cache -> GQL DB) with background indexing for uncached items. Includes a configurable byte budget (ARWEAVE_TAG_RESPONSE_HEADERS_MAX_BYTES, default 8KB) and tag count cap (ARWEAVE_TAG_RESPONSE_HEADERS_MAX, default 100). For L2 data item signatures and owner keys, WRITE_ANS104_DATA_ITEM_DB_SIGNATURES=true is also required.

  • On-Demand Data Item Metadata Resolution: Data items not yet indexed locally are resolved on-demand by discovering the root bundle, parsing the binary header, and extracting signature/owner/tags. Results are cached in an LRU cache and persisted to the database for future requests. Background resolution is capped at 1 concurrent operation (configurable via TX_METADATA_RESOLVE_CONCURRENCY) with fail-fast semantics.

  • HyperBEAM Root TX Offset Source (PE-9043): HyperBEAM can now be used as a root transaction offset source for on-demand data item resolution. Uses offset-guided recursive bundle index navigation to extract complete data item metadata without downloading full bundles. Controlled by HYPERBEAM_ROOT_TX_ENABLED and HYPERBEAM_ENDPOINT (default: arweave.net).

  • Configurable Chunk GET Retry Behavior (PE-9042): Arweave chunk retrieval retry count and geometry timeout are now configurable, reducing worst-case chunk retrieval time from ~115s to ~15s. New env vars: ARWEAVE_CHUNK_RETRY_COUNT (default: 5), ARWEAVE_TX_GEOMETRY_TIMEOUT_MS (default: 5000), ARWEAVE_TX_GEOMETRY_TIMEOUT_RETRIES (default: 2).

  • GraphQL On-Demand Transaction Resolution: The transaction(id) GraphQL query can now resolve unindexed data items on-demand by extracting metadata from ANS-104 bundle binaries. Enabled by default (GRAPHQL_ON_DEMAND_RESOLUTION_ENABLED=true). Includes a configurable timeout (GRAPHQL_ON_DEMAND_RESOLUTION_TIMEOUT_MS, default 5s) and concurrency limit (GRAPHQL_ON_DEMAND_RESOLUTION_MAX_CONCURRENT, default 1). Only applies to single-ID lookups; the plural transactions(...) query is unaffected.

  • SignatureType in GraphQL: The signatureType field is now surfaced in GraphQL transaction responses for data items.

  • Root TX Semaphore Prometheus Metrics: New Prometheus metrics for root TX resolution semaphore observability, including acquire/release/timeout counters and queue depth gauge.

Changed

  • Root TX Lookup Order: ROOT_TX_LOOKUP_ORDER reordered to prefer GraphQL over HyperBEAM and CDB for faster local resolution.

  • HyperBEAM Request Timeout: Default HyperBEAM request timeout lowered to 500ms.

Docker Images

Service Image
core ghcr.io/ar-io/ar-io-core:6e023ad1dbdfac67fdac1e62449bedfef1bb7fe4
envoy ghcr.io/ar-io/ar-io-envoy:6934e519fb98a46da4c17bdfa51d66225428b7c0
clickhouse-auto-import ghcr.io/ar-io/ar-io-clickhouse-auto-import:dec86f85bb9585658e424f393083bf6d69a7c5e1
observer ghcr.io/ar-io/ar-io-observer:9356a3d5cc2ed9ac406a62c3a01450ae80ddc6c3
litestream ghcr.io/ar-io/ar-io-litestream:be121fc0ae24a9eb7cdb2b92d01f047039b5f5e8
redis redis:7
clickhouse clickhouse/clickhouse-server:25.4
otel-collector otel/opentelemetry-collector-contrib:0.119.0

Don't miss a new ar-io-node release

NewReleases is sending notifications on new releases.