Skip to content

v0.6.1

Choose a tag to compare

@kespinola kespinola released this 30 Mar 06:05
· 46 commits to main since this release

πŸš€ Yellowstone Vixen v0.6.1 β€” Release Notes

⭐ Highlights

  • Introduced block-coordinator for complete and ordered slot processing
  • Added Kafka sink with ordering and delivery guarantees
  • Upgraded proc-macro + IDL system with optional proto compatibility
  • Expanded stream capabilities and filtering model
  • Reworked snapshot ingestion pipeline with backpressure support
  • Added BPF loader parser and improved SPL parsing
  • Improved observability, error handling, and concurrency

🧱 Block Coordinator

New crate: yellowstone-vixen-block-coordinator

Summary

Combines Yellowstone gRPC stream with block engine data to construct complete blocks and emit fully ordered slot data.

Key Changes

  • Transactional slot processing (#230)
  • Handling incomplete slots (#233)
  • Include failed transactions to avoid pipeline stalls (#200)
  • Enforce Processed commitment (#199)

πŸ“‘ Stream Enhancements

Crate: yellowstone-vixen-stream

Improvements

  • Multiple program subscriptions (#160)
  • Consolidated filters into a single subscription (#192)
  • Added failed field to TransactionPrefilter (#191)

🧬 Proc-Macro + IDL System

Crate: yellowstone-vixen-proc-macro

Enhancements

  • Generated IDLs now support optional Protobuf compatibility via proto feature (#212)
  • Proc-macro for generating parsers from Codama IDL (#161)
  • Generated IDLs made public (#183)
  • Protobuf compatibility for transactions and accounts (#197)

Improvements

  • Support for remaining_accounts (#207)
  • Support for nested vectors (#241)
  • Program event proc-macro (#236)
  • Accounts and args made non-optional (#213, #214)
  • Improved developer experience (#217)

🧡 Kafka Sink

New crate: yellowstone-vixen-kafka-sink

Features

  • Ordered publishing aligned with block-coordinator (#202)
  • SASL SCRAM-SHA-256 with TLS support (#225)
  • Configurable compression (default: zstd) (#227)
  • Public API soft-gated for account builder/parser (#211)

πŸ“¦ Snapshot Pipeline

Changes

  • Reworked snapshot source (#165)
  • Introduced bounded channels for backpressure (#162)
  • Fixed filter preflight issues (#156)
  • Exposed SolanaSnapshotConfig (#154)

πŸ”Œ Data Sources

Jetstream Source

  • Added yellowstone-vixen-jetstream-source crate (#170)
  • Optimized ingestion pipeline (#237)
  • Initial implementation reverted and reintroduced (#163, #166)

πŸ” Parsers

Additions

  • BPF loader parser (#208)

Improvements

  • SPL Token 2022 extensions (#159)
  • Use unpack_from_slice for safer parsing (#155)
  • Parse only relevant program accounts (#239)

Fixes

  • Panic fixes in SPL parsing (#171, #175)

βš™οΈ Pipeline & Concurrency

  • Bounded channels for flow control (#162)
  • Refactor consumption using fume (#178)
  • Deterministic Kafka publishing (#202)

πŸ“Š Observability & Errors

  • Added tracing spans (#143)
  • Improved error handling (#215)
  • Suppressed decode warnings (#232)

🌐 Yellowstone gRPC Source

Crate: yellowstone-vixen-yellowstone-grpc-source

Improvements

  • Fixed filter merge semantics to use union behavior (#177)
  • Improved gRPC error propagation (#190)

πŸ›  Build & Tooling

  • Workspace dependency unification (#131)
  • Standardized Rust edition (#137)
  • CI improvements and test execution (#195, #240)
  • Nightly toolchain pinning (#206)
  • Fixed missing system dependencies (#194)

New Contributors


πŸ”— Full Changelog

v0.5.0...v0.6.1