Overview
This release improves node efficiency, expands the foundation for post-quantum accounts, and strengthens security and reliability. It also brings AVM arithmetic enhancements and API optimizations.
What's New
- Performance: significantly reduced RAM and disk IO by algod running on default config.
- Post-quantum accounts: infrastructure for new signing schemes, including Falcon-512 and hybrid accounts.
- AVM: improved wide-integer arithmetic, including modular exponentiation, and stricter LogicSig argument validation.
- Security and stability: hardened DNSSEC validation, improved networking and ledger catchpoint processing.
Changelog
Enhancements
- API: compute block hash from header only in GetBlockHash (#6818)
- API: Update oapi-codegen to v2.8.1 and drop unused embedded specs (#6814)
- API: Stream JSON responses with encoding/json/v2 (#6808)
- Account: refactor participation registry (#6743)
- Agreement: enable zstd-compressed crash recovery snapshots (#6781)
- Agreement: delete old router.Children entries in-place (#6724)
- AVM: Bmath handrolled (#6805)
- Build: use Go 1.27.3 (#6794)
- Chore: remove gorilla/mux (#6804)
- Ci: update coverage reports to always show full cross-package coverage information (#6740)
- Ci: bind nightly/PR workflow inputs via env before shell (#6694)
- Crypto: print digests, keys and signatures as hex (#6798)
- Dnssec: check embedded root anchor vs iana.org live in CI (#6785)
- Docs: AVM opcode documentation audit (#6690)
- Goal: show registration status in account partkeyinfo (#6748)
- Lint: enable the forbidigo testify Error ban in crypto/ and network/ (#6811)
- Msgp: Upgrade msgp to 1.1.66 (#6774)
- Rpcs: use generated msgpack code for txsync and block services (#6729)
- Txpool: skip calling GenerateBlock if no proposers (#6754)
- Transactions: reject group duplicates, remove obsolete checks (#6728)
- Transactions: memory efficient verified transaction caching (#6711)
- Txn: collect each PQ scheme's description into one table (#6772)
- Txn: drop the pre-v42 PQSigEnabled gate (#6758)
- Txpool: statusCache with encoded txns (#6716)
- Txsync: fix double logging (#6725)
- X-repo-types: allow the SDK to lag on vFuture-only consensus params (#6796)
Bugfixes
- API: Fix sort order of TEAL key-value state (#6809)
- Cicd: Use UCRT binaries in Windows build test (#6745)
- Config: don't fail restart when stateproof/crash DBs are already in HotDataDir (#6732)
- Ledger: unblock the catchpoint hash reader if the trie writer stops (#6715)
- Network: fix peer registration and release around Stop (#6750)
- Network: fix P2P bootstrap DNS lookups (#6807)
- Network: bind DNSSEC answers to queries (#6783)
- Network: claim outgoing throttle slots when the peer is registered (#6751)
- Network: harden DNSSEC key and signature validation (#6770)
- Network: stop postMessagesOfInterestThread on shutdown (#6762)
- P2p: track handleConnected termination (#6744)
- Passphrase: fix empty trailing line (#6709)
- Simulate: fix AppBudgetAdded accounting for inner groups (#6708)
- Tests: Fix, or make clearer, various potential 32bit arch int issues (#6803)
Not Yet Enabled
- AVM: bmodexp and other wide math improvements (#6788)
- AVM: Disallow logicsig args that are not read (#6737)
- Crypto: add Falcon-512 support alongside Falcon-1024 (#6703)
- AVM: add mldsa_verify (#6806)
- Txn: add the ls post-quantum account scheme for LogicSigs (#6741)
- Txn: Ed25519 hashed accounts (ed under pqsig) (#6738)
Protocol Upgrade
This release does not contain a protocol upgrade.
