Releases: algorand/go-algorand
Algorand 3.23.1
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
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
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
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
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
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 inloads
,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
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 inloads
,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
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
andbox_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
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
andbox_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
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)