Releases: algorand/go-algorand
Algorand BetaNet 3.14.1
Important Note
Due to the increase in connections, you will need to ensure that your open files limit is sufficient (i.e., ulimit -H -n
is sufficiently large). We recommend setting this to greater than 5000.
Overview
This release contains enhancements to networking capabilities such as our transaction handling and relay connection limits. In addition, we are including telemetry enhancements to better monitor the performance of the network.
What's New
- Batch verify transactions for more efficient signature verification
- Introduce elastic rate limiter to manage congestion from noisy peers
- Increase max incoming connections limit
- Decrease max connections per IP
- Increase default gossip fanout for relays
goal node status
now additionally reports consensus voting progress
Changelog
New Features
- Algod: Add experimental endpoint for simulating transactions against a real block evaluator (#4436)
- Tools: pingpong total latency (#4757)
- Txhandler: batch transactions to the verifier (#4621)
- Txhandler: Random Early Detection for backlog queue (#4797)
Enhancements
- AVM: Clearer cost benchmarks, and a nice optimization of b== and b< (#5010)
- AVM-abi: Update functions migrated to AVM-abi library (#4979)
- Algocfg: Clarify config file loading error. (#5025)
- Algod: update copyright comment to 2023 (#4957)
- Ci: Split paralleltest lint excludes to minimize merge conflicts (#5002)
- Cicd: add container build (#4927)
- Cleanup: remove unused node.PoolStats() (#4956)
- Config: add CadaverDirectory and prevent algod from starting if cadaver.init() fails (#4740)
- Config: add HeartbeatUpdateInterval (#4832)
- Container: update documentation and remove unused tools (#4982)
- Debug: unmarshal and print transaction distribution (#5008)
- Enhancement:
goal
Error UX Improvement (#4951) - Enhancement: Add missing ArgEnum fields, tweaks to immediate note (#4903)
- Goal: Added consensus upgrade fields to node status API & goal output (#4800)
- Metrics: use uint64 for Counter and Gauge types (#4911)
- Metrics: count telemetry server errors (#4933)
- Network: new default gossip fanout setting for relays (#5005)
- Network: increase max incoming connections limit (#5018)
- REST API: update WaitForBlock summary (#4910)
- Tech Debt: Remove topAccountListener. (#5027)
- Tech Debt: Remove unused NetworkFetcher. (#5028)
- Telemetry: Remove unused TelemetryOperation (#4935)
- Telemetry: don't report ES client errors (#4940)
- Telemetry: don't report let asyncTelemetryHook wrap and log its own errors (#4932)
- Tests: Fix t.Parallel() errors in shared package (#4989)
- Tests: Fixes saved from 4981 revert (#4996)
- Tests: Fix
t.Parallel()
errors indata
package (#4981) - Tests: plot heap data (#4968)
- Tests: Enable more parallel tests in data/transactions/logic/evalAppTxn_test.go (#4937)
- Tests: Fix
t.Parallel()
errors indata/transactions/logic
package (#4931) - Tests: fix dependency on global counters (#4921)
- Tools: nodecfg without dns (#4967)
- Util/s3: enable more credential providers (#4929)
- Algod: Replace
logic.DebuggerHook
withlogic.EvalTracer
interface (#4438) - Lint: fix warnings (#5047)
Bugfixes
- AVM: Catch any panic in edcsa verifying (#4368)
- Agreement: fix receivedAt proposal performance timing (#5041)
- Bugfix: Remove accidental devtesting output. (#5033)
- Bugfix: removed redundant unlock, potentially causing double unlock (#4928)
- Build: fix build after #4979 (#5032)
- Ci: Fix PartitionTest Github Action (#5006)
- Devops: Adding old artifact cleanup for self-hosted runners (#4909)
- Ledger: rearrange blockqueue start/stop (#4964)
- Ledger: bulletin leaking waiters fix (#4962)
- Node: Add logging thread to node monitoring wg (#4934)
- Scripts(compute_branch): fix incorrect conditional (#4987)
- Test Fix: flaky TestStreamVerifierCtxCancelPoolQueue (#4980)
- Tests: 'Revert Tests Fix t.Parallel() errors in data package' (#4995)
- Updater: fix update.sh parsing of latest version (#4994)
- Util/s3: remove extra println (#5024)
- AVM: Fix opBytesLt for len(rhs) < len(lhs) (#5051)
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand 3.12.3
Overview
Bug fix for cache issue.
Changelog
Bugfix
- Ledger: Fix occasional null caching issue
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand 3.13.3
Overview
Bug fix for cache issue.
Changelog
Bugfix
- Ledger: Fix occasional null caching issue
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand BetaNet 3.13.3
Overview
Bug fix for cache issue.
Changelog
Bugfix
- Ledger: Fix occasional null caching issue
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand 3.13.2
Overview
Updates to telemetry and reporting.
What's New
- Better telemetry logging
- Report metrics on telemetry errors
Changelog
Enhancement
- telemetry: don't report let asyncTelemetryHook wrap and log its own errors(#4932)
- metrics: count telemetry server errors (#4933)
- log: stderr offending large log messages(#4930)
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand BetaNet 3.13.2
Overview
Updates to telemetry and reporting.
What's New
- Better telemetry logging
- Report metrics on telemetry errors
Changelog
Enhancement
- telemetry: don't report let asyncTelemetryHook wrap and log its own errors(#4932)
- metrics: count telemetry server errors (#4933)
- log: stderr offending large log messages(#4930)
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand 3.13.1
Overview
Deprecated v1 REST API endpoints are now removed (all v1 endpoints). Documentation on our v2 REST API endpoints can be found here. The release also contains performance enhancements to logic signature processing, improved telemetry, a new automated goal subcommand to delete partkeys, and other minor performance and usability improvements.
What's New
- v1 REST API endpoints are now removed.
- Drop support for algod v1 REST API. v1 endpoints now return a 410 code to make explicit the API reached end-of-life. The replacement is https://developer.algorand.org/docs/rest-apis/algod/v2/ .
- Breaking changes to algod v2 REST API - These previously deprecated response fields are removed:
- https://developer.algorand.org/docs/rest-apis/algod/v2/#post-v2tealdryrun -
cost
(https://github.com/algorand/go-algorand/pull/4875/files#diff-4dbbc679cc9edab4510c8be1d215ec85830b5a5cfba57ac1379501cbeb3911d0L3227). - https://developer.algorand.org/docs/rest-apis/algod/v2/#post-v2tealcompile -
sourcemap.mapping
(https://github.com/algorand/go-algorand/pull/4875/files#diff-70eb30d34776b4cd7c752fef5b8aad5363a3648e46466331e7d2e6173744bc99L40).
- https://developer.algorand.org/docs/rest-apis/algod/v2/#post-v2tealdryrun -
- New goal subcommand for automated deletion of partkeys (#4788)
- Addition of version to langspec.json (#4883)
- Continued performance and telemetry improvements:
Changelog
Protocol Upgrade
This release does not contain a protocol upgrade.
New Features
- Goal: account deletepartkey subcomand (#4788)
- Ledger Deltas: AccountDelta retrieval through ledger/catchup service (#4658)
Enhancements
- Algod: Delete deprecated cost field in dyrun response and mapping field in sourcemap (#4875)
- Algod: Sunset v1 handlers (#4847)
- Performance: Implement sync.Pool for cow.child() (#4766)
- Teal: optimize CheckSignature (#4893)
- Txhandler: metrics for txpool.Remember (#4839)
- Txhandler: early duplicates detection (#4806)
- Txhandler: upgraded benchmarks (#4834)
- Catchpoint: Promote trie-related log warnings to error (#4882)
- Updater: use more-recent installer package (#4734)
- Docker: General purpose docker container. (#4816)
- Metrics: split alive check counter between early/dead (#4898)
- Metrics: update some new metric names (#4899)
- Metrics: add counters for checkAlreadyCommitted, split "InLedger" counters by reason (#4881)
- Ledger: add context to block mismatch error in VerifyCatchpoint (#4821)
- Goal: Test ABI reference arguments during creation (#4872)
- Node: Fix disabled node tests (#4824)
- Testing: defi txn group benchmark (#4886)
- Tests: Extend TestCatchpointAfterTxns to catch catchpoint write corruption (#4818)
- Langspec: adding version to langspec (#4883)
- Docs: update API docs, remove unused codegen configs (#4896)
Bugfixes
- Bug-fix: upgrade AVM-abi (#4838)
- Catchpoint: Fix broken merge between #4818 and #4835 (#4840)
- Ci: Fix some details around the hashKind -> HashKind change (#4865)
- Prefetcher: preallocate aligned groupTasks in groupsReady (#4876)
- Bug fix: 64-bit alignment of groupTasks (#4876)
Not Yet Enabled
- Rest API: make the data endpoints public (#4900)
Additional Resources
Algorand BetaNet 3.13.1
Overview
This release contains performance improvements to logic signature processing and minor enhancements.
What's New
- Optimize CheckSignature
- Metrics reporting clean up
- Add version to langspec.json
Changelog
Enhancements
- Enhancement: adding version to langspec (#4883)
- Metrics: split alive check counter between early/dead (#4898)
- Teal: optimize CheckSignature (#4893)
- Langspec: adding version to langspec (#4883)
- Testing: defi txn group benchmark (#4886)
- Not yet enabled - Rest API: make the data endpoints public (#4900)
- Docs: update API docs, remove unused codegen configs (#4896)
- Metrics: update some new metric names (#4899)
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand BetaNet 3.13.0
Overview
What's New
- Drop support for algod v1 REST API. v1 endpoints now return a 410 code to make explicit the API reached end-of-life. The replacement is https://developer.algorand.org/docs/rest-apis/algod/v2/.
- Breaking changes to algod v2 REST API - These previously deprecated response fields are removed:
- https://developer.algorand.org/docs/rest-apis/algod/v2/#post-v2tealdryrun -
cost
(https://github.com/algorand/go-algorand/pull/4875/files#diff-4dbbc679cc9edab4510c8be1d215ec85830b5a5cfba57ac1379501cbeb3911d0L3227). - https://developer.algorand.org/docs/rest-apis/algod/v2/#post-v2tealcompile -
sourcemap.mapping
(https://github.com/algorand/go-algorand/pull/4875/files#diff-70eb30d34776b4cd7c752fef5b8aad5363a3648e46466331e7d2e6173744bc99L40).
- https://developer.algorand.org/docs/rest-apis/algod/v2/#post-v2tealdryrun -
- Continued performance improvements:
- Bug fix: 64-bit alignment of groupTasks (#4876)
- Promote trie-related log warnings to errors (#4882)
Changelog
New Features
- Goal: account deletepartkey subcomand (#4788)
- Ledger Deltas: AccountDelta retrieval through ledger/catchup service (#4658)
Enhancements
- Algod: Delete deprecated cost field in dyrun response and mapping field in sourcemap (#4875)
- Algod: Sunset v1 handlers (#4847)
- Catchpoint: Promote trie-related log warnings to error (#4882)
- Docker: General purpose docker container. (#4816)
- Goal: Test ABI reference arguments during creation (#4872)
- Ledger: add context to block mismatch error in VerifyCatchpoint (#4821)
- Metrics: add counters for checkAlreadyCommitted, split "InLedger" counters by reason (#4881)
- Node: Fix disabled node tests (#4824)
- Performance: Implement sync.Pool for cow.child() (#4766)
- Tests: Extend TestCatchpointAfterTxns to catch catchpoint write corruption (#4818)
- Txhandler: metrics for txpool.Remember (#4839)
- Txhandler: early duplicates detection (#4806)
- Txhandler: upgraded benchmarks (#4834)
- Updater: use more-recent installer package (#4734)
Bugfixes
- Bug-fix: upgrade AVM-abi (#4838)
- Catchpoint: Fix broken merge between #4818 and #4835 (#4840)
- Ci: Fix some details around the hashKind -> HashKind change (#4865)
- Prefetcher: preallocate aligned groupTasks in groupsReady (#4876)
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand 3.12.2
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/44fa607d6051730f5264526bf3c108d51f0eadb6 |
---|
IMPORTANT The keys used to sign the release packages have been renewed. See the instructions below on how to update for a specific system |
---|
What's New
- AVM: box storage is now available. Apps can create an unlimited number of boxes for storing unstructured data.
- AVM:
switch
,match
, and frame pointer opcodes are now available. These enable more efficient TEAL programs in terms of program length and computation. - Bugfixes related to catchpoints, performance enhancements, and additional logging.
Changelog
New Features
- AVM: match, pushints, and pushbytess opcodes (#4645)
- AVM: Add support for Boxes (#4149)
- Catchpoint Dump Utility: catchpointdump now supports tar.gz (#4743)
Enhancements
- API: bump max size of teal source and dryrun (#4633)
- Perf Test: Transaction group handle/verify (#4652)
- Consensus: v36 upgrade (#4722)
- Lint: enable go vet printf format arg checks for logging (#4679)
- Logging: demote LeaseInLedgerError from warn to info level (#4685)
- Netgoal: Update netgoal generate flags and variables (#4656)
- Performance: Agreement state serialization using msgp (#4644)
- Performance: don't create child cow in TestTransactionGroup (#4706)
- Prefetcher: enable prefetcher for assets and apps (#4352)
- Tests: 20221012 improvements (#4639)
- Tools: Allow specification of Reward Pool Account Balance in Genesis (#4643)
- API: Update oapi-codegen version to v1.12.0 of our fork (#4707)
- Accountdb: add migration 8 for resetting accounthashes on betanet (#4822)
- Algod: Consolidate models (#4714)
- Algod: Delete v1 usage from client and remove
V2
prefix from APIs (#4767) - Algod: Migrate internal uses of v1 algod API to v2 (#4684)
- Alphanet: update vAlpha5 to point to v36 (#4729)
- Catchpoints: Enrich catchpoint generation and status with KV metadata (#4808)
- Ci: Notify when CircleCI build failures for master and rel branches only (#4789)
- Ci: Notify when GHA workflow fails on master (#4791)
- Docs: Update SECURITY.md (#4782)
- Goal: Add URL to goal asset info. (#4731)
- Metrics: add TransactionGroupTxSyncHandled (#4815)
- Metrics: split out /Transaction/AssembleBlock metrics (#4795)
- Netgoal: start with at least 20GB RootStorage (#4779)
- Performance: turn cache misses during assembly into cache hits during eval (#4617)
- Performance: Don't preallocate rarely used maps in MakeStateDelta (#4715)
- Tech Debt: Reduce number of dependencies. (#4750)
- Telemetry: add TCP RTT info collection (#4745)
- Tests: Squelch macOS accept incoming network connections notifications (#4814)
- Tests: large generated accountdb cluster test (#4772)
- Tests: Fix txid-string comparison (#4792)
- Tests: Move box test artifacts to a temp directory (#4771)
- Tests: Lint for unparallelized tests without explicit reason (#4746)
- Tools: update catchpointdump 'database' and 'database check' commands to handle staging tables and KVs (#4802)
- Txhandler: add more metric (#4786)
Bugfixes
- AVM: fix early eval exits for Debugger (#4719)
- Bug-fix: Blank Import Needs Commenting for Indexer's Lint (#4720)
- Bug-fix: return v2 spec from swagger endpoint (#4697)
- Catchpoint: actualize limit constants and fix txtail table init (#4703)
- Devops: update docker container for docker hub (#4723)
- Dispenser: add input validation (#4713)
- Network: align duplicateFilterCount to prevent panic on 32-bit platforms (#4702)
- Catchpoints: Add the kv hashes into the trie (#4812)
- Ci: Fix GHA failure notification trigger condition (#4810)
- Cow: always process KvMods to add OldData to mods when building StateDeltas (#4804)
- Daemon: pool error messages and old txn expiration (#4755)
- Goal: Change asset commands to use AccountAssetInformation (#4758)
- Tests: Fix resolver test endpoint (#4784)
- Tests: Fix types in assertions and change to using libgoal client when getting
PendingTransaction
information (#4754) - Tests: disable TestWebsocketNetworkTelemetryTCP on CI (#4827)
- Txhandler: service does not restart after node catching up (#4809)
- Txsyncer: service does not start after node catching up (#4768)
Activations (previously in vFuture)
- AVM: Switch opcode (#4458)
Additional Resources
How to Update Signing Key
Debian/Ubuntu
curl -o - https://releases.algorand.com/key.pub | sudo tee /etc/apt/trusted.gpg.d/algorand.asc
RHEL/RPM
curl -O https://releases.algorand.com/rpm/rpm_algorand.pub
sudo rpmkeys --import rpm_algorand.pub