π Yellowstone Vixen v0.7.0
β Highlights
- Major Jetstreamer upgrade to v0.5 with improved metrics, block rewards, entries, and graceful shutdown
- Automatic Yellowstone gRPC reconnection and replay support enabled by default
- More robust block coordination with better handling of skipped leaders, late slots, and historical backfill
- Migration to codama-rs events with broad parser improvements and expanded program compatibility
- New
InstructionUpdate::direct_log_messages()and flat instruction indexing - Added support for pToken instructions
- Runtime buffer rewritten for improved shutdown behavior and bounded concurrency
- Conditional serde derives via feature flags
π‘ More Reliable Data Sources
Jetstreamer Source
The Jetstreamer source has been upgraded to Jetstreamer 0.5, bringing Yellowstone Vixen in line with upstream Anza releases while improving observability and data completeness.
Historical replay now correctly forwards:
- per-account block rewards
- block entries
- shutdown signals
- standardized ingestion statistics via Jetstreamer's
StatsTracking
An issue where a poisoned entry buffer mutex could panic the process has also been fixed and now surfaces as a normal error.
Yellowstone gRPC
Yellowstone gRPC has been upgraded to the latest client libraries, adding built-in reconnect support.
Automatic reconnect is now enabled by default using a production-oriented retry policy with exponential backoff. When paired with servers configured for replay_stored_slots, Vixen can transparently recover from temporary network interruptions without missing streamed data.
New configuration options include:
auto_reconnectreconnect_max_retriesreconnect_slot_retention
π§± Improved Block Coordination
The block coordinator has been significantly improved to better match real Solana slot behavior.
Enhancements include:
- Correct handling of skipped leader slots during historical replay
- Better buffer draining during backfill
- Support for late-arriving records from previously discarded slots
- Improved memory allocation defaults and scan error handling
These changes make historical synchronization and long-running ingestion pipelines considerably more robust.
β‘ Runtime Improvements
The Vixen runtime buffer has been rewritten to replace the previous Topograph executor with a native crossbeam-channel worker pool.
Benefits include:
- bounded outstanding work
- more predictable concurrency
- cleaner shutdown behavior
- in-flight handlers complete during shutdown (up to 30 seconds)
- queued work is discarded only during signal-triggered shutdown
- permanently stalled handlers no longer block application shutdown indefinitely
The public Buffer API remains unchanged.
𧬠Parser & IDL Improvements
The proc-macro system now uses codama-rs events, bringing a large number of correctness improvements across generated parsers.
Highlights include:
- SPL Governance support
- improved handling of empty event arguments
- duplicated account names
- IDLs without instructions
- alias ordering
- map parsing
- Kafka parser error reporting
- correct program event assignment
- fee payer extraction
- reliable
write_versionsupport for account updates (Laserstream) - updated Rustls dependencies addressing multiple published security advisories
A generated code name conflict involving instruction arguments has also been resolved.
π Parser Updates
This release adds parser support for:
- pToken instructions
βοΈ Core Improvements
Several APIs have been added to simplify downstream processing.
New additions include:
InstructionUpdate::direct_log_messages()for retrieving only the log messages emitted directly by an instruction- a flat instruction index alongside the existing call-tree path, making it easier to build Kafka headers and other downstream integrations
Serde derive traits are now enabled only when the serde feature is active, reducing unnecessary compile-time dependencies.
π¦ Protocol Updates
Vixen has been updated to the latest Yellowstone gRPC protocol definitions.
New supported fields include:
cuckoo_accounts_filtertoken_accountscuckoo_account_includeReward::commission_bps
These fields default safely, preserving compatibility with existing configurations.
β οΈ Breaking Changes
Most users will not need to modify configuration files, as all newly added fields provide serde and CLI defaults.
Projects that construct configuration structs directly must update:
JetstreamSourceConfig
New fields:
sequential: boolbuffer_window_bytes: Option<u64>
YellowstoneGrpcConfig
New fields:
auto_reconnectreconnect_max_retriesreconnect_slot_retention
π Miscellaneous
Additional improvements include:
- restored crate dependencies for test crates
- improved unit test coverage
- documentation fixes
- typo corrections
- improved coordinator documentation
Thank you to everyone who contributed fixes, testing, and feedback for this release. Yellowstone Vixen continues to focus on building the most reliable, production-ready Solana data ingestion framework for high-performance indexing and analytics.