Skip to content

Releases: algorand/go-algorand

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

Algorand BetaNet 3.22.1

05 Mar 21:27
eb702d4
Compare
Choose a tag to compare

GitHub Logo

Overview

This is a backport of v3.22.1-stable to beta. 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

Algorand 3.22.0

05 Feb 15:30
6b50897
Compare
Choose a tag to compare

GitHub Logo

Overview

This release includes networking optimization improvements, as well as starts laying the groundwork for non-archival relays.

Note: in this release, NetAddress will no longer automatically mark a node as archival, so if you were relying solely on NetAddress for this, you should also set Archival: true in your configuration before applying the upgrade. This is a rare configuration, but if you only had NetAddress set, this release will progressively delete blocks from your database until the node only has recent blocks (probably over multiple days while staying caught up to the chain). The sqlite database will not reclaim this disk automatically, so you may want to run a vacuum after it's complete by shutting down the node and running: sqlite3 data/mainnet-v1.0/ledger.block.sqlite "VACUUM"

If you intend to become non-archival (formerly as an archival node), your best path forward is a fresh install.

What's New

  • New archival node profile and changes to NetAddress defaults
  • Networking optimizations

Changelog

Enhancements

  • API: optimize /transactions/pending/{txid} endpoint (#5891)
  • API: Make maps the right size from the start (#5906)
  • AVM: Add a lot of type annotations to opcodes (#5902)
  • AVM: report structure txn failure info (#5875)
  • AVM: Require every global field to get tested (#5864)
  • Algocfg: Introduce new archival node algocfg profile. (#5893)
  • Blockdb: bound max deleted blocks per blockdb sync (#5910)
  • Chore: Update testing to use current python SDK. (#5861)
  • Config: Archival mode is no longer automatically enabled when netAddress is s… (#5904)
  • Docs: Updates to SECURITY.md (#5907)
  • Docs: Eliminate a unicode character that causes trouble in doc generation (#5866)
  • Network: Like #5906, but for messageFilter, optimize cache mem and speed (#5913)
  • Txhandler: kick in ARL at 1/2 of a base backlog capacity (#5873)

Bugfixes

  • AVM: Don't treat any as constant int in loads, stores (#5884)
  • Dryrun: Improve assembler error reporting (#5889)
  • Txhandler: fix ARL triggering without ERL (#5872)

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: Adding sumhash and falcon_verify (#5599)

Additional Resources

Algorand BetaNet 3.22.0

29 Jan 15:53
7a0cd10
Compare
Choose a tag to compare

GitHub Logo

Overview

This release includes networking optimization improvements, as well as starts laying the groundwork for non-archival relays.

Note: in this release, NetAddress will no longer automatically mark a node as archival, so if you were relying solely on NetAddress for this, you should also set Archival: true in your configuration before applying the upgrade. This is a rare configuration, but if you only had NetAddress set, this release will progressively delete blocks from your database until the node only has recent blocks (probably over multiple days while staying caught up to the chain). The sqlite database will not reclaim this disk automatically, so you may want to run a vacuum after it's complete by shutting down the node and running: sqlite3 data/mainnet-v1.0/ledger.block.sqlite "VACUUM"

If you intend to become non-archival (formerly as an archival node), your best path forward is a fresh install.

What's New

  • New archival node profile and changes to NetAddress defaults
  • Networking optimizations

Changelog

Enhancements

  • API: optimize /transactions/pending/{txid} endpoint (#5891)
  • API: Make maps the right size from the start (#5906)
  • AVM: Add a lot of type annotations to opcodes (#5902)
  • AVM: report structure txn failure info (#5875)
  • AVM: Require every global field to get tested (#5864)
  • Algocfg: Introduce new archival node algocfg profile. (#5893)
  • Blockdb: bound max deleted blocks per blockdb sync (#5910)
  • Chore: Update testing to use current python SDK. (#5861)
  • Config: Archival mode is no longer automatically enabled when netAddress is s… (#5904)
  • Docs: Updates to SECURITY.md (#5907)
  • Docs: Eliminate a unicode character that causes trouble in doc generation (#5866)
  • Network: Like #5906, but for messageFilter, optimize cache mem and speed (#5913)
  • Txhandler: kick in ARL at 1/2 of a base backlog capacity (#5873)

Bugfixes

  • AVM: Don't treat any as constant int in loads, stores (#5884)
  • Dryrun: Improve assembler error reporting (#5889)
  • Txhandler: fix ARL triggering without ERL (#5872)

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: Adding sumhash and falcon_verify (#5599)

Additional Resources

Algorand 3.21.0

09 Jan 15:30
2c32825
Compare
Choose a tag to compare

GitHub Logo

IMPORTANT
This release requires a protocol upgrade.
This release contains a consensus protocol upgrade, which implements the following spec: https://github.com/algorandfoundation/specs/tree/925a46433742afb0b51bb939354bd907fa88bf95

Overview

This release introduces dynamic round times, as well as additional AVM opcodes. This release contains a consensus upgrade, and will require upgrades of conduit/indexer as well.

What's New

  • Dynamic round times, which as configured will have the effect of shortening average round times
  • AVM: Elliptic curve opcodes on pairing friendly curves.
  • AVM: Opcode costs of LogicSigs is pooled across a transaction group.
  • AVM: Additional opcodes box_splice and box_resize

Changelog

Enhancements

  • AVM: Add global GenesisHash (#5858)
  • AVM: Add box_splice and box_resize opcodes (#5750)
  • Consensus: Enable dynamic round times in vfuture. (#5860)
  • Docs: participation key lifecycle. (#5847)
  • Network: fixes to public address support (#5851)
  • Round Times: Period 0 deadline timeout (#5850)
  • Round Times: Set minimum dynamic filter timeout to 2500ms. (#5853)
  • Tests: wait longer in TestTotalWeightChanges for larger nightly test network (#5841)

Bugfixes

  • Network: Use peer address after proxy fix for app rate limiter if available (#5848)
  • Simulate: Properly handle failing clear state programs (#5842)

Additional Resources

Algorand BetaNet 3.21.0

20 Dec 16:03
9c4f707
Compare
Choose a tag to compare

GitHub Logo

IMPORTANT
This release requires a protocol upgrade.
This release contains a consensus protocol upgrade, which implements the following spec: https://github.com/algorandfoundation/specs/tree/925a46433742afb0b51bb939354bd907fa88bf95

Overview

This release introduces dynamic round times, as well as additional AVM opcodes. This release contains a consensus upgrade, and will require upgrades of conduit/indexer as well.

What's New

  • Dynamic round times, which as configured will have the effect of shortening average round times
  • AVM: Elliptic curve opcodes on pairing friendly curves.
  • AVM: Opcode costs of LogicSigs is pooled across a transaction group.
  • AVM: Additional opcodes box_splice and box_resize

Changelog

Enhancements

  • AVM: Add global GenesisHash (#5858)
  • AVM: Add box_splice and box_resize opcodes (#5750)
  • Consensus: Enable dynamic round times in vfuture. (#5860)
  • Docs: participation key lifecycle. (#5847)
  • Network: fixes to public address support (#5851)
  • Round Times: Period 0 deadline timeout (#5850)
  • Round Times: Set minimum dynamic filter timeout to 2500ms. (#5853)
  • Tests: wait longer in TestTotalWeightChanges for larger nightly test network (#5841)

Bugfixes

  • Network: Use peer address after proxy fix for app rate limiter if available (#5848)
  • Simulate: Properly handle failing clear state programs (#5842)

Additional Resources

Algorand 3.20.1

07 Dec 15:32
6a6a15d
Compare
Choose a tag to compare

GitHub Logo

Overview

An endpoint to generate participation keys, network optimization, and other enhancements around catchpoints and catchup are included in this release.

Both the crash and state proof databases now default to the 'hot' data directory.

What's New

  • Participation key generation endpoint: a requested feature to allow the ability to generate API keys from the REST endpoint, provided you have the admin token.

Changelog

New Features

  • API: Add participation key generation endpoint to algod API (#5781)
  • Txhandler: applications rate limiter (#5734)

Enhancements

  • API: minor style improvements in keygen code. (#5786)
  • AVM: preserve line/column for assembler warnings (#5796)
  • AVM: Reorganize the crypto opcodes a bit to simplify incentive work (#5787)
  • Algocfg: Add print option to algocfg. (#5824)
  • Build: bump github.com/consensys/gnark-crypto from 0.12.0 to 0.12.1 (#5822)
  • Catchpoint: store certs with blocks during catchpoint restore (#5798)
  • Catchup: increase followLatestBackoff to 100ms (#5838)
  • Catchup: use specialized backoff behavior for follower mode (#5836)
  • Catchup: Dynamic parallel catchup (#5802)
  • Catchup: fetchAndWrite/fetchRound quit early on errNoBlockForRound (#5809)
  • Catchup: Provide more information to client when requested block not available (#5819)
  • Cgo: Properly manage memory passing from cgo to go on Batch Verifiers (#5700)
  • Chore: Cut out some useless allocations when computing payset commitments (#5840)
  • Chore: Remove one allocate per hash by using generics. (#5829)
  • Cleanup: Use Go 1.19 atomic types (#5792)
  • Config: add EnableGossipService option (#5832)
  • Config: move crash and stateproof DB defaults to hot dir (#5817)
  • Config: Update description for IncomingConnectionsLimit (#5789)
  • Docs: Add comment to initConsensusProtocols. (#5791)
  • Follower: update follower node error messages. (#5797)
  • Ledger: support WaitWithCancel for unsuccessful WaitForBlock API calls (#5814)
  • State Proofs: add block hash to LightBlockHeader (#5663)

Bugfixes

  • Catchup: Fix empty cert if ledger already has a block (#5846)
  • Catchup: pause catchup if ledger lagging behind (#5794)
  • Cicd: Fix RPM repository updating (#5790)
  • Ledger: make catchpoint generation backward compatible (#5598)
  • Tests: Fix flaky TestAccountSelected test (#5788)

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.

  • State Proofs: add block hash to LightBlockHeader (#5663)

Additional Resources