Skip to content

@subsquid/pipes v1.0.0-beta.2

Latest

Choose a tag to compare

PubSub changelog target

This release adds a Google PubSub target that turns a pipe into a durable, sequenced changelog feed for downstream consumers, makes finalized-only targets pin the finalized stream so they can never hold back an uncommitted tail, and fixes fork detection when the portal answers 409 without a fork context.

Highlights

  • New target: Google PubSub (@subsquid/pipes/targets/pubsub) — pubsubTarget publishes the decoded stream to PubSub topics as a sequenced changelog. Delivery is durable: a SQLite-backed outbox survives crashes and resumes without gaps or duplicates, and chain reorgs are compensated with rollback messages instead of silent rewrites. Topic routing, delivery profiles, optional topic validation, and windowTopic for windowed views are included; target errors carry the new E24xx band. See the example.

Core

  • Finalized-only targets now pin the finalized stream. Parquet and the memory target declare requiresFinalizedStream, and the source reads /finalized-stream regardless of portal options (warning when it overrides them). The finalization buffer is gone — every delivered block is final, so a bounded range ending above the finalized head can no longer leave an uncommitted tail behind a successfully resolved pipeTo(), and the Parquet cursor no longer lags when finality advances inside one response.

Portal client

  • A 409 without previousBlocks is no longer misread as a fork. The portal may answer 409 with the error envelope alone; the client used to crash inside the fork handler and bury the original response. The 409 now reaches the caller intact.

Full Changelog: pipes-v1.0.0-beta.1...pipes-v1.0.0-beta.2