Releases: magicblock-labs/magicblock-validator
v0.8.1
What's Changed
- feat: Add ScheduleCommitFinalize to program-api only by @snawaz in #989
- fix: wait for valid blockhash by @Dodecahedr0x in #992
- Create RELEASE_PROCESS.md by @GabrielePicco in #997
- release: 0.8.1 by @GabrielePicco in #998
Full Changelog: v0.8.0...v0.8.1
v0.8.0
What's Changed
- feat: add call_handler_v2 support for ScheduleIntentBundle actions by @taco-paco in #946
- fix: SetLoadedAccountsDataSize by @GabrielePicco in #976
- fix: slack ready-for-review reviewer display by @GabrielePicco in #978
- Feat: tui interface for the validator by @GabrielePicco in #972
- Fix: flaky ledger reset integration test by @GabrielePicco in #977
- fix: stop setting loaded accounts data size limit by @GabrielePicco in #980
- chore: revert offset change by @GabrielePicco in #981
- hotfix: integration tests by @GabrielePicco in #982
- hotfix: integration tests by @GabrielePicco in #983
- release: 0.8.0 by @GabrielePicco in #979
Full Changelog: v0.7.0...v0.8.0
v0.7.0
v0.7.0 Release Notes
This release introduces a major new feature to the Magicblock Validator, expanding its capabilities for temporary state management.
🚀 Key Features
- Ephemeral Accounts Implementation: We’ve introduced support for ephemeral accounts, enabling more cost efficient handling of temporary state and reducing the long-term storage footprint. #915
Full Changelog: v0.6.3...v0.7.0
v0.6.3
v0.6.3 Release Notes
This release of the Magicblock Validator focuses on strengthening core networking, improving startup reliability, and enabling missing cryptographic operations.
🚀 Key Features
- Poseidon Syscall Support: Enabled the Poseidon syscall to support efficient hashing, which is essential for ZK-proofs and privacy-focused applications. #923
- Best-Effort Transaction Scheduling: The transaction scheduler has been simplified to a "best-effort" model, reducing overhead and improving overall throughput. #916
- Pubsub Connection Pooling: We’ve implemented connection pooling for pubsub to help the validator better manage resources and scale under high-traffic conditions. #931
🛠️ Stability & Performance
- Resilient Startup Logic: The validator will now continue its startup sequence even if some pubsub clients fail to connect, preventing unnecessary boot failures. #918
- Observability & Subscriptions: Added per-program metrics and subscription activation tracking for better insight into network health, alongside improvements to the subscription reconciler. #929, #945
- Data & Logic Fixes: Resolved an issue where subscription updates could cause accidental data overrides and updated the logic for project ATA delegation. #970, #963
- Disk Edge Case Handling: Improved reliability during "fat truncation" by ensuring the validator gracefully ignores specific errors when disk space is near capacity. #924
🧹 Maintenance & DX
- Workflow Improvements: Enhanced the internal developer workflow and fixed
protocconfigurations within the CI build environment to ensure smoother testing. #947, #948 - Documentation: Updated the README to fix broken links and improve the onboarding experience for new contributors. #922
🤝 New Contributors
Welcome to the team!
Full Changelog: V0.6.2...v0.6.3
V0.6.2
What's Changed
- feat: reconcile LRU/pubsub subscription mismatch by @thlorenz in #835
- chore: filter clock sysvar metrics by @thlorenz in #836
- refactor(processor): improve transaction processing codebase by @bmuddha in #817
- feat: Execute CommitDiff as BufferTask by @snawaz in #616
- fix: incorrect direct pubsub connection metric calculation by @thlorenz in #842
- perf: eliminate unnecessary get_slot calls from table mania manager by @thlorenz in #844
- fix: enable sol_get_sysvar by @GabrielePicco in #846
- fix: use LRU capacity from config instead of hardcoded value by @thlorenz in #841
- chore: migrate from log and env_logger to tracing by @thlorenz in #848
- chore: apply structured logging to magicblock-chainlink by @thlorenz in #849
- chore: apply structured logging to magicblock-accounts by @thlorenz in #850
- chore: apply structured logging to magicblock-aperture by @thlorenz in #851
- chore: apply structured logging to magicblock-rpc-client by @thlorenz in #854
- chore: apply structured logging to magicblock-processor by @thlorenz in #855
- chore: apply structured logging to magicblock-api by @thlorenz in #856
- chore: apply structured logging to magicblock-account-cloner by @thlorenz in #857
- chore: apply structured logging to magicblock-table-mania by @thlorenz in #858
- chore: apply structured logging to magicblock-validator by @thlorenz in #859
- chore: apply structured logging to magicblock-metrics by @thlorenz in #861
- chore: apply structured logging to magicblock-validator-admin by @thlorenz in #862
- chore: apply structured logging to test-kit by @thlorenz in #863
- chore: apply structured logging to magicblock-committor-service by @thlorenz in #852
- chore: apply structured logging to magicblock-ledger by @thlorenz in #853
- chore: apply structured logging to magicblock-accounts-db by @thlorenz in #860
- revert: subscription to owner programs to detect undelegation by @thlorenz in #865
- fix: race condition eata to ata projection by @GabrielePicco in #876
- fix: persist sysvar clock account by @bmuddha in #875
- chore: consolidate sub error logging by @thlorenz in #872
- fix: remove programs on startup by @GabrielePicco in #880
- refactor: simplify accounts-db crate by @bmuddha in #879
- fix: return signatures above last valid slot by @GabrielePicco in #881
- feat: add grpc slot subscriptions by @thlorenz in #887
- chore: exponential backoff for websocket resubscription by @thlorenz in #886
- chore: revert #865 (649ed7c) to reenable original owner program subs by @thlorenz in #888
- feat: add pubsub client reconnection metrics by @thlorenz in #889
- feat: chain_slot and resub count metrics by @thlorenz in #898
- feat: enable ed25519, secp256k1 and secp256r1 precompiles by @GabrielePicco in #899
- chore: refactor log level by @GabrielePicco in #906
- feat: more insight and fix attempt for gRPC laser client errors by @thlorenz in #900
- feat: log client IDs in subscription task warning by @thlorenz in #902
- fix: expose transaction count metric by @bmuddha in #907
- fix: persist sysvars on slot boundaries by @bmuddha in #911
- feat: startup time instrumentation and improvements by @GabrielePicco in #912
- feat: retry subscription per pubkey by @thlorenz in #908
- feat: Intent bundles by @taco-paco in #874
- release: 0.6.2 by @GabrielePicco in #913
Full Changelog: v0.6.1...V0.6.2
v0.6.1
What's Changed
- fix: rocksdb dep breaking build again! by @thlorenz in #823
- feat: subscribe to owner programs on delegation by @thlorenz in #826
- feat: make resubscription delay configurable for pubsub reconnection by @Copilot in #822
- chore: increase Helius GRPC subscription lookback window by @thlorenz in #825
- Recover from unfinalized accout by @taco-paco in #731
- fix: MetadataNotFound by specifying min context slot by @taco-paco in #837
- hotfix: compilation by @taco-paco in #838
- release: 0.6.1 by @GabrielePicco in #839
New Contributors
- @Copilot made their first contribution in #822
Full Changelog: v0.6.0...v0.6.1
v0.6.0
Change Log:
The MagicBlock Validator now supports Solana Geyser Plugins. This allows the validator to stream data (accounts, transactions, blocks) to external systems like PostgreSQL, Kafka, or gRPC services.
⚠️ Breaking Changes
Config change:
- RPC listening configuration moved from top-level listen to
aperture.listen; - new
geyser-pluginsandevent-processorsconfiguration options added underapertureconfig section. See example
For more detailed info on how to setup geyser plugins see the REAME
Full Changelog: v0.5.4...v0.6.0
v0.5.4
Change Log
- Simplified Configuration: You can now configure the listener using only a port number.
- Internal Improvements: The
AccountsDBcodebase has been refactored for better maintenance.
Bug Fixes
- Local Validator: Fixed an issue to ensure VRF (Verifiable Random Function) accounts are loaded correctly.
- Data Persistence: Fixed a bug where the sysvar hash was not persisting to
AccountsDBduring updates. - Code Quality: corrected a coding error involving a bad cast to an unsigned variable.
Full Changelog: v0.5.3...v0.5.4
v0.5.3
What's Changed
- chore: refactor chainlink by @GabrielePicco in #803
- feat: lock free chainlink by @GabrielePicco in #804
- release: v0.5.3 by @lucacillario in #808
Full Changelog: v0.5.2...v0.5.3
v0.5.2
What's Changed
- docs(config): fix example remotes list by @MrBlackGhostt in #799
- feat: remove invalid tasks from db by @Dodecahedr0x in #793
- hotfix: map eata to ata also on update by @GabrielePicco in #801
- feat: add router and vrf oracle to validator cli by @lucacillario in #599
- feat: fail transaction if account commit failed by @bmuddha in #796
- feat: use SetLoadedAccountsDataSizeLimit for tx containing DLP ix by @snawaz in #800
- release: v0.5.2 by @lucacillario in #807
New Contributors
- @MrBlackGhostt made their first contribution in #799
Full Changelog: v0.5.1...v0.5.2