Overview
This release includes key updates to relay networking performance, stateful vote compression, and an upgrade to Golang 1.25 along with several bug fixes and test improvements.
Changelog
Enhancements
- AVM: sha512 opcode, txn commitments, (#6424)
- Build: use Go 1.25 (#6468)
- Build(deps): bump github.com/quic-go/quic-go from 0.48.2 to 0.49.1 (#6464)
- Ci: migrate to golangci-lint v2 (#6473)
- Cmds: Allow Arrays To Be Marked ": b64" (#6436)
- Config: add EnableBatchVerification option (#6454)
- Crypto: add go-based BatchVerifier implementation (#6440)
- Eval: call WellFormed from eval.transaction (#6450)
- Eval: Make counts and maxCounts simple values, not pointers (#6442)
- Network: add VP message type for stateful vote compression (#6466)
- Network: wsnet with p2p backup meshing strategy (#6391)
- Network: dynamic vote compression (#6351)
- Network: simplify UnicastPeer interface (#6452)
- Tests: Cover all wellFormed asset errors and small 0 axfer e2e test (#6417)
- Tests: Use NearZeros to make simple Equal() tests (#6458)
- Tests: expect tests for pingpong (#6427)
- Transactions: remove redundant arg from VerifiedTransactionCache (#6444)
Bugfixes
- Agreement: Fix for missing votes telemetry with logging level less than info (#6447)
- Build(deps): bump github.com/consensys/gnark-crypto from 0.12.1 to 0.18.1 (#6478)
- Ci: enable error-handling linters and fix a few bugs (#6479)
- Db: fix db.Initialize() sqlite3 error checking, add errortype linter (#6477)
- Network: call erlIPClient.m.Unlock() before calling OnClose() (#6451)
- Network: don't send VP in MOI messages if unsupported by remote peer (#6484)
- Pingpong: fix regression when making app calls (#6425)
- Teal: Fix panic when checking macro names containing non-ASCII runes (#6461)
- Tests: fix logging after TestP2PHTTPHandler finishes (#6469)
- Tests: fix flaky e2e multisig tests (#6475)
Protocol Upgrade
This release does not contain a protocol upgrade.
