Skip to content

Releases: algorand/go-algorand

Algorand BetaNet 4.3.0

03 Sep 15:41
7a0ce67
Compare
Choose a tag to compare

GitHub Logo

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:

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

05 Aug 14:31
a9c634f
Compare
Choose a tag to compare

GitHub Logo

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

01 Aug 17:46
32dc751
Compare
Choose a tag to compare

GitHub Logo

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

  • Ci: run PR tests on release PRs (#6390)
  • Config: update diagcfg to properly set globalDir (#6394)

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand BetaNet 4.2.0

30 Jul 19:26
0c59a4f
Compare
Choose a tag to compare

GitHub Logo

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

02 Jun 14:32
088f89d
Compare
Choose a tag to compare

GitHub Logo

Overview

This release rolls back box API pagination.

What's New

Changelog

Bugfixes

  • Revert "Test: Wait for the box list to be for the commit round (#6294)"
  • Revert "API: box paging (#6279)"

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand BetaNet 4.1.2

29 May 19:39
46660d1
Compare
Choose a tag to compare

GitHub Logo

Overview

This release rolls back box API pagination.

What's New

Changelog

Bugfixes

  • Revert "Test: Wait for the box list to be for the commit round (#6294)"
  • Revert "API: box paging (#6279)"

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand 4.1.1

27 May 14:30
d7a2182
Compare
Choose a tag to compare

GitHub Logo

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

21 May 18:45
621410d
Compare
Choose a tag to compare

GitHub Logo

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

19 May 18:42
7c333ef
Compare
Choose a tag to compare

GitHub Logo

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

14 Apr 14:30
f3be4a3
Compare
Choose a tag to compare

GitHub Logo

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.

Additional Resources