NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4297 most downloaded on crates.io
Solana data shared between program runtime and built-in programs as well as SBF programs.
Last release 2 days ago
03 Oct 2026
Ships on a steady schedule
a new release about every 2 weeks
Rarely documented
notes for 8 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
2 years old
107 releases · first in 2024
One column per month.
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
Deprecated snapshot archive formats have been removed and are no longer loadable.
slot property to EpochRewardsPeriodActiveErrorDataslot property to RpcCustomError::SlotNotEpochBoundaryPING opcodes take priority over notifications.CAP_NET_RAW, CAP_NET_ADMIN, CAP_BPF, and CAP_PERFMON capabilities. These can be configured in the systemd service file by setting CapabilityBoundingSet=CAP_NET_RAW CAP_NET_ADMIN CAP_BPF CAP_PERFMON under the [Service] section or directly on the binary with the command sudo setcap cap_net_raw,cap_net_admin,cap_bpf,cap_perfmon=p <path/to/agave-validator> (this command must be run each time the binary is replaced)--experimental-retransmit-xdp-interface <real-interface> (e.g.: eno17395np0 not bond0), as zero copy is only available on physical interfaces.memlock limits - recommended setting is LimitMEMLOCK=2000000000 in systemd service configuration. Lack of sufficient limit (on Linux) will cause startup error.--accounts-index-memory-limit-mb--accountsdb-repl-bind-address, --accountsdb-repl-port, --accountsdb-repl-threads, --enable-accountsdb-repl--disable-quic-servers, --enable-quic-servers--etcd-cacert-file, --etcd-cert-file, --etcd-domain-name, --etcd-endpoint, --etcd-key-file, --tower-storage--no-check-vote-account--no-rocksdb-compaction, --rocksdb-compaction-interval-slots, --rocksdb-max-compaction-jitter-slots--replay-slots-concurrently
--replay-forks-threads with a value of 4 to match preexisting behavior--rpc-pubsub-max-connections, --rpc-pubsub-max-fragment-size, --rpc-pubsub-max-in-buffer-capacity, --rpc-pubsub-max-out-buffer-capacity, --enable-cpi-and-log-storage, --minimal-rpc-api--skip-poh-verify--snapshot-interval-slots 0 to disable generating snapshots has been removed. Use --no-snapshots instead.--dynamic-port-range, including the client ports. A range of at least 25 ports is recommended to avoid failures to bind during startup.--transaction-structure view is now the default.SOLANA_BANKING_THREADS environment variable is no longer supported. Use --block-prouduction-num-workers instead.agave-validator exit will now wait for the validator process to terminate before returning. The --wait-for-exit flag has been deprecated, but operators can still opt out with the new --no-wait-for-exit flag.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
Using --snapshot-interval-slots 0 to disable generating snapshots is now deprecated.
TimedTracedEvent changed, since PacketBatch became an enum, which carries different packet batch types. (#5646)--no-snapshots to disable generating snapshots.--block-production-method central-scheduler-greedy is now the default.agave-validtor exit) is required in order to boot from local state. Refer to the help of --use-snapshot-archives-at-startup for more information about booting from local state.--snapshot-interval-slots 0 to disable generating snapshots is now deprecated.blockstore-processor for --block-verification-method is now deprecated.cargo-build-sbf and cargo-test-sbf now accept v0, v1, v2 and v3 for the --arch argument. These parameters specify the SBPF version to build for.cargo-build-sbf now supports the --optimize-size argument, which reduces program size, potentially at the cost of increased CU usage.sbf-solana-solana target, the new cargo-build-sbf version target defaults to sbpf-solana-solana. The generated programs will be available on target/deploy and target/sbpf-solana-solana/release.sbf-solana-solana target folder is still necessary, use cargo +solana build --triple sbf-solana-solana --release.sbpfv1-solana-solana for version v1, sbpfv2-solana-solana for v2, and sbpfv3-solana-solana for v3. Generated programs are available on both the target/deploy folder and the target/<triple>/release folder. The binary in target/deploy has smaller size, since we strip unnecessary sections from the one available in target/<triple>/release.cargo-build-sbf no longer automatically enables the program feature to the solana-sdk dependency. This feature allowed solana-sdk to work in on-chain programs. Users must enable the program feature explicitly or use solana-program instead. This new behavior only breaks programs using solana-sdk v1.3 and earlier.withdraw-stake now accepts the AVAILABLE keyword for the amount, allowing withdrawal of unstaked lamports (#4483)solana-test-validator will now bind to localhost (127.0.0.1) by default rather than all interfaces to improve security. Provide --bind-address 0.0.0.0 to bind to all interfaces to restore the previous default behavior.simulateTransaction now includes loadedAccountsDataSize in its result. loadedAccountsDataSize is the total number of bytes loaded for all accounts in the simulated transaction.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
Deprecate --tower-storage and all --etcd-* arguments
--skip-preflight option for skipping preflight checks on all transactions sent through RPC. This flag, along with --use-rpc, can improve success rate with program deployments using the public RPC nodes.solana feature revoke for revoking pending feature activations. When a feature is activated, solana feature revoke <feature-keypair> <cluster> can be used to deallocate and reassign the account to the System program, undoing the operation. This can only be done before the feature becomes active.--block-production-method for central-scheduler-greedy. This is a simplified scheduler that has much better performance than the more strict central-scheduler variant.--accounts-db-access-storages-method for agave-validator and agave-ledger-tool and change default to filebanking-trace directory should be cleared when restarting on v2.2 for first time. It will not break if not cleared, but the file will be a mix of new/old format. (#4043)--snapshot-zstd-compression-level to set the compression level when archiving snapshots with zstd.--tower-storage and all --etcd-* argumentscargo-build-sbf: add --skip-tools-install flag to avoid downloading platform tools and --no-rustup-override flag to not use rustup when invoking cargo. Useful for immutable environments like Nix.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 →