NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #3781 most downloaded on crates.io
Solana program runtime
Last release 6 days ago
11 Sep 2026
Ships on a steady schedule
a new release about every 2 weeks
Rarely documented
notes for 6 of the last 60 stable releases
4 versions withdrawn
withdrawn after publishing
5 years old
352 releases · first in 2021
One column per quarter.
Nothing published for this version
cargo-build-bpf and cargo-test-bpf have been deprecated for two years and have now been definitely removed. Use cargo-build-sbf and cargo-test-sbf ins…
cargo-build-bpf and cargo-test-bpf have been deprecated for two years and have now been definitely removed.
Use cargo-build-sbf and cargo-test-sbf instead.curve25519-dalek upgraded to new major version 4 (#1693). This causes breakage when mixing v2.0 and v2.1 Solana crates, so be sure to use all of one or the other. Please use only crates compatible with v2.1.redelegate instruction processor and CLI commands (#2213)&self instead of &mut self (#2591)agave-validator:
fifo for --rocksdb-shred-compaction (#3451)respan macro. This was marked as "internal use only" and was no longer used internally.entrypoint_no_alloc!, a more performant program entrypoint that avoids allocations, saving 20-30 CUs per unique accountcargo-build-sbf: a workspace or package-level Cargo.toml may specify tools-version for overriding the default platform tools version when building on-chain programs. For example:[package.metadata.solana]
tools-version = "1.43"
or
[workspace.metadata.solana]
tools-version = "1.43"
The order of precedence for the chosen tools version goes: --tools-version argument, package version, workspace version, and finally default version.
package-metadata: specify a program's id in Cargo.toml for easy consumption by downstream users and tools using solana-package-metadata (#1806). For example:[package.metadata.solana]
program-id = "MyProgram1111111111111111111111111111111111"
Can be consumed in the program crate:
solana_package_metadata::declare_id_with_package_metadata!("solana.program-id");
This is equivalent to writing:
solana_pubkey::declare_id!("MyProgram1111111111111111111111111111111111");
agave-validator: Update PoH speed check to compare against current hash rate from a Bank (#2447)solana-test-validator: Add --clone-feature-set flag to mimic features from a target cluster (#2480)solana-genesis: the --cluster-type parameter now clones the feature set from the target cluster (#2587)unified-scheduler as default option for --block-verification-method (#2653)thread-local-multi-iterator option for --block-production-method is deprecated (#3113)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
solana-sdk: deprecated symbols removed
Copy is no longer derived on Rent and EpochSchedule, please switch to using clone() (solana-labs#32767)solana-sdk: deprecated symbols removedsolana-program: deprecated symbols removedRpcClient and RpcClient::nonblockingsolana-client: deprecated re-exports removed; please import solana-connection-cache, solana-quic-client, or solana-udp-client directlyagave-validator:
--enable-rpc-obsolete_v1_7 (#1886)--accounts-db-caching-enabled (#2063)--accounts-db-index-hashing (#2063)--no-accounts-db-index-hashing (#2063)--incremental-snapshots (#2148)--halt-on-known-validators-accounts-hash-mismatch (#2157)central-scheduler as default option for --block-production-method (#34891)solana-rpc-client-api: RpcFilterError depends on base64 version 0.22, so users may need to upgrade to base64 version 0.22--health-check-slot-distance from 150 to 128--with-compute-unit-price, --max-sign-attempts, and --use-rpc during program deploymentsimulateTransaction now returns an extra replacementBlockhash field in the response
when the replaceRecentBlockhash config param is true (#380)cargo test-sbf accepts --tools-version, just like build-sbf (#1359)--full-snapshot-archive-path (#1631)amountToUiAmount instruction parses the amount into a string instead of a number (#1737)epoch_rewards_status removed from snapshot (#1274)unified-scheduler option for --block-verification-method (#1668)fifo option for --rocksdb-shred-compaction (#1882)
fifo will remain supported in v2.0 with plans to fully remove in v2.1Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Added a github check to support changelog label
changelog label--use-snapshot-archives-at-startup is now when-newest (#33883)
solana-ledger-tool, however, remains always (#34228)central-scheduler option for --block-production-method (#33890)getSignaturesForAddress always returns signatures in block-inclusion ordersimulateTransaction now returns innerInstructions as json/jsonParsed (#34313).entries table--signer CLI flag, forcing users to specify multiple occurrences of --signer, one for each signaturesolana program extend
before an upgrade if they need to accommodate larger programs.gossip_service::get_client() has changed. gossip_service::get_multi_client() has been removed.--with-compute-unit-price, --max-sign-attempts, and --use-rpc during program deploymentsolana-program and solana-sdk default to support for Borsh v1, with
limited backward compatibility for v0.10 and v0.9. Please upgrade to Borsh v1.entries
table before upgrading their warehouse nodesNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →