Skip to content

Releases: algorand/go-algorand

Algorand 3.26.0

02 Oct 14:34
0d10b24
Compare
Choose a tag to compare

GitHub Logo

Overview

This release adds experimental support for libp2p networking, a major advance for Algorand decentralization. We would like to emphasize that this support is in preview mode only, and not recommended for production use cases yet.

What's New

  • libp2p networking support (experimental preview)
  • AVM enhancements
  • Mac OS X universal binary

Changelog

New Features

  • Network: p2p traffic exchange for algorand node (#5939)

Enhancements

  • AVM: Derive looser, but more principled, checks of txn max size (#6114)
  • AVM: Provide access to some more block header values (#6107)
  • AVM: Expose relevant incentive constants (#6025)
  • Algons: expose error for dnsaddr command (#6121)
  • Build: add universal Mac make target (#6023)
  • Ci: update nightly builds to use universal mac update (#6071)
  • Cicd: remove mac AMD64 support from circleci (#6036)
  • Cmd: Add goal node subcommand to generate peer private key (#6078)
  • Config: use P2PHybridIncomingConnectionsLimit only for hybrid mode (#6103)
  • Config: Expose merged configuration for easier debugging (#6049)
  • Config: Add warning if EndpointAddress and NetAddress ports are equal (#6006)
  • Config: Add GoMemLimit config option and use with 10-node test (#5975)
  • Docs: p2p package overview (#6096)
  • Installer: add support for algoh to systemd installs (#6102)
  • Logging: change transaction pool re-evaluation message from warn to info (#6047)
  • Metrics: collect total netdev sent/received bytes (#6108)
  • Metrics: Add algod version to metrics (#6003)
  • Netgoal: allow unknown template tokens (#6091)
  • Network: remove ws net proto 2.1 (#6081)
  • Network: use http.ResponseController instead of GetHTTPRequestConnection (#6044)
  • Network: Allow short-lived connections to query /status endpoint when at full capacity (#6009)
  • P2p: store private keys as PKCS#8 ASN.1 DER PEM (#6119)
  • P2p: Add algod_network_p2p_* traffic metrics (#6105)
  • P2p: get rid of interface{} from PeerStore methods (#6101)
  • P2p: handle txns in pubsub validator (#6070)
  • P2p: do not advertise private and non-routable addresses (#6092)
  • P2p: support EnableGossipService in p2p streams (#6073)
  • P2p: hybrid node net identity for connection deduplication (#6035)
  • P2p: Introduce profiles for hybridRelay, hybridArchival, and hybridClient. (#6062)
  • P2p: Disable circuit relaying via libp2p.NoListenAddrs (#6064)
  • REST API: make RawTransactionAsync developer API (#6069)
  • Scripts: allow metrics filtering by labels in metrics_viz.py (#6125)
  • Tests: set pprof labels for goroutines that use the same code for different cases (#4350)
  • Tests: preserve logs on LibGoalFixture failure (#6030)

Bugfixes

  • Algod: fix telemetry lookup if phonebook is used (#6061)
  • Catchup: skip logging err for catchup cancellation (#6053)
  • Catchup: do not loop forever if there is no peers (#6037)
  • Ci: fix mac universal rebuild for nightlies (#6084)
  • Ci: update to CentOS Stream 9 and start integrating universal target (#6080)
  • Ci: increase artifact upload timeout (#6050)
  • Cicd: fix broken ci-build target (#6087)
  • Config: ensure both ws and p2p net running the same mode in hybrid (#6130)
  • Ledger: restore block listeners on reloadLedger (#6041)
  • Legacy Docker: pin ubuntu version (#6028)
  • Network: fix outgoing HTTP rate limiting (#6118)
  • Network: fix publicKeyIdentTracker data race in hybrid mode (#6110)
  • Node: clear new p2p net handlers on fast catchup (#6127)
  • Node: close ledger and part keys on node shutdown (#6039)
  • P2p: reuse existing libp2p.Host for http clients (#6129)
  • P2p: make sure p2p http server runs on all interfaces (#6123)
  • P2p: do not register closing peer (#6086)
  • P2p: fix connection deduplication in hybrid mode (#6082)
  • REST API: Fix LedgerStateDelta JSON encoding (#6106)
  • REST API: Fix to Disable API authentication (#6067)
  • Simulate: fix signers (#5942)
  • Tests: fix expect tests and add EOF linter (#6122)
  • Tests: fix a race in TestP2PwsStreamHandlerDedup (#6116)
  • Tests: fix e2e subs goal-partkey-commands (#6095)
  • Tests: fix flushing in TestVotersReloadFromDiskAfterOneStateProofCommitted (#6090)
  • Tests: fix concurrent accout commits in TestLedgerVerifiesOldStateProofs (#6060)
  • Tests: fix TestVotersReloadFromDiskAfterOneStateProofCommitted (#6024)
  • Txhandler: fix TestTxHandlerAppRateLimiter (#6075)

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand BetaNet 3.26.0

24 Sep 14:30
c44aba5
Compare
Choose a tag to compare

GitHub Logo

Overview

This release adds experimental support for libp2p networking, a major advance for Algorand decentralization. We would like to emphasize that this support is in preview mode only, and not recommended for production use cases yet.

What's New

  • libp2p networking support (experimental preview)
  • AVM enhancements
  • Mac OS X universal binary

Changelog

New Features

  • Network: p2p traffic exchange for algorand node (#5939)

Enhancements

  • AVM: Derive looser, but more principled, checks of txn max size (#6114)
  • AVM: Provide access to some more block header values (#6107)
  • AVM: Expose relevant incentive constants (#6025)
  • Algons: expose error for dnsaddr command (#6121)
  • Build: add universal Mac make target (#6023)
  • Ci: update nightly builds to use universal mac update (#6071)
  • Cicd: remove mac AMD64 support from circleci (#6036)
  • Cmd: Add goal node subcommand to generate peer private key (#6078)
  • Config: use P2PHybridIncomingConnectionsLimit only for hybrid mode (#6103)
  • Config: Expose merged configuration for easier debugging (#6049)
  • Config: Add warning if EndpointAddress and NetAddress ports are equal (#6006)
  • Config: Add GoMemLimit config option and use with 10-node test (#5975)
  • Docs: p2p package overview (#6096)
  • Installer: add support for algoh to systemd installs (#6102)
  • Logging: change transaction pool re-evaluation message from warn to info (#6047)
  • Metrics: collect total netdev sent/received bytes (#6108)
  • Metrics: Add algod version to metrics (#6003)
  • Netgoal: allow unknown template tokens (#6091)
  • Network: remove ws net proto 2.1 (#6081)
  • Network: use http.ResponseController instead of GetHTTPRequestConnection (#6044)
  • Network: Allow short-lived connections to query /status endpoint when at full capacity (#6009)
  • P2p: store private keys as PKCS#8 ASN.1 DER PEM (#6119)
  • P2p: Add algod_network_p2p_* traffic metrics (#6105)
  • P2p: get rid of interface{} from PeerStore methods (#6101)
  • P2p: handle txns in pubsub validator (#6070)
  • P2p: do not advertise private and non-routable addresses (#6092)
  • P2p: support EnableGossipService in p2p streams (#6073)
  • P2p: hybrid node net identity for connection deduplication (#6035)
  • P2p: Introduce profiles for hybridRelay, hybridArchival, and hybridClient. (#6062)
  • P2p: Disable circuit relaying via libp2p.NoListenAddrs (#6064)
  • REST API: make RawTransactionAsync developer API (#6069)
  • Scripts: allow metrics filtering by labels in metrics_viz.py (#6125)
  • Tests: set pprof labels for goroutines that use the same code for different cases (#4350)
  • Tests: preserve logs on LibGoalFixture failure (#6030)

Bugfixes

  • Algod: fix telemetry lookup if phonebook is used (#6061)
  • Catchup: skip logging err for catchup cancellation (#6053)
  • Catchup: do not loop forever if there is no peers (#6037)
  • Ci: fix mac universal rebuild for nightlies (#6084)
  • Ci: update to CentOS Stream 9 and start integrating universal target (#6080)
  • Ci: increase artifact upload timeout (#6050)
  • Cicd: fix broken ci-build target (#6087)
  • Config: ensure both ws and p2p net running the same mode in hybrid (#6130)
  • Ledger: restore block listeners on reloadLedger (#6041)
  • Legacy Docker: pin ubuntu version (#6028)
  • Network: fix outgoing HTTP rate limiting (#6118)
  • Network: fix publicKeyIdentTracker data race in hybrid mode (#6110)
  • Node: clear new p2p net handlers on fast catchup (#6127)
  • Node: close ledger and part keys on node shutdown (#6039)
  • P2p: reuse existing libp2p.Host for http clients (#6129)
  • P2p: make sure p2p http server runs on all interfaces (#6123)
  • P2p: do not register closing peer (#6086)
  • P2p: fix connection deduplication in hybrid mode (#6082)
  • REST API: Fix LedgerStateDelta JSON encoding (#6106)
  • REST API: Fix to Disable API authentication (#6067)
  • Simulate: fix signers (#5942)
  • Tests: fix expect tests and add EOF linter (#6122)
  • Tests: fix a race in TestP2PwsStreamHandlerDedup (#6116)
  • Tests: fix e2e subs goal-partkey-commands (#6095)
  • Tests: fix flushing in TestVotersReloadFromDiskAfterOneStateProofCommitted (#6090)
  • Tests: fix concurrent accout commits in TestLedgerVerifiesOldStateProofs (#6060)
  • Tests: fix TestVotersReloadFromDiskAfterOneStateProofCommitted (#6024)
  • Txhandler: fix TestTxHandlerAppRateLimiter (#6075)

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand 3.25.0

17 Jun 14:50
9855f57
Compare
Choose a tag to compare

GitHub Logo

Overview

What's New

  • Network optimization - fixes for ERL resources management
  • Performance enhancement - add expired stake cache to reduce db lookups
  • Miscellaneous debugging improvements
  • Other bug fixes, test improvements, and optimizations

Changelog

New Features

  • REST API: /debug/settings/pprof admin endpoint for debugging (#6018)

Enhancements

  • AVM: incentive opcodes (#5984)
  • Agreement: log current player state for VoteBroadcast and ProposalBroadcast events (#6007)
  • Build: bump golang.org/x/net from 0.17.0 to 0.23.0 (#5979)
  • Ci: upgrade github checkout action to v4 (#6010)
  • Cicd: Update to switch e2e_expect to large (#6004)
  • Ledger: introduce expired stake cache (#6014)
  • Metrics: Add TagCounterFiltered metrics for handler calls (#6013)
  • Typos: Correct some spelling mistakes (#6001)

Bugfixes

  • Cicd: update OS support in test release script (#6012)
  • Logger: fix data race in tests (#5999)
  • Tests: set communication timeout in kmd.init_wallet_handle (#6021)
  • Tests: Fix flakey htlc test (#6017)
  • Tests: Fix e2e kmd timeout (#6016)
  • Tests: Fix flakey ECDSA testing (#6005)
  • Tools: Fix Cloudflare SRV update utility after API change (#6020)
  • Txhandler: fixes to ERL resources management (#6019)

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand BetaNet 3.25.0

12 Jun 15:02
26362ad
Compare
Choose a tag to compare

GitHub Logo

Overview

What's New

  • Network optimization - fixes for ERL resources management
  • Performance enhancement - add expired stake cache to reduce db lookups
  • Miscellaneous debugging improvements
  • Other bug fixes, test improvements, and optimizations

Changelog

New Features

  • REST API: /debug/settings/pprof admin endpoint for debugging (#6018)

Enhancements

  • Agreement: log current player state for VoteBroadcast and ProposalBroadcast events (#6007)
  • Build: bump golang.org/x/net from 0.17.0 to 0.23.0 (#5979)
  • Ci: upgrade github checkout action to v4 (#6010)
  • Cicd: Update to switch e2e_expect to large (#6004)
  • Ledger: introduce expired stake cache (#6014)
  • Metrics: Add TagCounterFiltered metrics for handler calls (#6013)
  • Typos: Correct some spelling mistakes (#6001)

Bugfixes

  • Cicd: update OS support in test release script (#6012)
  • Logger: fix data race in tests (#5999)
  • Tests: set communication timeout in kmd.init_wallet_handle (#6021)
  • Tests: Fix flakey htlc test (#6017)
  • Tests: Fix e2e kmd timeout (#6016)
  • Tests: Fix flakey ECDSA testing (#6005)
  • Tools: Fix Cloudflare SRV update utility after API change (#6020)
  • Txhandler: fixes to ERL resources management (#6019)

Protocol Upgrade

This release does not contain a protocol upgrade.


NOTE
vFuture changes are not yet available in MainNet or TestNet but can be used in private networks.

  • AVM: incentive opcodes (#5984)

Additional Resources

Algorand 3.24.0

20 May 14:30
5c2cf06
Compare
Choose a tag to compare

GitHub Logo

Overview

This release provides important enhancements and bug fixes to improve ease of use and stability.

Important Note

This release includes a migration, which may take a few minutes to complete. Due to the impact, we recommend applying this update progressively if running multiple nodes, to avoid large periods of concurrent inaccessibility.

What's New

  • Golang 1.21 support
  • Experimental full assets for account endpoint API support
  • Full logs for block support
  • Fix for log rotation when cold dirs are used

Changelog

Enhancements

  • API: Experimental full assets for account endpoint. (#5948)
  • API: blocks/{round}/logs endpoint (#5865)
  • Build: Go 1.21 Support (#5994)
  • Build: support SWAGGER_CONVERTER_API override (#5968)
  • Build: bump golang.org/x/crypto from 0.14.0 to 0.17.0 (#5877)
  • Crypto: convert BatchVerifier to interface (#5988)
  • Docker: Remove usage of gosu and replace with su (#5951)
  • Metrics: support labeled gauges (#5956)
  • Node: remove unused node GetTransaction and ListTxns methods (#5983)
  • Scripts: update buildnumber to use timezone-aware datetime (#5971)
  • Tests: Stabilize nightly tests. (#5992)
  • Tests: Fix flakey incentive e2e tests (#5986)
  • Tests: Allow go e2e tests to easily test multiple consensus versions (#5981)
  • Tests: Thread testing.T through so we panic less (#5938)
  • Tools: Revert "feat: add support to display mnemonic discreetly for algokey generate" (#5974)

Bugfixes

  • Catchpoint: fix data files deletion in hot/cold dirs scenario (#5963)
  • Tests: Fix AccountsUpdateSchemaTest ignoring error bug (#5985)
  • Utils: Renaming files across devices (#5977)

Protocol Upgrade

This release does not contain a protocol upgrade.


NOTE
vFuture changes are not yet available in MainNet or TestNet but can be used in private networks.

  • Incentives: Suspend "absentee" accounts that don't propose. (#5757)

Additional Resources

Algorand BetaNet 3.24.0

13 May 15:47
5466548
Compare
Choose a tag to compare

GitHub Logo

Overview

This release provides important enhancements and bug fixes to improve ease of use and stability.

Important Note

This release includes a migration, which may take a few minutes to complete.

What's New

  • Golang 1.21 support
  • Experimental full assets for account endpoint API support
  • Full logs for block support
  • Fix for log rotation when cold dirs are used

Changelog

Enhancements

  • API: Experimental full assets for account endpoint. (#5948)
  • API: blocks/{round}/logs endpoint (#5865)
  • Build: Go 1.21 Support (#5994)
  • Build: support SWAGGER_CONVERTER_API override (#5968)
  • Build: bump golang.org/x/crypto from 0.14.0 to 0.17.0 (#5877)
  • Crypto: convert BatchVerifier to interface (#5988)
  • Docker: Remove usage of gosu and replace with su (#5951)
  • Metrics: support labeled gauges (#5956)
  • Node: remove unused node GetTransaction and ListTxns methods (#5983)
  • Scripts: update buildnumber to use timezone-aware datetime (#5971)
  • Tests: Stabilize nightly tests. (#5992)
  • Tests: Fix flakey incentive e2e tests (#5986)
  • Tests: Allow go e2e tests to easily test multiple consensus versions (#5981)
  • Tests: Thread testing.T through so we panic less (#5938)
  • Tools: Revert "feat: add support to display mnemonic discreetly for algokey generate" (#5974)

Bugfixes

  • Catchpoint: fix data files deletion in hot/cold dirs scenario (#5963)
  • Tests: Fix AccountsUpdateSchemaTest ignoring error bug (#5985)
  • Utils: Renaming files across devices (#5977)

Protocol Upgrade

This release does not contain a protocol upgrade.


NOTE
vFuture changes are not yet available in MainNet or TestNet but can be used in private networks.

  • Incentives: Suspend "absentee" accounts that don't propose. (#5757)

Additional Resources

Algorand 3.23.1

20 Mar 14:31
34171a9
Compare
Choose a tag to compare

GitHub Logo

Overview

This release is focused on providing the necessary software functionality for non-archival relays on the network. It includes promoting archival nodes to first class citizens that can be resolved as their own class of nodes.

What's New

  • Full support for non-archival relay nodes
  • SRV record resolution of dedicated archival nodes

Changelog

New Features

  • Network: Class-based Peer Selector (#5937)

Enhancements

  • Archival Support: Remove configurable support for catching up from "archivers" (#5920)
  • Blocks: Bump min to save based on catchpoint support (#5927)
  • Build: upgrade to go 1.20.14 (#5949)
  • Docker: Bump debian version in algod container (#5955)
  • Feat: add support to display mnemonic discreetly for algokey generate (#5886)
  • Netgoal: Use --last-part-key-round when generating a goalnet template (#5912)
  • Network: Penalize peer/class rankings when peer does not have catchpoint (#5959)
  • Network: Support simple liveness check via http on gossip server port. (#5944)
  • Network: Archival node DNS Resolution (#5940)

Bugfixes

  • Cicd: fix package signing issues (#5934)
  • Network: use network context for DNS operations in readFromSRV (#5936)

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand BetaNet 3.23.1

16 Mar 20:27
5604f7f
Compare
Choose a tag to compare

GitHub Logo

Overview

This release fixes an issue where peers were not ranked for performance serving catchpoints.

Changelog

Enhancements

  • Docker: Bump debian version in algod container (#5955)

Bugfixes

  • Network: Penalize peer/class rankings when peer does not have catchpoint (#5959)

Protocol Upgrade

This release does not contain a protocol upgrade.


Additional Resources

Algorand BetaNet 3.23.0

12 Mar 17:23
58fea01
Compare
Choose a tag to compare

GitHub Logo

Overview

This release is focused on providing the necessary software functionality for non-archival relays on the network. It includes promoting archival nodes to first class citizens that can be resolved as their own class of nodes.

What's New

  • Full support for non-archival relay nodes
  • SRV record resolution of dedicated archival nodes

Changelog

New Features

  • Network: Class-based Peer Selector (#5937)

Enhancements

  • Archival Support: Remove configurable support for catching up from "archivers" (#5920)
  • Blocks: Bump min to save based on catchpoint support (#5927)
  • Feat: add support to display mnemonic discreetly for algokey generate (#5886)
  • Netgoal: Use --last-part-key-round when generating a goalnet template (#5912)
  • Network: Support simple liveness check via http on gossip server port. (#5944)
  • Network: Archival node DNS Resolution (#5940)
  • Build: Upgrade to Go 1.20.14

Bugfixes

  • Cicd: fix package signing issues (#5934)
  • Network: use network context for DNS operations in readFromSRV (#5936)

Protocol Upgrade

This release does not contain a protocol upgrade.


Additional Resources

Algorand 3.22.1

05 Mar 06:17
08407ca
Compare
Choose a tag to compare

GitHub Logo

Overview

Please apply this upgrade at your earliest convenience.

Changelog

Bug Fix

  • AVM: Consider the current auth addr for each inner txn

Protocol Upgrade

This release does not contain a protocol upgrade.


Additional Resources