Brings the v2 line up to parity with v1.24.0, plus one v2-only RPC fix. No new module-path or migration work — if you are already on v2.0.0, this is a normal upgrade.
Install
go get github.com/solana-foundation/solana-go/v2@v2.1.0
Minimum Go is now 1.25 (was 1.24 in v2.0.0), required by the upgraded golang.org/x/*, grpc and otel releases in #493.
Before you upgrade
1. rpc.VoteAccountsResult.EpochCredits is now [][]uint64 (was [][]int64) — #486. Epoch credits are unsigned in the JSON-RPC spec. This is v2-only; the compiler will flag anything that decodes into a signed type.
2. Confidential-balances key derivation changed — #485. zkencryption now uses the solana-conf-bal/v1 HKDF-SHA512 scheme, so the same signer derives different keys than v2.0.0 did. Balances encrypted under the old scheme will not decrypt with the new keys.
What's new
Token-2022 confidential transfers
- Proof generation API by @matthew-a-klein in #484
- API to construct confidential transfer instructions by @matthew-a-klein in #496
- Account info state structs and helpers by @matthew-a-klein in #497
- High-level API for extension instruction creation by @matthew-a-klein in #498
- Standardize key derivation on the wallet with a no-seed API by @gitteri in #495
ZK ElGamal
- Client API for the ZK ElGamal Proof program by @matthew-a-klein in #492
RPC
- Add
costUnitsto transaction meta by @sduchesneau in #494 - Add deactivated stake reward type by @moodbased in #491
- Decode
VoteAccountsepoch credits asuint64by @mindrunner in #486
Fixes & maintenance
FindProgramAddressno longer mutates or aliases the caller's seed slice by @chiliec in #490- Bump otel, x/net, x/crypto, grpc by @sonicfromnewyoke in #493
- Reduce workflow test count from 100 to 1 by @HealthyBuilder in #487
Staying on v1?
The v1 line continues from main (github.com/gagliardetto/solana-go, latest v1.24.0) and has everything above except the v2 API cleanups. v2 differs from v1 only by the module path and the breaking changes listed in the v2.0.0 release notes.
Full changelog: v2.0.0...v2.1.0