Repository navigation
Releases
Release v4.5.0-beta.0
This is a testnet release.
https://github.com/anza-xyz/agave/blob/v4.4/CHANGELOG.md
What's Changed
- refactor(cli): use versioned messages and transactions throughout by @apfitzge in #15524
- SIMD504: Shred wire format upstream by @alexpyattaev in #15522
- keygen, cli: generate mnemonic entropy without bip39's rand feature by @kskalski in #16240
- cost-model: decode system instructions with wincode by @kskalski in #16329
- SIMD-565: Add secp256r1 syscalls by @samkim-crypto in #13918
- chore(deps): bump arc-swap from 1.9.2 to 1.9.3 by @dependabot[bot] in #16383
- chore: Clarify comment in multinode-demo script by @steviez in #16002
- [solana-syscalls] clean up
abort_on_invalid_curve(SIMD-0137) by @samkim-crypto in #16420 - runtime: do not inherit rent epoch by @2501babe in #16387
- bpf_loader: encode / decode instructions with wincode by @kskalski in #16415
- ChannelSend/ChannelTryRecv traits implementations for wake-channel by @KirillLykov in #16426
- SIMD504: discard shreds with invalid LAST_SHRED_IN_SLOT flags early by @alexpyattaev in #16414
- chore(deps): bump ur-registry from 1.0.8 to 1.0.9 by @yihau in #16344
- clippy: fix needless_borrows_for_generic_args and unnecessary_as_slice by @kskalski in #16273
- Enable wincode in place of bincode on sdk interface crates by @kskalski in #16427
- [solana-syscalls] Finalize compute unit costs for sol_big_mod_exp by @samkim-crypto in #16231
- SIMD-0688: Single Program Runtime Environment by @buffalojoec in #15280
- chore(deps): bump octocrab from 0.54.4 to 0.54.5 in /ci/xtask by @dependabot[bot] in #16392
- ci: make workspace dev-deps path-only and enforce it by @mircea-c in #16408
- feat(rpc): expose direct account reads on minimal validator RPC by @apfitzge in #15955
- Purge cache by bank id by @roryharr in #16360
- TPU: block vote ingest by @alexpyattaev in #16315
- accounts-db: Adds control flow to scan_accounts() callback by @brooksprumo in #16412
- Remove shrink's write cache check by @roryharr in #16455
- Remove banking trace by @kskalski in #16430
- assign arenas to banking workers, rename --experimental-replay-arenas to --experimental-execution-arenas by @alessandrod in #16374
- chore: enable vendored for rusb by @yihau in #16243
- sbf: enable wincode in place of bincode on solana-system-interface by @kskalski in #16468
- programs/sbf: scope solana-only program dependencies to the solana target by @kskalski in #16470
- chore(deps): bump signal-hook from 0.4.4 to 0.4.5 by @yihau in #16093
- deps: bump pulldown-cmark to 0.13.5 (RUSTSEC-2026-0414) by @stablebits in #16481
- SIMD504: ledger: detect duplicate shreds at insert time by @alexpyattaev in #16388
- chore(deps): bump agave-transaction-view to 10.0.0 by @kostekIV in #16462
- Bump solana-bls-signatures to 4.0.2 by @samkim-crypto in #16466
- chore(deps): bump rust-lang/crates-io-auth-action from 1.0.5 to 1.0.6 by @dependabot[bot] in #16475
- tests: programs/sbf: use default rent by @buffalojoec in #16473
- banks-client: remove the TCP client by @kskalski in #16467
- chore(genesis): Use AccountSharedData::new_with_data() for accounts with data by @vadorovsky in #16486
- chore(ledger): Use AccountSharedData::new_with_data() for accounts with data by @vadorovsky in #16487
- chore(core): Use AccountSharedData::new_with_data() for accounts with data by @vadorovsky in #16485
- deps(perf, rpc): drop unused dependencies flagged by cargo 1.100 by @kskalski in #16471
- validator: Deprecate --require-tower argument by @steviez in #16452
- worker-pool: add a shared wake-channel worker pool crate by @kskalski in #16235
- core: drop the TPU vote input from the sigverify pool by @stablebits in #16429
- chore(ci): bump anza-xtask to 0.2.6 by @mircea-c in #16450
- Bump spl-token-2022-interface to 4.0.0 by @samkim-crypto in #16488
- SIMD-0684: Loader V3 Allow Prefunded ProgramData by @buffalojoec in #16431
- local-cluster: stake all nodes at genesis in test_spend_and_verify_all_nodes by @stablebits in #16495
- Mark frozen by bank_id by @roryharr in #16459
- Flush cache by bank_id by @roryharr in #16447
- runtime-transaction: validate TransactionConfigView directly by @kostekIV in #16492
- Show running validator commit
monitorcmd by @esemeniuc in #15176 - chore(feature-set): rekey feature for SIMD-550 by @apfitzge in #16499
- Store large flushed accounts in the read cache by @roryharr in #16463
- Remove the write cache's slot to bank map by @roryharr in #16497
- accounts-db: Buffers SplitFile account writes by @brooksprumo in #16464
- chore: Remove outdated tonic RUSTSEC ignore by @steviez in #16505
- accounts-lt-hash: dedup queued updates per bank by @kskalski in #16012
- feature-set: fix feature gate name for SIMD-0191 by @jstarry in #16483
- storage: remove doc comments in generated protos by @yihau in #16494
- blockstore: Use wincode::deserialize_exact for columns::Index by @deepak-pandey2005 in #16511
- ledger: use the shared worker pool crate by @kskalski in #16416
- SIMD504 prep: blockstore: remove pre-1.18.12 erasure-conflict fallback scan by @alexpyattaev in #16379
- SIMD504: window_service: move merkle root compute to the thread pool by @alexpyattaev in #16435
- blockstore: report coding/data shred metrics by @KirillLykov in #16446
- gossip: tighten ReceivedCacheEntry capacity post AG launch by @efagerho in #16512
- core: stop ingesting gossip votes into sigverify by @stablebits in #16460
- SIMD-0690: Hash validation in Core BPF migrations, upgrades by @buffalojoec in #16077
- chore: remove unused proptest dep from solana-entry by @yihau in #16182
- transaction-context: dont clone payload for account shrinkage by @buffalojoec in #16283
- snapshot: remove dependency on manifest vote_accounts and stake_history fields by @mjain-jump in #15834
- ledger: take default thread counts from available_parallelism by @kskalski in #16515
- chore(deps): update scheduler bindings and handshake by @apfitzge in #16507
- chore(deps): bump shuttle from 0.9.7 to 0.9.8 by @yihau in #16517
- chore(deps): bump shaq from 5.0.0 to 5.1.0 by @yihau in #16516
- ci(xtask): port limit-threads.sh to cargo xtask jobs by @mircea-c in #16496
- runtime-transaction: build transaction configuration from message view by @kostekIV in #16491
- SIMD504: prepare to enforce position == index - fec_set_index for code shreds by @alexpyattaev in #16521
- build(deps): bump libz-sys to 1.1.31 (RUSTSEC-2026-0418) by @DSharifi in #16538
- turbine: use the shared worker pool crate in retransmit by @kskalski in #16417
- global program cache: remove fork tracking from extract by @buffalojoec in #14839
- feat!: don't validate blockhash or nonce in
get_fee_for_messageby @DSharifi in #16519 - gossip: push own contact info to entrypoints not yet known by @Rqnsom in #15817
...
Release v4.4.1
This is stable release recommended for general adoption.
It is also recommended for Testnet and Devnet.
What's Changed
- v4.4: ignore RUSTSEC-2026-0418 (libz-sys) by @cfkelly18 in #16540
- v4.4: ci: don't use sccache in docker run (backport of #16493) by @mergify[bot] in #16561
- v4.4: ci: refine pipeline trigger condition (backport of #16674) by @mergify[bot] in #16678
- v4.4: Normalize CI env variables also in the command environment (backport of #16214) by @mergify[bot] in #16684
- v4.4: ignore RUSTSEC-2026-0433 (pulldown-cmark) by @nbelenkov in #16782
- v4.4: fix(svm): apply ProgramData size floor during account loading (backport of #16769) by @mergify[bot] in #16775
- Bump version to 4.4.1 by @agave-version-bumper[bot] in #16785
Full Changelog: v4.4.0...v4.4.1
Release v4.4.0
This is stable release recommended for general adoption.
It is also recommended for Testnet and Devnet.
https://github.com/anza-xyz/agave/blob/v4.4/CHANGELOG.md
What's Changed
- v4.4: vote_reward: build vote accounts from a padded vote state encoding (backport of #16381) by @mergify[bot] in #16386
- v4.4: pin cargo-build-sbf and spl-token-cli to the latest release by @levsha in #16434
- v4.4: ci: stop shipping windows prebuilt (backport of #15471) by @mergify[bot] in #16469
- v4.4: ignore RUSTSEC-2026-0414 (pulldown-cmark, build-time only) by @cfkelly18 in #16501
- v4.4: chore(feature-set): rekey feature for SIMD-550 (backport of #16499) by @mergify[bot] in #16503
- Bump version to 4.4.0 by @agave-version-bumper[bot] in #16502
Full Changelog: v4.4.0-rc.1...v4.4.0
Release v4.5.0-alpha.4
This is a pre-release for testing only. Do not deploy to mainnet, testnet, or any production host.
https://github.com/anza-xyz/agave/blob/master/CHANGELOG.md#edge-channel
What's Changed
- ledger-tool persist reward epoch delegated stakes account by @davidkleymann in #15871
- Removes snapshot hardlinks mentions by @brooksprumo in #15896
- accounts-db: Refactors fields inside SplitFile by @brooksprumo in #15815
- cli: Increments
solana feature statuspadding by one by @brooksprumo in #15875 - Separates the code paths for startup storage rebuilding from snapshot archives vs local state by @brooksprumo in #15892
- chore(deps): bump solana-vote-interface from 7.1.0 to 7.2.0 in /dev-bins by @dependabot[bot] in #15878
- ci: conformance: disable shred harness by @buffalojoec in #15900
- chore(deps): bump solana-secp256k1-program from 3.0.1 to 3.1.0 in /dev-bins by @dependabot[bot] in #15880
- ci: xtask: resolve repo from GITHUB_REPOSITORY by @buffalojoec in #15904
- Refactor - Move
ComputeMeterfromInvokeContexttoTransactionContextby @Lichtso in #15818 - Parse RPC instructions and accounts with wincode by @kskalski in #15906
- refactor(accounts-lt-hash): simplify async pipeline and adjust its API by @kskalski in #15501
- runtime: tests: sweep program_cache into tests dir by @buffalojoec in #15903
- svm: remove account inspection by @2501babe in #15910
- accounts-db: scan storages through the file activated on the reader by @kskalski in #15916
- quic-vote - deactivate and deprecate the CLI argument by @alexpyattaev in #15915
- votor-transport: add blackhole test by @alexpyattaev in #14353
- BCL: makes
produce_windoweasier to follow by @akhi3030 in #15019 - precompiles: decode secp256k1 signature offsets with wincode by @kskalski in #15905
- BlockFinalizationCert uses BlockId instead of Hash by @akhi3030 in #15843
- rpc: update test for out of order OC / Root under AG by @AshwinSekar in #15888
- refactor(local-cluster): replace fs_extra ledger copies with std::fs by @apfitzge in #15942
- deps: bump quinn-proto to 0.11.19 by @alexpyattaev in #15854
- refactor(ledger): remove unused fs_extra dependency by @apfitzge in #15943
- fix: preserve Alpenglow progress anchors and stop reporting expired estimates by @apfitzge in #15885
- ledger: shredder tests: start test shreds at FEC set boundaries for SIMD504 by @alexpyattaev in #15935
- gossip: move the NodesCursor chunk loop into NodesCursor::collect by @efagerho in #15870
- genesis: fix rent deprecation warnings printed on every run by @latent-9 in #15862
- votor: publish the commitment root after replay applies it by @jstarry in #15836
- shred ingest: exclude retransmitter signature from dedup by @AshwinSekar in #14608
- Removes obsolete accounts/snapshot/ sub directories by @brooksprumo in #15895
- refactor: Remove p-token feature gate by @febo in #15944
- ci: detect changed conformance harness code by @buffalojoec in #15959
- ledger: shredder & sigverify tests: start test shreds at FEC set boundaries by @alexpyattaev in #15950
- ledger: blockstore tests: start test shreds at FEC set boundaries by @alexpyattaev in #15951
- accounts-db: handle missing archive data files explicitly by @satyam455 in #15889
- ci: parse labeled platform-tools version from cargo-build-sbf by @buffalojoec in #15960
- local-cluster: rm tower-specific test_alpenglow_partition_1_1_1 by @alexpyattaev in #15923
- Bank::[set_]block_id() takes BlockId instead of Hash by @akhi3030 in #15865
- perf(poseidon): Update light-poseidon to 0.4.1 by @vadorovsky in #15911
- quinn-udp: bump to 0.5.16 by @alexpyattaev in #15651
- VoteStateHandler: uses wincode for serialization by @akhi3030 in #15972
- cli: program: don't auto-extend for simd-0433 by @buffalojoec in #15899
- Adds stats for how long rewards calculations took by @akhi3030 in #15768
- Revert "retransmit: replace rayon with worker pool (#15585)" by @KirillLykov in #15991
- svm, runtime: use StateMutWincode for account state by @kskalski in #15980
- chore(toolchain): bump rust toolchain to 1.99.0 and nightly=2026-08-15 by @kskalski in #15982
- Bump solana-bls-signatures to 4.0.1 by @samkim-crypto in #15898
- Return XDP startup errors after dropping temporary capabilities by @efagerho in #15840
- conformance: fix shred and block harnesses by @0x0ece in #15946
- svm: load: use rooted access slot by @latent-9 in #15967
- replay: give solReplayStage its own arena by @alessandrod in #16008
- repair RPC: require pubkey to target by @alexpyattaev in #15842
- Refactor - Moves
TransactionAccounts::lamports_deltatoTransactionContext::lamports_deltaby @Lichtso in #15993 - runtime: tests: sweep bpf_loader into tests dir by @buffalojoec in #15902
- accounts-db: read storages with direct I/O when generating the index by @kskalski in #15941
- perf(runtime): Avoid zero-initializing sysvar account data by @vadorovsky in #15809
- runtime: tests: extract program cache utils by @buffalojoec in #16007
- tpu-client-next: disable features we do not use by @alexpyattaev in #16010
- chore: serve_repair tests: start test shreds at a FEC set boundary by @alexpyattaev in #15974
- runtime: tests: simd-0433 integration tests by @buffalojoec in #16014
- Use similar handling for ancestors across conformance tests by @roryharr in #15949
- Pass BankId into store_accounts by @roryharr in #15897
- shred sigverify: remove logic to resign shreds by @alexpyattaev in #15710
- chore: rm test code referencing solana_packet::Packet, use BytesPacket instead by @alexpyattaev in #15992
- Improves performance of [de]serializing
VoteStateVersionsby @akhi3030 in #15986 - bpf_loader: sweep instruction tests into tests dir by @buffalojoec in #15901
- conformance: build feature set once per input by @mjain-jump in #16023
- validator: remove unused dependencies by @efagerho in #15928
- gossip: adjust tests for SIMD504 by @alexpyattaev in #15931
- streamer: make QUIC servers, fetch stage and EvictingSender generic over ChannelSend by @stablebits in #15922
- transaction-context: decode and encode account state with wincode by @kskalski in #16003
- fixed slot and shred indices to allow the recover bench to run by @vkomenda in #15035
- chore(deps): bump rustls from 0.23.45 to 0.23.46 by @yihau in #16040
- chore: update scheduler handshake and shaq dependencies by @apfitzge in #16020
- feature cleanup: SIMD-0431 by @buffalojoec in #16030
- retransmit: replace rayon with worker pool by @KirillLykov in #15995
- localnet: add retry to delegate-stake by @alexpyattaev in #15947
- blockstore: hide pre-UpdateParent transaction history by @alex-lind1 in #14432
- perf(gossip): Batch CRDS contact-info queries by @efagerho in #15985
- chore(deps): bump actions/download-artifact from 8.0.1 to 8.0.2 by @dependabot[bot] in #16052
- chore(deps): bump actions/upload-artifact from 7.0.1 to 7....
Release v4.4.0-rc.1
This is Mainnet-beta Upgrade Candidate release recommended for 10% adoption.
It is also recommended for Testnet and Devnet.
https://github.com/anza-xyz/agave/blob/v4.4/CHANGELOG.md
What's Changed
- v4.4: Refactor - Move
ComputeMeterfromInvokeContexttoTransactionContext(backport of #15818) by @mergify[bot] in #15919 - v4.4: remote-wallet: Fix Ledgers that return longer app configurations (backport of #15543) by @mergify[bot] in #15853
- v4.4: streamer: allow 3000 unstaked connections, throttle unstaked to 100 TPS under global saturation (backport of #15610) by @mergify[bot] in #15912
- v4.4: ignore rustls RUSTSECs that do not impact Agave by @akhi3030 in #16057
- v4.4: VoteStateHandler: uses wincode for serialization (backport of #15972) by @mergify[bot] in #16045
- v4.4: streamer: raise max unstaked TPS from 200 to 400 (backport of #15611) by @mergify[bot] in #15913
- v4.4: stakes cache: check StakeStateV2 tag in check_and_store() (backport of #16050) by @mergify[bot] in #16070
- v4.4: Improves performance of [de]serializing
VoteStateVersions(backport of #15986) by @mergify[bot] in #16027 - v4.4: fix: preserve Alpenglow progress anchors and stop reporting expired estimates (backport of #15885) by @mergify[bot] in #15998
- v4.4: bls-cert-verify: specify an optional thread pool (backport of #16059) by @mergify[bot] in #16086
- v4.4: vote_reward.rs: avoids calloc when creating new AccountSharedData (backport of #16101) by @mergify[bot] in #16104
- v4.4: replay: reduce jemalloc contention with the hash/verify pools (backport of #15656) by @mergify[bot] in #15846
- v4.4: deps: bump rustls-webpki to 0.103.16 for RUSTSEC-2026-0382 (backport of #16320) by @mergify[bot] in #16322
- v4.4: changes the blstrs dependency to use the vendored version (backport of #15773) by @mergify[bot] in #16112
- v4.4: bcp: allow tx execution during footer verification (backport of #16048) by @mergify[bot] in #16109
- v4.4: poh: cache start bank fields so pruned banks are freed (backport of #16302) by @mergify[bot] in #16312
- v4.4: replay: use dedicated jemalloc arenas (backport of #15423) by @mergify[bot] in #15476
- v4.4: Keep 32 slots in write cache (backport of #16061) by @mergify[bot] in #16263
- v4.4: ignore ctutils rustsec by @bw-solana in #16361
- Bump version to 4.4.0-rc.0 by @agave-version-bumper[bot] in #16364
- v4.4: ci: ignore RUSTSEC-2026-0387 (crypto-bigint) (backport of #16368) by @mergify[bot] in #16371
- v4.4: replay: give solReplayStage its own arena (backport of #16008) by @mergify[bot] in #16009
- v4.4: ignore zstd rustsecs by @nbelenkov in #16404
- v4.4: Fix -
dev-depedenciescycle of #15818 (backport of #16405) by @mergify[bot] in #16406 - Bump version to 4.4.0-rc.1 by @agave-version-bumper[bot] in #16410
Full Changelog: v4.4.0-beta.1...v4.4.0-rc.1
Release v4.3.2
This a stable release suitable for Testnet, Devnet and Mainnet Beta.
https://github.com/anza-xyz/agave/blob/v4.3/CHANGELOG.md
What's Changed
- v4.3: ci: ignore RUSTSEC-2026-0292 (imbl-sized-chunks) in cargo audit by @nbelenkov in #15572
- v4.3: pin cargo-build-sbf and spl-token-cli to the latest release by @levsha in #15551
- v4.3: ci: disallow imbl::Vector and RUSTSEC-2026-0292 chunk methods by @nbelenkov in #15587
- v4.3: ledger-tool: Bump max supported transaction version (backport of #14826) by @mergify[bot] in #15593
- v4.3: ci: add bypass user list to the buildkite triggering pipeline (backport of #15682) by @mergify[bot] in #15791
- v4.3: ci: use github app token to create version bump PRs (backport of #15733) by @mergify[bot] in #15734
- v4.3: ci: url encode username in bulidkite triggering piepline (backport of #15684) by @mergify[bot] in #15789
- v4.3: bigtable: don't upload past the blockstore's max root (backport of #15804) by @mergify[bot] in #15837
- v4.3: fix: use Alpenglow slot timing for transaction buffering (backport of #15589) by @mergify[bot] in #15657
- v4.3: fix: make Alpenglow slot timing available on Windows (backport of #15886) by @mergify[bot] in #15890
- v4.3: local-cluster: fix flaky alpenglow_basic_equivocation (backport of #14778) by @mergify[bot] in #15924
- v4.3: vendor quinn-proto 0.11.15 and quinn 0.11.11 by @gregcusack in #15953
- v4.3: ci: retry create-stake-account cmd in localnet test (backport of #14505) by @mergify[bot] in #15936
- Bump version to 4.3.1 by @agave-version-bumper[bot] in #15984
- v4.3: ignore rustls RUSTSECs that do not impact Agave by @akhi3030 in #16055
- v4.3: vendor quinn for rustsec20260339 by @gregcusack in #16060
- v4.3: VoteStateHandler: uses wincode for serialization (backport of #15972) by @mergify[bot] in #16044
- v4.3: Improves performance of [de]serializing
VoteStateVersions(backport of #15986) by @mergify[bot] in #16026 - v4.3: bls-cert-verify: specify an optional thread pool (backport of #16059) by @mergify[bot] in #16085
- v4.3: runtime: narrow check_and_store() to AccountSharedData (backport of #15398) by @mergify[bot] in #16043
- v4.3: stakes cache: check StakeStateV2 tag in check_and_store() (backport of #16050) by @mergify[bot] in #16072
- v4.3: vote_reward.rs: avoids calloc when creating new AccountSharedData (backport of #16101) by @mergify[bot] in #16103
- Bump version to 4.3.2 by @agave-version-bumper[bot] in #16106
Full Changelog: v4.3.0...v4.3.2
Release v4.4.0-beta.1
This is a testnet release.
https://github.com/anza-xyz/agave/blob/v4.4/CHANGELOG.md
What's Changed
- v4.4: validator: Swallow identity not found error during wait (backport of #15617) by @mergify[bot] in #15622
- v4.4: SIMD-0123: Gate
clone_and_filter_for_vaton feature (backport of #15529) by @mergify[bot] in #15608 - v4.4: ci: use github app token to create version bump PRs (backport of #15733) by @mergify[bot] in #15735
- v4.4: ci: add bypass user list to the buildkite triggering pipeline (backport of #15682) by @mergify[bot] in #15792
- v4.4: ci: url encode username in bulidkite triggering piepline (backport of #15684) by @mergify[bot] in #15790
- v4.4: Perf - Checks the ELF header of loader-v1/v2 programs earlier (backport of #15544) by @mergify[bot] in #15751
- v4.4: bigtable: don't upload past the blockstore's max root (backport of #15804) by @mergify[bot] in #15838
- v4.4: vote-program: Disable
DepositDelegatorRewards(backport of #15795) by @mergify[bot] in #15812 - v4.4: gossip: reduce bufferbloat (backport of #15636) by @mergify[bot] in #15752
- v4.4: runtime: ebpp relax relatch (backport of #15766) by @mergify[bot] in #15810
- v4.4: program-runtime: extract: use rooted access slot (backport of #15811) by @mergify[bot] in #15833
- v4.4: fix: use Alpenglow slot timing for transaction buffering (backport of #15589) by @mergify[bot] in #15658
- v4.4: fix: make Alpenglow slot timing available on Windows (backport of #15886) by @mergify[bot] in #15891
- v4.4: vendor quinn-proto 0.11.18 and quinn 0.11.12 by @gregcusack in #15954
- Bump version to 4.4.0-beta.1 by @agave-version-bumper[bot] in #15983
Full Changelog: v4.4.0-beta.0...v4.4.0-beta.1
Release v4.5.0-alpha.2
This is a pre-release for testing only. Do not deploy to mainnet, testnet, or any production host.
https://github.com/anza-xyz/agave/blob/master/CHANGELOG.md#edge-channel
What's Changed
- votor: count footer cert receive-limit hits under their own metric by @latent-9 in #15502
- conformance: keep zero-stake delegations in block harness by @mjain-jump in #15711
- streamer: allow 3000 unstaked connections, throttle unstaked to 100 TPS under global saturation by @stablebits in #15610
- streamer: raise max unstaked TPS from 200 to 400 by @stablebits in #15611
- streamer: set worker_threads = 2 in unstaked connection quic tests by @ataridev in #15695
- streamer: set worker_threads = 2 in remaining quic tests by @ataridev in #15702
- chore(deps): bump solana-address from 2.8.0 to 2.9.0 by @dependabot[bot] in #15738
- Shredder: stop producing resigned shreds. by @alexpyattaev in #15607
- gossip: bound crds lock holds in the shred-version filter by @efagerho in #15576
- SIMD-0464: key feature by @buffalojoec in #15765
- ci: add summary when waiting for ci label approval by @yihau in #15781
- bls-sigverify: cleanups the unit tests by @akhi3030 in #15742
- Adds hidden --accounts-db-account-storage-file-format cli arg by @brooksprumo in #15745
- accounts-db: Reports split file stats by @brooksprumo in #15785
- feat(ci): add release-profile check to merge queue by @mircea-c in #15267
- turbine: rm chacha8 feature gate code by @alexpyattaev in #15760
- svm: do not return balance for fee-payer no-op by @2501babe in #15706
- version: drop the unused v3 Version by @kskalski in #15634
- reduce number of broadcast threads by @alexpyattaev in #10896
- program-runtime: add ProgramCacheEntry::is_unloaded by @buffalojoec in #15806
- program-runtime: extract: add batch_slot variable by @buffalojoec in #15805
- runtime: ebpp relax relatch by @buffalojoec in #15766
- ci: remove mergify backport assignee fallback by @yihau in #15803
- vote-program: Disable
DepositDelegatorRewardsby @joncinque in #15795 - gossip peer sampling: switch to chacha8 by @alexpyattaev in #15762
- Cleanup - Removes
ProgramCache::merge()by @Lichtso in #14639 - retransmit: replace rayon with worker pool by @KirillLykov in #15585
- alpenglow: activate feature by default by @AshwinSekar in #14861
- repair: optimize pong handling by @alexpyattaev in #15384
- GenesisCertBlockMarker uses
BlockIdinstead ofHashby @akhi3030 in #15618 - Sets default full snapshot interval to 200k slots by @brooksprumo in #15777
- Disables remove-on-drop before flush of storages in serialize_snapshot() by @brooksprumo in #15802
- bls-sigverify: minor cleanup of code by @akhi3030 in #15774
- accounts-db: Adds SplitFile in more account_storage_reader tests by @brooksprumo in #15820
- rpc: add getRankMap by @sam0x17 in #15654
- Implement SIMD-582 by @LucasSte in #15664
- accounts-db: Removes hard coded AppendVec provider from storable_accounts tests by @brooksprumo in #15819
- Only store block harness inputs at the parent slot by @roryharr in #15796
- Extract validator XDP startup into a dedicated module by @efagerho in #15825
- accounts-db: Deduplicates new_scan_accounts_reader() by @brooksprumo in #15821
- program-runtime: extract: use rooted access slot by @buffalojoec in #15811
- perf(deps): bump dashmap to 6.2.1 by @kskalski in #11052
- bigtable: don't upload past the blockstore's max root by @jstarry in #15804
- Rename XDP modules to components by @efagerho in #15827
- UpdateParentV1 uses BlockId instead of Hash by @akhi3030 in #15822
- turbine/ledger: rm ReedSolomonCache by @alexpyattaev in #15797
- Add an explicit XDP copy mode flag by @efagerho in #15826
- Use StateMutWincode for account building and getting state in tools and tests by @kskalski in #15835
- solana-test-validator: activate alpenglow by default by @AshwinSekar in #15665
- Moves some more information out of votor-messages crate by @akhi3030 in #15723
- WeightedShuffle: migrate all tests to chacha8 by @alexpyattaev in #15761
- replay: reduce jemalloc contention with the hash/verify pools by @alessandrod in #15656
- solana-genesis: activate alpenglow by default by @AshwinSekar in #15666
- Bump GitHub runners to ubuntu-26.04 by @levsha in #15786
- Document
Shred-related types by @plafer in #14428 - remote-wallet: Fix Ledgers that return longer app configurations by @joncinque in #15543
- Modify store_accounts functions to stores using a unique bank_id by @roryharr in #15830
- accounts-db: Split data file is optional by @brooksprumo in #15798
- accounts-db: time read-only cache loads and stores in nanoseconds by @kskalski in #15839
- perf(unified-scheduler): keep handler timings out of finished tasks by @kskalski in #15679
- fix: rustdoc typos in cli-config and clap crates by @abhijeetnardele24-hash in #15743
- geyser: forward contact info republishes by @sam0x17 in #15036
- Drop unused bincode dev-dependency from bls-sigverify by @kskalski in #15863
- gossip: bound crds lock holds in peer queries by @efagerho in #15612
- svm: respect drop_bail_out_transactions on replay by @latent-9 in #15763
- tokens: move some tests out of coverage, mark slow tests serial by @alexpyattaev in #15869
- accounts-db,version: digest BlockhashQueue and Version with wincode only by @kskalski in #15861
- ci: hook up conformance by @buffalojoec in #15559
- perf(accounts-db): buffer AppendVec account appends by @kskalski in #15705
- Revert "quinn_proto: bump to 0.11.18 (#15650)" by @gregcusack in #15850
- fix: make Alpenglow slot timing available on Windows by @apfitzge in #15886
- Convert Ancestors to a Vec<Slot, BankId> by @roryharr in #15857
- Bump version to 4.5.0-alpha.2 by @agave-version-bumper[bot] in #15894
New Contributors
- @abhijeetnardele24-hash made their first contribution in #15743
Full Changelog: v4.5.0-alpha.1...v4.5.0-alpha.2
Release v4.5.0-alpha.1
This is a pre-release for testing only. Do not deploy to mainnet, testnet, or any production host.
https://github.com/anza-xyz/agave/blob/master/CHANGELOG.md#edge-channel
What's Changed
- chore(consensus_pool): remove
DebugIgnoreinParentReadyTrackerby @plafer in #15369 - core,perf: retire the tower and banking-trace api_digests by @kskalski in #15324
- Fully comply with SIMD 317 by @alexpyattaev in #15170
- local-cluster: ignore test_duplicate_shreds_broadcast_leader by @AshwinSekar in #15370
- Fix clean_accounts_older_than_root parallelism by @roryharr in #15355
- flh: unkey feature flag by @AshwinSekar in #15390
- geyser: use external plugin interface crate by @sam0x17 in #15388
- conformance: hash large effects fields by @mjain-jump in #15038
- nit: change some BTreeMaps to HashMaps by @akhi3030 in #15380
- SlotStakeCounters: replace BTreeMap with HashMap by @akhi3030 in #15381
- chore: Remove dead turbine experiment ff by @steviez in #15394
- validator: require --enable-rpc-transaction-history for --enable-bigtable-ledger-upload by @samuelvanderwaal in #15307
- ConsensusMetrics: improves naming and handling of some metrics by @akhi3030 in #15298
- purge_special_columns_exact recovers all valid components by @alex-lind1 in #15386
- test-validator: fix block subscription flag panic by @0xzrf in #13322
- runtime: narrow check_and_store() to AccountSharedData by @2501babe in #15398
- chore(deps): bump serde_with from 3.22.0 to 3.23.0 by @dependabot[bot] in #15336
- chore(deps): bump bitflags from 2.13.1 to 2.13.2 by @dependabot[bot] in #15374
- chore(deps): bump smallvec from 1.16.0 to 1.16.1 in /dev-bins by @dependabot[bot] in #15371
- refactor: encode config accounts and test sysvars with wincode by @kskalski in #15365
- svm: check if nonce account is writable by @2501babe in #15400
- refactor: drop the bincode feature from solana-account by @kskalski in #14636
- chore(deps): bump bytemuck_derive from 1.12.0 to 1.12.1 by @dependabot[bot] in #15405
- runtime: tests: core bpf environments by @buffalojoec in #15393
- votor: use af_xdp for both client and server egress traffic by @KirillLykov in #15347
- Preparation - Block production TX dropping in program runtime by @Lichtso in #13860
- chore(dep): bump quinn to 0.11.12 and quinn-proto to 0.11.18 by @yihau in #15269
- bls-sigverify: eliminate allocations for sending metrics by @akhi3030 in #15235
- repair: use BytesPacket by @alexpyattaev in #15352
- shredder: comply with SIMD504 by @alexpyattaev in #14941
- SIMD-0599: Remove inactive stakes from stake delegations by @2501babe in #15078
- Remove shrink_all_slots by @roryharr in #15391
- Remove entries from read_cache when flushed by @roryharr in #15392
- bls-sigverify: introduces
UnverifiedBatchandVerifiedBatchby @akhi3030 in #15332 - SIMD-0433: Loader V3 Set Program Data to ELF Length by @buffalojoec in #15402
- chore(keygen): correct subcommand name casing by @t-nelson in #13354
- streamer: track unstaked stream load in a separate EMA by @stablebits in #15086
- runtime: Add multi-block end-to-end test for SIMD-0123 edge cases by @joncinque in #15278
- runtime: ebpp deployment env guard by @buffalojoec in #15323
- fix(rpc): return error when leader schedule not found for validator by @0xzrf in #12197
- Retire skip_shrink as true by @roryharr in #15417
- chore(deps): bump solana-zk-sdk from 8.0.0 to 8.0.1 by @dependabot[bot] in #15403
- runtime: ebpp relatch by @buffalojoec in #15284
- changelog: Add RPC change for
getLeaderScheduleby @joncinque in #15422 - refactor: drop bincode from the runtime crate by @kskalski in #15406
- runtime: Make deactivating stake actually deactivating by @joncinque in #15430
- Bump version to 4.5.0-alpha.0 by @github-actions[bot] in #15427
- Update CHANGELOG to reflect master update to v4.5 by @levsha in #15429
- chore(deps): bump octocrab from 0.54.1 to 0.54.2 in /ci/xtask by @dependabot[bot] in #15408
- bls-sigverify: removes HashMap when sending repair msgs by @akhi3030 in #15258
- perf: Make use of wincode and
BytesPacketinto_packet_batchesby @vadorovsky in #15425 - vote: retire the VoteTransaction api_digest by @kskalski in #15383
- replay: use dedicated jemalloc arenas by @alessandrod in #15423
- Update mergify to support v4.4 by @levsha in #15434
- wake-channel: extract the ledger futex channel wrapper by @stablebits in #15359
- mergify: Remove feature gate backport rules by @steviez in #15451
- chore(streamer): Fix build on windows-2025 by @vadorovsky in #15447
- perf(gossip): use fairer parking_lot RwLock by @efagerho in #15456
- test(turbine): Replace
RecycledPacketBatchwithBytesPacketBatchby @vadorovsky in #15462 - chore(dep): bump solana-sbpf from 0.24.0 to 0.25.0 by @yihau in #15460
- chore(deps): bump clap from 4.6.6 to 4.6.7 in /ci/xtask by @dependabot[bot] in #15435
- refactor(core): simplify external check workers and decouple requested checks by @apfitzge in #15353
- chore(deps): bump derive-where from 1.6.1 to 1.7.0 by @dependabot[bot] in #15457
- Always remove accounts on squash, and change ordering by @roryharr in #15419
- Removes fastboot v2 support by @brooksprumo in #15478
- deps: move the sdk crates onto their latest majors by @kskalski in #15463
- Remove unused highest slot stored by @roryharr in #15482
- conformance: support for fuzzing V1 transactions by @topointon-jump in #15479
- gossip: use cloned contact-info version in trace output by @efagerho in #15493
- chore(deps): bump solana-nonce from 3.3.0 to 3.4.0 by @dependabot[bot] in #15499
- gossip: read failed_inserts size outside the crds lock by @efagerho in #15492
- gossip: replace RecycledPacketBatch with BytesPacketBatch by @alexpyattaev in #15455
- chore(deps): bump solana-program from 5.0.0 to 5.1.0 by @dependabot[bot] in #15497
- repair: reduce bufferbloat by @alexpyattaev in #15495
ConsensusPoolcleanup and docs by @plafer in #15453- Don't compile malicious repair handler in production builds by @plafer in #15480
- Implements VotePools to avoid reallocations by @akhi3030 in #15254
- refactor(rpc-client): migrate fee queries to VersionedMessage by @apfitzge in #15310
- gossip: build pull-request bloom filters outside the crds lock by @efagerho in #15503
- Move mergify steps up in the list by @levsha in #15445
- chore(deps): bump solana-stake-interface from 5.0.0 to 5.1.0 by @dependabot[bot] in #15514
- Cleaning up votor-messages crate by @akhi3030 in #15414
- Moves sig-verified-messages out of votor-messages crate by @akhi3030 in #15461
- fix(remote-wallet): accept a longer Ledger app-configuration vector by @ledgicr in #15100
- gossip: use stack scratch for build_crds_filters chunks by @efagerho in https://github.com/anza-xyz/agav...
Release v4.4.0-beta.0
This is a testnet release.
https://github.com/anza-xyz/agave/blob/v4.4/CHANGELOG.md
What's Changed
- chore(consensus_pool): remove
DebugIgnoreinParentReadyTrackerby @plafer in #15369 - core,perf: retire the tower and banking-trace api_digests by @kskalski in #15324
- Fully comply with SIMD 317 by @alexpyattaev in #15170
- local-cluster: ignore test_duplicate_shreds_broadcast_leader by @AshwinSekar in #15370
- Fix clean_accounts_older_than_root parallelism by @roryharr in #15355
- flh: unkey feature flag by @AshwinSekar in #15390
- geyser: use external plugin interface crate by @sam0x17 in #15388
- conformance: hash large effects fields by @mjain-jump in #15038
- nit: change some BTreeMaps to HashMaps by @akhi3030 in #15380
- SlotStakeCounters: replace BTreeMap with HashMap by @akhi3030 in #15381
- chore: Remove dead turbine experiment ff by @steviez in #15394
- validator: require --enable-rpc-transaction-history for --enable-bigtable-ledger-upload by @samuelvanderwaal in #15307
- ConsensusMetrics: improves naming and handling of some metrics by @akhi3030 in #15298
- purge_special_columns_exact recovers all valid components by @alex-lind1 in #15386
- test-validator: fix block subscription flag panic by @0xzrf in #13322
- runtime: narrow check_and_store() to AccountSharedData by @2501babe in #15398
- chore(deps): bump serde_with from 3.22.0 to 3.23.0 by @dependabot[bot] in #15336
- chore(deps): bump bitflags from 2.13.1 to 2.13.2 by @dependabot[bot] in #15374
- chore(deps): bump smallvec from 1.16.0 to 1.16.1 in /dev-bins by @dependabot[bot] in #15371
- refactor: encode config accounts and test sysvars with wincode by @kskalski in #15365
- svm: check if nonce account is writable by @2501babe in #15400
- refactor: drop the bincode feature from solana-account by @kskalski in #14636
- chore(deps): bump bytemuck_derive from 1.12.0 to 1.12.1 by @dependabot[bot] in #15405
- runtime: tests: core bpf environments by @buffalojoec in #15393
- votor: use af_xdp for both client and server egress traffic by @KirillLykov in #15347
- Preparation - Block production TX dropping in program runtime by @Lichtso in #13860
- chore(dep): bump quinn to 0.11.12 and quinn-proto to 0.11.18 by @yihau in #15269
- bls-sigverify: eliminate allocations for sending metrics by @akhi3030 in #15235
- repair: use BytesPacket by @alexpyattaev in #15352
- shredder: comply with SIMD504 by @alexpyattaev in #14941
- SIMD-0599: Remove inactive stakes from stake delegations by @2501babe in #15078
- Remove shrink_all_slots by @roryharr in #15391
- Remove entries from read_cache when flushed by @roryharr in #15392
- bls-sigverify: introduces
UnverifiedBatchandVerifiedBatchby @akhi3030 in #15332 - SIMD-0433: Loader V3 Set Program Data to ELF Length by @buffalojoec in #15402
- chore(keygen): correct subcommand name casing by @t-nelson in #13354
- streamer: track unstaked stream load in a separate EMA by @stablebits in #15086
- runtime: Add multi-block end-to-end test for SIMD-0123 edge cases by @joncinque in #15278
- runtime: ebpp deployment env guard by @buffalojoec in #15323
- fix(rpc): return error when leader schedule not found for validator by @0xzrf in #12197
- Retire skip_shrink as true by @roryharr in #15417
- chore(deps): bump solana-zk-sdk from 8.0.0 to 8.0.1 by @dependabot[bot] in #15403
- runtime: ebpp relatch by @buffalojoec in #15284
- changelog: Add RPC change for
getLeaderScheduleby @joncinque in #15422 - refactor: drop bincode from the runtime crate by @kskalski in #15406
- runtime: Make deactivating stake actually deactivating by @joncinque in #15430
- v4.4: Update Changelog by @levsha in #15433
- v4.4: Update CODEOWNERS to backport-reviewers only by @levsha in #15448
- v4.4: chore(streamer): Fix build on windows-2025 (backport of #15447) by @mergify[bot] in #15477
- v4.4: repair: reduce bufferbloat (backport of #15495) by @mergify[bot] in #15506
- Bump version to 4.4.0-beta.0 by @github-actions[bot] in #15579
New Contributors
- @samuelvanderwaal made their first contribution in #15307
Full Changelog: v4.4.0-alpha.5...v4.4.0-beta.0