Releases: algorand/go-algorand
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)
Additional Resources
Algorand BetaNet 3.20.1
Overview
Optimizations and a bug fix for catchup.
Changelog
Enhancements
- 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)
- Config: add EnableGossipService option (#5832)
Bug Fix
- Catchup: Fix empty cert if ledger already has a block (#5846)
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
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)
Algorand BetaNet 3.20.0
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
Enhancements
- Txhandler: applications rate limiter (#5734)
Enhancements
- Algocfg: Add print option to algocfg. (#5824)
- 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)
- 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: Dynamic parallel catchup (#5802)
- Catchup: fetchAndWrite/fetchRound quit early on errNoBlockForRound (#5809)
- Catchup: Increase followLatestBackoff to 100ms (#5838)
- Catchup: Provide more information to client when requested block not available (#5819)
- Catchup: use specialized backoff behavior for follower mode (#5836)
- Cleanup: Use Go 1.19 atomic types (#5792)
- Config: move crash and stateproof DB defaults to hot dir (#5817)
- Config: Update description for IncomingConnectionsLimit (#5789)
- Docs: Add comment to initConsensusProtocols. (#5791)
- Feature: Catchup Eval Stake Exception Round Handling (#5795)
- Follower: update follower node error messages. (#5797)
- Ledger: support WaitWithCancel for unsuccessful WaitForBlock API calls (#5814)
- Tools: improve heapwatch chart drawing scripts (#5801)
Bugfixes
- Catchup: pause catchup if ledger lagging behind (#5794)
- Cicd: Fix RPM repository updating (#5790)
- Ledger: make catchpoint generation backward compatible (#5598)
- Ledger: rollback vetting historical stateproof blocks (#5830)
- Tests: Fix flaky TestAccountSelected test (#5788)
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand 3.19.0
Overview
In this release we add support for hot and cold data directories for algod, enhance the simulate endpoint by returning app initial states, and speed up starting up private networks by allowing pre-generation of keys. Backend support for future features are also included - stay tuned!
What's New
- Hot/Cold data directories: Support for specifying different destinations for data instead of just a single data directory
- Pre-generated private network keys: Speed launching new private networks for development by re-using pre-generated keys
- Simulate: Return application initial states accessed during simulation
- Config: Add MaxBlockHistoryLookback option
Changelog
New Features
- Algod: Hot/Cold Data Directories and Resource Paths (#5614)
- Docker: Support pregenerated keys in docker private networks (#5735)
- Network: add P2PNetwork implementation (#5640)
- Simulate: Return application initial states accessed during simulation (#5686)
Enhancements
- API: StartFastCatchup initialize parameter (#5752)
- AVM: Generate langspec for each version (#5629)
- Build: bump golang.org/x/net from 0.12.0 to 0.17.0 (#5779)
- Build: bump github.com/consensys/gnark-crypto from 0.11.2 to 0.12.0 (#5774)
- Chore: Refactor catchpoint tracking logic into config (#5725)
- Chore: Put the three doc strings about each op together (#5708)
- Config: Add MaxBlockHistoryLookback option (#5749)
- Devops: update releases page GPG key mentions (#5742)
- Docs: Update node config comments so that they can be used for doc generation. (#5729)
- Dynamic-lambda: continue tracking the best proposal even after freezing (#5701)
- Encoding: eliminate unnecessary allocations (#5655)
- Feature: Disable EnableBlockServiceFallbackToArchiver by default. (#5706)
- Goal: Add initialize option to 'goal node catchup'. (#5754)
- Goal: Add export and import options for genesis files during network creation (#5672)
- P2p: Make p2p listen address configurable via config.NetAddress (#5721)
- P2p: Return non-loopback multiaddr from Address() if available (#5716)
- P2p: peerstore backed phonebook (#5710)
- Perf: upgrade go-deadlock (#5760)
- Performance: dynamic lambda (#5654)
- Simulate: Enable on follower node & allow specifying starting round (#5685)
- Teal: Report columns in TEAL source maps (#5776)
- Tests: Fix flaky tealdbg unit test (#5768)
- Tests: Remove flaky persistent peers test from wsNetwork (#5772)
- Tests: Address flakiness with TestMergePrimarySecondaryRelayAddressListsPartialOverlap (#5758)
- Tests: update TestCatchupOverGossip to be less parallel and use sub-tests (#5731)
- Tools: Block Generator - allow exporting to files (#5714)
Bugfixes
- AVM: Cleanly handle broken switch/match programs (#5782)
- Catchpoints: check EnableCatchupFromArchiveServers for ledgerFetcher (#5783)
- Ci: fix scripts/create_and_deploy_recipe.sh build (#5764)
- CICD: Fix RPM repository updating (#5790)
- Devops: fix releases page links (#5746)
- Docker: Do not disable telemetry if logging.config is present. (#5769)
- Docker: Do not catchup if already initialized. (#5756)
- Docker: Update docker config with node_exporter path. (#5762)
- Revert "ledger: Close the ledger at node shutdown" (#5705)
- Scripts(configure_dev): conditional tap homebrew (#5573)
- Specs: Change spec generation for Foundation to handle _v*.md (#5751)
- Tests: Fix simulate start round flaky test (#5748)
- Tools: better heap data rendering (#5761)
- Windows: Fix GC (#5745)
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: EC math (#4924)
Additional Resources
Algorand BetaNet 3.19.0
Overview
In this release we add support for hot and cold data directories for algod, enhance the simulate endpoint by returning app initial states, and speed up starting up private networks by allowing pre-generation of keys. Backend support for future features are also included - stay tuned!
What's New
- Hot/Cold data directories: Support for specifying different destinations for data instead of just a single data directory
- Pre-generated private network keys: Speed launching new private networks for development by re-using pre-generated keys
- Simulate: Return application initial states accessed during simulation
Changelog
New Features
- Algod: Hot/Cold Data Directories and Resource Paths (#5614)
- Docker: Support pregenerated keys in docker private networks (#5735)
- Network: add P2PNetwork implementation (#5640)
- Simulate: Return application initial states accessed during simulation (#5686)
Enhancements
- API: StartFastCatchup initialize parameter (#5752)
- AVM: Generate langspec for each version (#5629)
- Build: bump golang.org/x/net from 0.12.0 to 0.17.0 (#5779)
- Build: bump github.com/consensys/gnark-crypto from 0.11.2 to 0.12.0 (#5774)
- Chore: Refactor catchpoint tracking logic into config (#5725)
- Chore: Put the three doc strings about each op together (#5708)
- Config: Add MaxBlockHistoryLookback option (#5749)
- Devops: update releases page GPG key mentions (#5742)
- Docs: Update node config comments so that they can be used for doc generation. (#5729)
- Dynamic-lambda: continue tracking the best proposal even after freezing (#5701)
- Encoding: eliminate unnecessary allocations (#5655)
- Feature: Disable EnableBlockServiceFallbackToArchiver by default. (#5706)
- Goal: Add initialize option to 'goal node catchup'. (#5754)
- Goal: Add export and import options for genesis files during network creation (#5672)
- P2p: Make p2p listen address configurable via config.NetAddress (#5721)
- P2p: Return non-loopback multiaddr from Address() if available (#5716)
- P2p: peerstore backed phonebook (#5710)
- Perf: upgrade go-deadlock (#5760)
- Performance: dynamic lambda (#5654)
- Simulate: Enable on follower node & allow specifying starting round (#5685)
- Teal: Report columns in TEAL source maps (#5776)
- Tests: Fix flaky tealdbg unit test (#5768)
- Tests: Remove flaky persistent peers test from wsNetwork (#5772)
- Tests: Address flakiness with TestMergePrimarySecondaryRelayAddressListsPartialOverlap (#5758)
- Tests: update TestCatchupOverGossip to be less parallel and use sub-tests (#5731)
- Tools: Block Generator - allow exporting to files (#5714)
Bugfixes
- AVM: Cleanly handle broken switch/match programs (#5782)
- Catchpoints: check EnableCatchupFromArchiveServers for ledgerFetcher (#5783)
- Ci: fix scripts/create_and_deploy_recipe.sh build (#5764)
- Devops: fix releases page links (#5746)
- Docker: Do not disable telemetry if logging.config is present. (#5769)
- Docker: Do not catchup if already initialized. (#5756)
- Docker: Update docker config with node_exporter path. (#5762)
- Revert "ledger: Close the ledger at node shutdown" (#5705)
- Scripts(configure_dev): conditional tap homebrew (#5573)
- Specs: Change spec generation for Foundation to handle _v*.md (#5751)
- Tests: Fix simulate start round flaky test (#5748)
- Tools: better heap data rendering (#5761)
- Windows: Fix GC (#5745)
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: EC math (#4924)