Releases: algorand/go-algorand
Algorand BetaNet 4.3.0
Overview
This consensus upgrade release makes enhances post-quantum resiliency in Algorand block headers, enables several notable AVM usability improvements, and makes various security/reliability enhancements.
What's New
- Enables SHA-512 hashing to the block header
- Introduces txn.Access list for access to more resources
- Enables the
falcon_verify
opcode - The format for multisigs on logic signatures has been updated
- Custom block followers will need to check both 'msig' and 'lmsig' when evaluating if a logic signature struct is empty
- SDK users will need to update their SDKs following the upgrade to restore full logic signature creation support
Protocol Upgrade
This release contains a protocol upgrade.
Note: The consensus upgrade will require conduit and indexer runners to upgrade to avoid stalling. You can find pre-release versions of these for the beta release here:
- https://github.com/algorand/conduit/releases/tag/v1.9.0-rc1
- https://github.com/algorand/indexer/releases/tag/v3.9.0-rc1
Changelog
Enhancements
- AVM: Prepare for falcon_verify in v12 (#6416)
- AVM: Allow access to boxes for apps made in the same group without explicit boxrefs (#6309)
- Apps: txn.Access list for access to more resources (#6286)
- Build: .gitignore .claude (#6409)
- Chore: Remove an unneeded consensus flag to simplify work on big programs (#6392)
- Ci: build Go cache on master merges (#6408)
- Ci: some improvements for faster PR builds (#6397)
- Consensus: Consensus version v41 upgrade. (#6422)
- Docs: v12 docs (#6418)
- Goal: add '--txid' flag for displaying TxID with 'goal clerk inspect' (#6401)
- Logic: add LogicSig.LMsig field (#6419)
- Tests: fix TestStateProofLogging (#6421)
- Txn: move/add asset txn validation into their own wellFormed methods (#6396)
Bugfixes
- Goal: minor text fix (#6404)
- Network: fix mesher stopping logic (#6406)
- Node: print repeating error to the node log (#6403)
Additional Resources
Algorand 4.2.1
Overview
This release is in preparation for general P2P support roll out. In this initial phase, you can opt-in by setting EnableP2PHybridMode: true
in your configuration .
What's New
- Several Reliability/Performance improvements to bring Hybrid P2P support to GA
- Privacy protection when making P2P connections
- Relay-relay network connection prioritization
- Updates of CentOS/Darwin build targets
- Logging that explicitly lays out what specific configurations are being 'auto-migrated'
Changelog
New Features
- Cicd: GitHub Actions workflows for nightly and PR tests (#6346)
Enhancements
- API: Avoid downstream generated type changes for pre-existing TransactionP… (#6375)
- Build: Use latest oapi-codegen instead of fork. (#6306)
- Build(deps): bump github.com/getkin/kin-openapi from 0.107.0 to 0.131.0 (#6326)
- Build(deps): bump github.com/pion/interceptor from 0.1.37 to 0.1.39 (#6362)
- Chore: Remove code that was need only during consensus update (#6371)
- Chore: Move allocbounds (#6324)
- Ci: add test result uploads and refactor nightly config (#6372)
- Cicd: switch nightly uploads to GitHub Actions (#6360)
- Config: reorg to allow use of basics (#6325)
- Crypto: add SHA-512 hashes (#6339)
- Dev: add auto-generated CLAUDE.md file (#6379)
- Libgoal: bump defaultKMDTimeoutSecs (#6353)
- Logging: log configuration migration messages (#6384)
- Network: disable pubsub PX for hybrid relays (#6385)
- Network: refactor networking mesh maintaining code (#6374)
- Network: do not use telemetry id for p2p nets (#6381)
- Network: add "uncompressed bytes by tag" metric (#6334)
- Network: enable vote compression for P2PNetwork (#6331)
- Node: fallback to ws or p2p on hybrid misconfiguration (#6376)
- Node Exporter: update binaries with new golang build and add arm64 support (#6387)
- Ops: Bump ubuntu and centos versions for building and testing (#6378)
- Refactor: use maps.Copy for cleaner map handling (#6373)
- Refactor: use slices.Contains to simplify code (#6357)
- Refactor: use the built-in max/min to simplify the code (#6338)
- Syntax: Use "type X" syntax instead of "type ( .... )" (#6364)
- Tests: test vFuture, so we are exercising branch512 (#6365)
Bugfixes
- API: Revert boxes pagination (#6343)
- API: Update 'value' in API Box type to be optional (reflecting updated get… (#6333)
- Agreement: fix mainLoop vs Shutdown race (#6349)
- Ci: run PR tests on release PRs (#6390)
- Cicd: fix short test flag and up parallelism (#6370)
- Cicd: fix upload and make e2e_subs_nightly required (#6369)
- Cicd: add missing AWS credential configuration to e2e_subs (#6368)
- Cicd: fix uploading testdata in nightlies (#6367)
- Cicd: fix upload and slack failure For GitHub Actions and update badges (#6366)
- Config: update diagcfg to properly set globalDir (#6394)
- Dev: fix darwin universal targets (#6383)
- Network: count received traffic before decompression (#6330)
- P2p: ignore initial no peers error in capabilities advertisement (#6310)
- Tests: fix flaky TestLedgerBlockHeaders UpgradeState check (#6382)
- Tests: waitFor was badly broken (#6359)
- Tests: be under 1A, not equal (#6335)
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand BetaNet 4.2.1
Overview
This patch release fixes a bug which inadvertently broke the behavior of the diagcfg
utility, which is used to configure telemetry.
What's New
- Fix
diagcfg
to properly set globalDir
Changelog
Bugfixes
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand BetaNet 4.2.0
Overview
This release is in preparation for general P2P support roll out. In this initial phase, you can opt-in by setting EnableP2PHybridMode: true
in your configuration .
What's New
- Several Reliability/Performance improvements to bring Hybrid P2P support to GA
- Privacy protection when making P2P connections
- Relay-relay network connection prioritization
- Updates of CentOS/Darwin build targets
- Logging that explicitly lays out what specific configurations are being 'auto-migrated'
Changelog
New Features
- Cicd: GitHub Actions workflows for nightly and PR tests (#6346)
Enhancements
- API: Avoid downstream generated type changes for pre-existing TransactionP… (#6375)
- Build: Use latest oapi-codegen instead of fork. (#6306)
- Build(deps): bump github.com/getkin/kin-openapi from 0.107.0 to 0.131.0 (#6326)
- Build(deps): bump github.com/pion/interceptor from 0.1.37 to 0.1.39 (#6362)
- Chore: Remove code that was need only during consensus update (#6371)
- Chore: Move allocbounds (#6324)
- Ci: add test result uploads and refactor nightly config (#6372)
- Cicd: switch nightly uploads to GitHub Actions (#6360)
- Config: reorg to allow use of basics (#6325)
- Crypto: add SHA-512 hashes (#6339)
- Dev: add auto-generated CLAUDE.md file (#6379)
- Libgoal: bump defaultKMDTimeoutSecs (#6353)
- Logging: log configuration migration messages (#6384)
- Network: disable pubsub PX for hybrid relays (#6385)
- Network: refactor networking mesh maintaining code (#6374)
- Network: do not use telemetry id for p2p nets (#6381)
- Network: add "uncompressed bytes by tag" metric (#6334)
- Network: enable vote compression for P2PNetwork (#6331)
- Node: fallback to ws or p2p on hybrid misconfiguration (#6376)
- Node Exporter: update binaries with new golang build and add arm64 support (#6387)
- Ops: Bump ubuntu and centos versions for building and testing (#6378)
- Refactor: use maps.Copy for cleaner map handling (#6373)
- Refactor: use slices.Contains to simplify code (#6357)
- Refactor: use the built-in max/min to simplify the code (#6338)
- Syntax: Use "type X" syntax instead of "type ( .... )" (#6364)
- Tests: test vFuture, so we are exercising branch512 (#6365)
Bugfixes
- API: Revert boxes pagination (#6343)
- API: Update 'value' in API Box type to be optional (reflecting updated get… (#6333)
- Agreement: fix mainLoop vs Shutdown race (#6349)
- Cicd: fix short test flag and up parallelism (#6370)
- Cicd: fix upload and make e2e_subs_nightly required (#6369)
- Cicd: add missing AWS credential configuration to e2e_subs (#6368)
- Cicd: fix uploading testdata in nightlies (#6367)
- Cicd: fix upload and slack failure For GitHub Actions and update badges (#6366)
- Dev: fix darwin universal targets (#6383)
- Network: count received traffic before decompression (#6330)
- P2p: ignore initial no peers error in capabilities advertisement (#6310)
- Tests: fix flaky TestLedgerBlockHeaders UpgradeState check (#6382)
- Tests: waitFor was badly broken (#6359)
- Tests: be under 1A, not equal (#6335)
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand 4.1.2
Algorand BetaNet 4.1.2
Algorand 4.1.1
Overview
This release includes several improvements for P2P networking, API enhancements, as well as bandwidth optimizations and further fixes.
What's New
- Network/Traffic optimizations
- Improvements to P2P networking
Changelog
New Features
- Build: Add preliminary RISC-V (riscv64) build support (#6285)
- Catchpointdump: support p2p nodes (#6266)
- Network: stateless vote compression (#6276)
Enhancements
- API: Enable gzip middleware and test for it (#6284)
- API: box paging (#6279)
- Algod: Add static EnableTelemetry retry (#6183)
- Apps: Add an auto incrementing Version field to apps (#6283)
- Build: stop duplicate library LDFLAGS warning (#6268)
- Build(deps): bump golang.org/x/net from 0.33.0 to 0.36.0 (#6275)
- Build(deps): bump jinja2 from 3.1.5 to 3.1.6 in /test/heapwatch (#6271)
- Ci: fix some linter advice for old code (#6315)
- Config: Add TELEMETRY_URL support for telemetry configuration (#6237)
- Goal: Improve logicsig with signer support for clerk send (#6180)
- Goal: non-interactive wallet creation with "wallet new --unencrypted --no-display-seed" (#6160)
- Goal: added "wallet rename" (#6161)
- Kmd: upgrade karalabe/usb to karalabe/hid (#6282)
- Network: remove GossipNode.BroadcastArray (#6281)
- Network: allow multi-role phonebook entries (#6131)
- Network: tiny speedup, less allocation (#6246)
- Network: enable vote compression for P2PNetwork (#6331)
- Node Exporter: update dependencies and add darwin universal support (#6280)
- P2p: reduce severity of failed capabilities advertisement (#6318)
- P2p: peer metainfo support (#6312)
- P2p: fan in incoming txns into backlog worker (#6126)
- Performance: Node benchmarking utility (#6198)
- REST API: genesis endpoint schema definition (#6157)
- Tests: Remove sd.Valid() (#6323)
- Tests: Wait for the box list to be for the commit round (#6294)
- Tools: rotate algoh logs (#6291)
- Txhandler: Use Ip Address Instead Of Ip: port pair (#6176)
- Txn: Refactor some stateless checks on transactions (#6287)
- Util: only set rlimit if needed (#6289)
Bugfixes
- API: Use integer and uint64 to better express the genesis schema (#6311)
- Catchpoint: handle loadFromDisk/recoverFromCrash during first stage correctly (#6290)
- Catchup: improve classBasedPeerSelector on small peer sets (#6277)
- Devops: fix golang version handling in bash scripts (#6288)
- Ledger: fix duplicate empty rows for suspended accounts (#6314)
- Ledger: fix exceeding offline rows in online accounts table (#6295)
- Network: close p2p conn in CloseWithoutFlush (#6308)
- Network: count received traffic before decompression (#6330)
- Network: fix peerstore Get/Put races (#6261)
- P2p: fix DHT FindPeer internal buffer size (#6299)
- P2p: fix http RoundTripper (#6267)
- Txhandler: do not drop accepted mgs (#6257)
- Util: implement GetTotalMemory for mac and windows (#6272)
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand BetaNet 4.1.1
Overview
This release enables vote compression in P2P networking.
What's New
- Enable vote compression for P2PNetwork
- Count traffic before decompression for analysis
Changelog
Bugfixes
- Network: count received traffic before decompression #6330)
Enhancements
- Network: enable vote compression for P2PNetwork #6331)
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand BetaNet 4.1.0
Overview
This release includes several improvements for P2P networking, API enhancements, as well as bandwidth optimizations and further fixes.
What's New
- Network optimizations
- Improvements to P2P networking
Changelog
New Features
- Build: Add preliminary RISC-V (riscv64) build support (#6285)
- Catchpointdump: support p2p nodes (#6266)
- Network: stateless vote compression (#6276)
Enhancements
- API: Enable gzip middleware and test for it (#6284)
- API: box paging (#6279)
- Algod: Add static EnableTelemetry retry (#6183)
- Apps: Add an auto incrementing Version field to apps (#6283)
- Build: stop duplicate library LDFLAGS warning (#6268)
- Build(deps): bump golang.org/x/net from 0.33.0 to 0.36.0 (#6275)
- Build(deps): bump jinja2 from 3.1.5 to 3.1.6 in /test/heapwatch (#6271)
- Ci: fix some linter advice for old code (#6315)
- Config: Add TELEMETRY_URL support for telemetry configuration (#6237)
- Goal: Improve logicsig with signer support for clerk send (#6180)
- Goal: non-interactive wallet creation with "wallet new --unencrypted --no-display-seed" (#6160)
- Goal: added "wallet rename" (#6161)
- Kmd: upgrade karalabe/usb to karalabe/hid (#6282)
- Network: remove GossipNode.BroadcastArray (#6281)
- Network: allow multi-role phonebook entries (#6131)
- Network: tiny speedup, less allocation (#6246)
- Node Exporter: update dependencies and add darwin universal support (#6280)
- P2P: reduce severity of failed capabilities advertisement (#6318)
- P2P: peer metainfo support (#6312)
- P2P: fan in incoming txns into backlog worker (#6126)
- Performance: Node benchmarking utility (#6198)
- REST API: genesis endpoint schema definition (#6157)
- Tests: Remove sd.Valid() (#6323)
- Tests: Wait for the box list to be for the commit round (#6294)
- Tools: rotate algoh logs (#6291)
- Txhandler: Use Ip Address Instead Of Ip: port pair (#6176)
- Txn: Refactor some stateless checks on transactions (#6287)
- Util: only set rlimit if needed (#6289)
Bugfixes
- API: Use integer and uint64 to better express the genesis schema (#6311)
- Catchpoint: handle loadFromDisk/recoverFromCrash during first stage correctly (#6290)
- Catchup: improve classBasedPeerSelector on small peer sets (#6277)
- Devops: fix golang version handling in bash scripts (#6288)
- Ledger: fix duplicate empty rows for suspended accounts (#6314)
- Ledger: fix exceeding offline rows in online accounts table (#6295)
- Network: close p2p conn in CloseWithoutFlush (#6308)
- Network: fix peerstore Get/Put races (#6261)
- P2P: fix DHT FindPeer internal buffer size (#6299)
- P2P: fix http RoundTripper (#6267)
- Txhandler: do not drop accepted mgs (#6257)
- Util: implement GetTotalMemory for mac and windows (#6272)
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand 4.0.3
Overview
This hotfix release fixes a couple catchpoint generation issues.
What's New
- Fix catchpoint label generation by better pruning of old online account data
- Fix issue if node is restarted while in first stage of catchpoint DB dump to disk
Changelog
Bugfixes
- Ledger: fix exceeding offline rows in online accounts table (#6295)
- Catchpoint: handle loadFromDisk/recoverFromCrash during first stage correctly (#6290)
- DevOps: fix golang version handling in bash scripts (#6288)
- Build: Bump Ubuntu version in codegen_verification job. (#6260)
Protocol Upgrade
This release does not contain a protocol upgrade.