Skip to content

Conversation

@Algo-devops-service
Copy link
Contributor

@Algo-devops-service Algo-devops-service commented Nov 6, 2025

GitHub Logo

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.

Additional Resources

cce and others added 30 commits August 27, 2025 17:55
This adds a pure-Go ed25519 BatchVerifier implementation based on the ed25519consensus library, with additional checks to preserve our ed25519 validation criteria, last updated in algorand#3031.

Like our libsodium batch verification implementation, the IsCanonicalY check here is also based on the "Taming the Many EdDSAs" paper in https://eprint.iacr.org/2020/1244

New tests added to compare ed25519 criteria results match our existing libsodium- and ed25519-donna-based batch verification implementation (from algorand#3031 and defined in algorandfoundation/specs#60). New test helpers run test vectors with different batch sizes, taken from
- 12 edge cases from "Taming the many EdDSAs" Appendix C, Table 6c, also used in our libsodium fork's tests in batch verification: add ed25519 batch verification implementation algorand#3031
- 1025 successful cases from our libsodium fork's tests, also added in batch verification: add ed25519 batch verification implementation algorand#3031.
- 196 edge cases used to draw the 14x14 grid visualizations from the blog post "It's 255:19AM. Do you know what your validation criteria are?" and used in ed25519consensus
- 768 edge cases from the Go crypto package's crypto/ed25519/ed25519vectors_test.go
cce and others added 20 commits October 21, 2025 15:02
…lgorand#6464)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gary Malouf <[email protected]>
…18.1 (algorand#6478)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gary Malouf <[email protected]>
Co-authored-by: cce <[email protected]>
…6466)

This follows algorand#6351 by integrating it with the WebsocketNetwork implementation, using a new VP message tag.

Co-authored-by: Pavel Zbitskiy <[email protected]>
Co-authored-by: John Jannotti <[email protected]>
@codecov
Copy link

codecov bot commented Nov 6, 2025

Codecov Report

❌ Patch coverage is 80.40693% with 260 lines in your changes missing coverage. Please review.
✅ Project coverage is 47.58%. Comparing base (7a0ce67) to head (b7863ee).
⚠️ Report is 1 commits behind head on rel/stable.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
protocol/transcode/core.go 51.89% 31 Missing and 7 partials ⚠️
protocol/codec_tester.go 0.00% 23 Missing ⚠️
network/msgCompressor.go 72.83% 17 Missing and 5 partials ⚠️
network/p2p/p2p.go 0.00% 19 Missing ⚠️
cmd/nodecfg/untar.go 0.00% 17 Missing ⚠️
config/localTemplate.go 11.76% 15 Missing ⚠️
network/p2pNetwork.go 79.03% 11 Missing and 2 partials ⚠️
network/vpack/dynamic_vpack.go 96.39% 7 Missing and 5 partials ⚠️
network/wsPeer.go 91.57% 6 Missing and 2 partials ⚠️
ledger/testing/testGenesis.go 0.00% 7 Missing ⚠️
... and 35 more
Additional details and impacted files
@@              Coverage Diff               @@
##           rel/stable    #6487      +/-   ##
==============================================
- Coverage       50.81%   47.58%   -3.24%     
==============================================
  Files             664      666       +2     
  Lines          111448    88505   -22943     
==============================================
- Hits            56634    42115   -14519     
+ Misses          51941    43631    -8310     
+ Partials         2873     2759     -114     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@algojohnlee algojohnlee merged commit 7b607ce into algorand:rel/stable Nov 7, 2025
120 of 124 checks passed
@onetechnical onetechnical deleted the relstable4.4.1 branch November 7, 2025 15:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.