Brings the v2 line up to parity with v1.26.0. No module-path changes since v2.2.0.
Install
go get github.com/solana-foundation/solana-go/v2@v2.3.0
Minimum Go is now 1.26 (was 1.25 in v2.2.0), required by the golang.org/x/crypto v0.57.0 upgrade in #516. Go 1.25 is out of support and did not receive the CVE-2026-111943 fix, so Go 1.26.10 / 1.27.3 or later is recommended.
What's changed
Fixes
- Reject oversized element counts in
ExtendLookupTableandVoteStateUpdateinstruction decoding (#513) - Preserve numeric precision in jsonParsed instruction info (#488) — see the note below
- Restrict workflow token permissions and bump
x/net,x/crypto(#516)
Maintenance
Note on #488
Re-marshalling a parsed instruction's Parsed field now reproduces the node's numbers exactly: values above 2^53 keep their digits, and decoding them into a uint64 field no longer fails. Numbers also keep the node's original spelling (1.0 stays 1.0 rather than becoming 1), so JSON snapshot tests may show a diff even though the values are unchanged. Nothing else is observable outside the rpc package.
Staying on v1?
The v1 line continues from main (github.com/gagliardetto/solana-go, latest v1.26.0) and carries everything above. v2 differs from v1 only by the module path and the breaking changes listed in the v2.0.0 release notes, plus the VoteAccountsResult.EpochCredits type change from v2.1.0.
Full changelog: v2.2.0...v2.3.0