Skip to content

Releases: algorand/go-algorand

Algorand BetaNet 3.15.0

15 Mar 14:28
0192a92
Compare
Choose a tag to compare
Pre-release

GitHub Logo

Overview

This release includes the new simulate endpoint for evaluating transactions, networking optimizations, and lays the groundwork for better configuration management and conduit support.

⚠️ Minor breaking change for goal users: The goal node catchup functionality when run with no arguments has changed. You will now be prompted to confirm the action if a catchpoint label is not fed as an argument to the catchup command. Please revisit any automation around fast-catchup a node and ensure they are properly adapted.

What's New

  • Connection deduplication: improved networking code
    • Relay Runners -- enable this feature by setting the node PublicAddress config.json value to its public endpoint address (eq. to SRV address including port number) to optimize its bandwidth usage
  • Simulate endpoint: local evaluation of transactions
    • Ever wondered what effects your transaction could have on the blockchain state? This feature is for you! Now you can evaluate your transactions before sending them out to the network. See here for more information.
  • Profiles for algocfg: a set of profiles for configuration defaults
    • Node configurations can be tricky! Use this feature to get started on properly configuring your node.
  • Algod follower mode: a new operation mode for use with upcoming conduit release
  • New private network default template and automatic start
    • Executing goal network create --rootdir "ANY_DIRECTORY" --start will create and start a private network using the default private network template. This is great for testing your dApps on a private network before deploying them on a public network.

Refer to our developer release article here for more information on these features!

Changelog

New Features

  • Algod: Additional simulation result information (#4439)
  • Network: connection deduplication (#4695)
  • Perf: Separate the txn specific operations from StreamVerifier (#5132)

Enhancements

  • API: Update state delta type, handler (#5123)
  • AVM: Teal macros (#4737)
  • Agreement: update AttachReceivedAt to handle compound (PP) messages (#5142)
  • Algocfg: Add relay profile, algocfg profile cmd (#5069)
  • Algod: Make simulation endpoint non-experimental (#5159)
  • Algod: Modify EvalTracer design and improve testing for failures (#5071)
  • Algod: Rename enums by default (#5089)
  • Algod: split SetFdSoftLimit calls for relay and non-relay nodes (#5070)
  • Algorelay: Fix typo in relayCmd.go (#5135)
  • Build: update C++ flags for recent Mac compiler warnings (#5050)
  • Build(deps): bump github.com/aws/aws-sdk-go from 1.16.5 to 1.33.0 (#4955)
  • Ci: upgrade test_nightly infra to large (#5054)
  • Cicd: Adding github release notes template (#5044)
  • Container: support kmd (#4984)
  • Deploy Templates: Recipe Changes (#5155)
  • Development: tool to convert validated blocks. (#5048)
  • Devmode: Allow DevMode + FollowMode configurations. (#5157)
  • Doc: Fix the inline comment for proposalAccepted (#4889)
  • Docs: add follower node documentation. (#5181)
  • Docs: Message pack information. (#5160)
  • Enhancement: minor change in agreement/type.go comment, numbers are not matching (#5186)
  • Feat(algocfg): add development profile and profile descriptions. (#5164)
  • Goal: catchup without args prompts to continue (#5165)
  • Goal: goal network create default templates (#4891)
  • Goal: allow ConfigJSONOverride in local network templates (#5017)
  • Goal: resolve data dir code duplication (#5073)
  • Goal: add --start option for network create command (#4902)
  • Ledger: turn deferredCommitContext.newBase into a function (#5093)
  • Lint: Check for references to loop variables (#5105)
  • Network: add OutgoingMessage disconnectReason field (#5147)
  • Network: Ignore invalid tags (#4517)
  • Node: Add follower node for sync mode (#5009)
  • Refactor: Push test-only functionality of storage interfaces into test-interface. (#5175)
  • Telemetry: fine-grained breakdown of AssembleBlockStats.StopReason (#5191)
  • Tests: Fix t.Parallel() errors in cmd package (#4991)
  • Tests: Fix t.Parallel() errors in netdeploy package (#4993)
  • Tests: No Cache Testing in ledger (#5058)
  • Tests: reenable catchpoint tests (#4419)
  • Tools: Remove vbconvert (#5133)
  • Txhandler: Move streamverifer out of txn go (#5039)

Bugfixes

  • API: lower default for MaxHeaderBytes. (#5171)
  • API: Incorrect KvDelta in StateDeltaToLedgerDelta (#5084)
  • Algocfg: Bug fix - Add colon to indicate port specification (#5193)
  • Algod: Refactor AccountData conversion (#5098)
  • Circleci: Fix cached Results issue in self-hosted runner (#5137)
  • Devmode: Fix devmode networking (#5182)
  • E2e-test: Fix follower e2e test (#5114)
  • Fix: Disable LRU flushPendingWrite warning if disabled (#5184)
  • Fix: guard addPeer from adding peers who are closing (#5151)
  • Fix(follower): add experimental tag to deltas endpoint. (#5169)
  • Fix(follower): update test that defines a follower relay. (#5162)
  • Goal: fix for goal node status crash - no longer getting block (#5100)
  • Goal: allow for relative dataDir via -d cmd option (#5067)
  • Ledger: fix error shadowing in onlineAccountsNewRoundImpl (#5188)
  • Node: Fix time since last block. (#5113)
  • Tests: Fix TestStreamVerifierPoolShutdown (#5152)
  • Tests: Fix test by sorting results (#5103)
  • Tests: Add start anchor to paralleltest exclusion regex (#5046)

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: Go19 ecdsa curve check (#4917)

Additional Resources

Algorand 3.14.2

03 Feb 21:09
8fd6e70
Compare
Choose a tag to compare

GitHub Logo

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 in data 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 in data/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 with logic.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)
  • algod: split SetFdSoftLimit calls for relay and non-relay nodes (#5070)
  • goal: fix for goal node status crash - no longer getting block (#5100)

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand BetaNet 3.14.2

02 Feb 20:55
90e744c
Compare
Choose a tag to compare

GitHub Logo

Overview

This release contains a fix for an issue where goal node status would crash and separates SetFdSoftLimit calls between relays and non-relay nodes.

Changelog

Bugfixes

  • algod: split SetFdSoftLimit calls for relay and non-relay nodes (#5070)
  • goal: fix for goal node status crash - no longer getting block (#5100)

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand BetaNet 3.14.1

26 Jan 17:42
39ea2c6
Compare
Choose a tag to compare

GitHub Logo

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 in data 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 in data/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 with logic.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

20 Jan 20:02
9a7499d
Compare
Choose a tag to compare

GitHub Logo

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

19 Jan 23:51
9ddd136
Compare
Choose a tag to compare

GitHub Logo

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

20 Jan 01:39
15fdae9
Compare
Choose a tag to compare

GitHub Logo

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

23 Dec 17:01
fc985a1
Compare
Choose a tag to compare

GitHub Logo

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

23 Dec 17:01
4b2d297
Compare
Choose a tag to compare

GitHub Logo

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

16 Dec 18:24
7fabe36
Compare
Choose a tag to compare

GitHub Logo

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

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