solana-transaction-metrics-tracker
Solana transaction metrics tracker
4.0.3
4.3M downloads/mo
#4834 most downloaded on crates.io
anza-xyz/agave
What this package is like to depend on
Last release 2 months ago
16 Jun 2026
Ships fairly regularly
a new release about every 2 weeks
Rarely documented
notes for 5 of 97 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
107 releases · first in 2024
44 releases in the last 12 months
see the full history below
Release timeline
107 releases · Jun 2024 to Jun 2026Releases
latest 60 of 107-
4.0.316 Jun 2026Nothing published for this version
-
4.0.020 May 2026Release notes
Open source →RPC
Breaking
--public-tpu-addressand--public-tpu-forwards-addressCLI arguments andsetPublicTpuForwardsAddress,setPublicTpuAddressRPC methods now specify QUIC ports, not UDP.- Blockstore
PerfSamplescolumn legacy format removed.- The
PerfSamplescolumn format was updated in agave v1.15 to writePerfSampleV2. The old format,PerfSampleV1, will no longer be supported for fallback reads as of v4.0.
- The
- Blockstore transaction metadata column legacy format support removed.
- The
TransactionStatus,TransactionMemos, andAddressSignaturescolumns were updated in v1.18 to write a new key format. The old key format will no no longer be supported for fallback reads as of v4.0
- The
getSignaturesForAddressreturns an error with code-32020if thebeforeoruntilsignatures are not found, rather than a successful response with an empty array
Changes
- Added
--enable-scheduler-bindingswhich binds an IPC server at<ledger-path>/scheduler_bindings.ipcfor external schedulers to connect to. - Added
clientIdfield to each node ingetClusterNodesresponse
Validator
Breaking
- Removed deprecated arguments
--accounts-db-clean-threads--accounts-db-hash-threads--accounts-db-read-cache-limit-mb--accounts-hash-cache-path--cuda--disable-accounts-disk-index--dev-halt-at-slot--monitor(exitsubcommand)--transaction-struct--wait-for-exit(exitsubcommand)--tpu-coalesce-ms--tpu-disable-quic--tpu-enable-udp
--block-verification-method blockstore-processoris no longer supported. Remove the argument or switch to--block-verification-method unified-schedulerinstead.- Removed support for ingestion of transactions via UDP. QUIC is now the only option.
- All monorepo crates falling outside the
backward compatibility policy are now part
of the Agave Unstable API and their symbols have been made private. Enable the
agave-unstable-apicrate feature to acknowledge use of an interface that may break without warning. - Linux Capability handling has been hardened wrt requirements for configuring XDP (#9133)
- It is now an explicit error + exit(1) if the process has not been permitted a capability required by the current configuration
- A warning is logged if the process has been permitted capabilities not required by any configuration supported by the binary
- All permitted capabilities not required by the current configuration are now dropped at startup. This includes all validator subcommands which never require capabilities
- Operations which require capabilities are now performed on the main thread and
capabilities dropped before any other threads are spawned, with two exceptions
- One thread retains cap_net_admin in order to reinitialize its netlink socket upon error
- If any niceness flags are passed, all threads retain cap_sys_nice, which has been the case since those feature were originally added
- Updated instructions for permitting Linux Capabilities for the validator process are
as follow. Either of these two options is supported. Choose whichever best fits your
operational procedures
-
Add the following to the
[Service]section of you Systemd service file# Permit Linux Capabilities required to configure XDP AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN CAP_BPF CAP_PERFMON # Disallow inheritance of any Linux Capabilities not required by any configuration CapabilityBoundingSet=CAP_NET_RAW CAP_NET_ADMIN CAP_BPF CAP_PERFMON
-
set xattr capabilities directly on the binary file. note that this step must be repeated every time that the binary file is replaced
sudo setcap cap_net_raw,cap_net_admin,cap_bpf,cap_perfmon=p /path/to/agave-validator
-
- Interpretation of the
Versionstruct fields in gossipContactInfohas been changed to support communicating semver prerelease notation. Implementations lacking this support will observe a larger than expectedminversion field from node publishing from a prerelease version. The new interpretation is as follows:- The top two bits (14 and 15) of the
minorfield are now reserved for prerelease status - Prerelease status bit values are; 3 - alpha, 2 - beta, 1 - release candidate (rc), 0 - stable
- When prerelease status bits are non-zero, the
Version::patchfield is interpreted as the prerelease number and the actualpatchvalue is implicitly zero - Examples:
- { min: 0x0001, patch: 0x0003 } -> X.1.3
- { min: 0x4002, patch: 0x0002 } -> X.2.0-rc.2
- { min: 0x8003, patch: 0x0001 } -> X.3.0-beta.1
- { min: 0xC004, patch: 0x0000 } -> X.4.0-alpha.0
- The top two bits (14 and 15) of the
- Blockstore
SlotMetaandIndexcolumns legacy format removed.- The
Indexcolumn was updated in v2.2 to writeIndexV2. - The
SlotMetacolumn format was updated in v3.1 to writeSlotMetaV2. - The old formats,
SlotMetaV1andIndexV1, will no longer be supported for fallback reads as of v4.0
- The
Deprecations
- Using
mmapfor--accounts-db-access-storages-methodis now deprecated. - The
--enable-accounts-disk-indexflag is now deprecated. Use--accounts-index-limitinstead. To retain the same behavior, use--accounts-index-limit minimal.
Changes
agave-validator exitnow saves bank state before exiting. This enables restarts from local state when snapshot generation is disabled.- Added
--accounts-index-limitto specify the memory limit of the accounts index. - Snapshot archive unpacking now uses direct I/O by default to improve performance by bypassing the OS page cache. Use
--no-accounts-db-snapshots-direct-ioto opt out if your file system does not supportO_DIRECT. Direct I/O will be extended to snapshot creation in a future release. --block-production-method central-scheduleris now deprecated and will be removed in a future release. Usecentral-scheduler-greedyinstead.
CLI
Breaking
- Removed deprecated arguments
--use-quic--use-udp
Deprecations
- The
pingcommand is deprecated and will be removed in v4.1.
Changes
- Support Trezor hardware wallets using
usb://trezor
Platform tools
Breaking
cargo-build-sbf --debugnow generates a fileprogram.so.debuginstead ofprogram.debug.cargo-build-sbf --debugplaces all debug related objects insidetarget/deploy/debug.
Geyser
Changes
- Account update notifications have their fields populated from the account values post transaction execution. This means notifications for closed accounts (accounts with a balance of zero lamports) will no longer have their
owner/data/etc manually zeroed out. Note that if the on-chain program does zero out any fields itself, those will remain zeroed out in the notification.
Test Validator
Changes
- Now shows TPU QUIC address instead of TPU UDP in the dashboard.
-
4.0.0-rc.005 May 2026 pre-releaseNothing published for this version
-
4.0.0-beta.710 Apr 2026 pre-releaseNothing published for this version
-
4.0.0-beta.603 Apr 2026 pre-releaseNothing published for this version
-
4.0.0-beta.527 Mar 2026 pre-releaseNothing published for this version
-
4.0.0-beta.423 Mar 2026 pre-releaseNothing published for this version
-
4.0.0-beta.320 Mar 2026 pre-releaseNothing published for this version
-
4.0.0-beta.213 Mar 2026 pre-releaseNothing published for this version
-
4.0.0-beta.110 Mar 2026 pre-releaseNothing published for this version
-
4.0.0-beta.006 Mar 2026 pre-releaseNothing published for this version
-
4.0.0-alpha.027 Feb 2026 pre-releaseNothing published for this version
-
3.1.1424 Apr 2026Nothing published for this version
-
3.1.1203 Apr 2026Nothing published for this version
-
3.1.1120 Mar 2026Nothing published for this version
-
3.1.1010 Mar 2026Nothing published for this version
-
3.1.919 Feb 2026Nothing published for this version
-
3.1.826 Jan 2026Nothing published for this version
-
3.1.719 Jan 2026Nothing published for this version
-
3.1.610 Jan 2026Nothing published for this version
-
3.1.521 Dec 2025Nothing published for this version
-
3.1.403 Dec 2025Nothing published for this version
-
3.1.329 Nov 2025Nothing published for this version
-
3.1.222 Nov 2025Nothing published for this version
-
3.1.114 Nov 2025Nothing published for this version
-
3.0.1410 Jan 2026Nothing published for this version
-
3.0.1321 Dec 2025Nothing published for this version
-
3.0.1229 Nov 2025Nothing published for this version
-
3.0.1122 Nov 2025Nothing published for this version
-
3.0.1004 Nov 2025Nothing published for this version
-
3.0.824 Oct 2025Nothing published for this version
-
3.0.717 Oct 2025Nothing published for this version
-
3.0.608 Oct 2025Nothing published for this version
-
3.0.501 Oct 2025Nothing published for this version
-
3.0.426 Sep 2025Nothing published for this version
-
3.0.319 Sep 2025Nothing published for this version
-
3.0.212 Sep 2025Nothing published for this version
-
3.0.105 Sep 2025Nothing published for this version
-
3.0.021 Aug 2025Release notes
Open source →RPC
Breaking
- Added a
slotproperty toEpochRewardsPeriodActiveErrorData - Added error data containing a
slotproperty toRpcCustomError::SlotNotEpochBoundary
Changes
- The subscription server now prioritizes processing received messages before sending out responses. This ensures that new subscription requests and time-sensitive messages like
PINGopcodes take priority over notifications.
Validator
Breaking
- When XDP is enabled, the validator process requires the
CAP_NET_RAW,CAP_NET_ADMIN,CAP_BPF, andCAP_PERFMONcapabilities. These can be configured in the systemd service file by settingCapabilityBoundingSet=CAP_NET_RAW CAP_NET_ADMIN CAP_BPF CAP_PERFMONunder the[Service]section or directly on the binary with the commandsudo 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) - Enabling XDP zero copy on systems configured with LACP bond requires manually passing
--experimental-retransmit-xdp-interface <real-interface>(e.g.:eno17395np0notbond0), as zero copy is only available on physical interfaces. - Require increased
memlocklimits - recommended setting isLimitMEMLOCK=2000000000in systemd service configuration. Lack of sufficient limit (on Linux) will cause startup error. - Remove deprecated arguments
--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- Use
--replay-forks-threadswith a value of4to match preexisting behavior
- Use
--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
- Deprecated snapshot archive formats have been removed and are no longer loadable.
- Using
--snapshot-interval-slots 0to disable generating snapshots has been removed. Use--no-snapshotsinstead. - Validator will now bind all ports within provided
--dynamic-port-range, including the client ports. A range of at least 25 ports is recommended to avoid failures to bind during startup. - Agave and agave-ledger-tool can no longer operate with legacy shreds. Legacy shreds have not been in circulation since the activation of https://explorer.solana.com/address/GV49KKQdBNaiv2pgqhS2Dy3GWYJGXMTVYbYkdk91orRy. This change may break operations with old ledgers that may still contain legacy shreds.
Changes
--transaction-structure viewis now the default.- The default full snapshot interval is now 100,000 slots.
SOLANA_BANKING_THREADSenvironment variable is no longer supported. Use--block-prouduction-num-workersinstead.- By default,
agave-validator exitwill now wait for the validator process to terminate before returning. The--wait-for-exitflag has been deprecated, but operators can still opt out with the new--no-wait-for-exitflag.
- Added a
-
2.3.1310 Oct 2025Nothing published for this version
-
2.3.1201 Oct 2025Nothing published for this version
-
2.3.1126 Sep 2025Nothing published for this version
-
2.3.1019 Sep 2025Nothing published for this version
-
2.3.912 Sep 2025Nothing published for this version
-
2.3.805 Sep 2025Nothing published for this version
-
2.3.708 Aug 2025Nothing published for this version
-
2.3.626 Jul 2025Nothing published for this version
-
2.3.518 Jul 2025Nothing published for this version
-
2.3.412 Jul 2025Nothing published for this version
-
2.3.303 Jul 2025Nothing published for this version
-
2.3.227 Jun 2025Nothing published for this version
-
2.3.120 Jun 2025Nothing published for this version
-
2.2.2011 Jul 2025Nothing published for this version
-
2.2.1903 Jul 2025Nothing published for this version
-
2.2.1826 Jun 2025Nothing published for this version
-
2.2.706 Apr 2025Nothing published for this version
-
2.2.629 Mar 2025Nothing published for this version
-
2.2.424 Mar 2025Nothing published for this version
-
2.2.315 Mar 2025Nothing published for this version
-
2.2.211 Mar 2025Nothing published for this version