Skip to content

Releases: algorand/go-algorand

Algorand 3.2.2

15 Dec 15:51
97e8068
Compare
Choose a tag to compare

GitHub Logo

Changelog

  1. Catchup
    • Bug Fix - suspend the catchup session once the agreement service kicks in (#3299)
  2. Goal
    • Enhancement - compatibility mode for partkeyinfo. (#3291)

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand BetaNet 3.2.2

13 Dec 16:29
c4ef818
Compare
Choose a tag to compare

GitHub Logo

Changelog

  1. Catchup
    • Bug Fix - suspend the catchup session once the agreement service kicks in (#3299)
  2. Goal
    • Enhancement - compatibility mode for partkeyinfo. (#3291)

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand 3.2.1

08 Dec 15:01
b6cbbf3
Compare
Choose a tag to compare

GitHub Logo

Changelog

  1. Goal

  2. Algod

    • BugFix
    • Enhancement
      • Move Local structure definition to localTemplate (#3161)
      • Fix typo in batchverifier.go (#3176)
      • Update go mod/sum to include updated algorand/websocket (#3221)
      • Add application account into a dryrun req created by goal (#2945)
  3. Ledger

    • New Feature
      • Implement LookupAgreement (#3046)
      • Add indexerLedgerForEval interface (#2897)
    • BugFix
    • Enhancement
      • Make fields in ledger.Creatable public (#3125)
      • Refactor evaluator into an internal package (#2983)
      • Move accountdb schema migration to trackerdb.go (#2984)
      • Allow all trackers committing into DB (#3014)
      • Preload resources argument in EvalForIndexer (#3019)
      • Move StartEvaluator parameters into a parameters object (#3030)
      • Create catchpoint tracker (#3085)
      • Add err to solicitedAsyncTxHandler.loop log message (#3123)
      • Enable totals calculation in eval for indexer (#3124)
      • Do final validation in endOfBlock() (#3132)
      • Refactor maxPaysetHint -> avarageEncodedTxnSizeHint (#3162)
      • roundCowBase: use lookup() instead of going to ledger directly (#3173)
      • ledger: move account totals calculation to StateDelta (#2922)
      • Remove time ledger tracker as not used (#2937)
      • fix EvalForIndexer (algorand#2941)
      • Cache creators in cow base (#2839)
      • ledger: refactor the ledger Totals (#2846)
      • Extended logic eval error (#2975)
  4. Agreement

    • Bugfix
      • Handle pseudo node enqueueing failures (#2741)
  5. Catchup

    • Bugfix
      • Ignore benign evaluator failures (#3135)
    • Enhancement
      • Avoid requesting blocks that aren't needed by the ledger (#3089)
  6. Consensus

    • BugFix
      • Fix panic on closing nil db (#3175)
    • Enhancement
      • Added Participation Key Expiration Check (#2924)
      • Use LookupAgreement in AlgorandFullNode.VotingKeys() (#3050)
      • Participation Key Interface (#3164)
      • Make proposal assembly time configurable (#3165)
  7. DevOps

    • Bugfix
      • Fix CircleCI deploy for Betanet and Stablenet (#3077)
    • Enhancement
      • Changing Circleci workflow name (#2887)
      • Increase machine size to large and use consistent parallelism for Circleci nightly testing (#3016)
      • Removing integration tests from Travis steps (#3023)
      • Integrate Buildpulse to check release checksums (#3051)
      • Move deploy from TravisCI to CircleCI (#3075)
      • Optimize Circleci machine sizes and parallelism (#3095)
      • Disabling re-building of binaries in Circleci during upload stage (#3112)
      • Make heapwatch.py port configurable (#3143)
      • Remove all but windows builds from Travis (#3154)
      • Add c5d.4xlarge and c5d.18xlarge us-east-2 to hosttemplates.json (#3160)
      • Use large VMs for integration tests (#3201)
      • use matrix for CircleCI config (#2864)
      • Support arm cross compile (#2923)
      • Rotate Travis Env Variables and Remove codecov Env variable (#2934)
  8. Indexer

    • Enhancement
      • Allow getting versions for any package. (#2935)
  9. Network

    • Bugfix
      • Fix missing TX registration (#3080)
      • Update the websocket library (#3131)
    • Enhancement
      • Add initial support for latency tracking (#3028)
  10. REST API

    • BugFix
      • Removed Register handler (#3130)
    • Enhancement
      • Fix global-state-schema key name in REST API spec (#2972)
  11. Teal and tealdbg

    • New Feature
      • Refactor ABI encoding feature (#3055)
      • Enable debugging itxn programs (#2900)
      • Enable cost and fee pooling in tealdbg (algorand#2954)
      • Start work on Teal 6 (AVM 1.1) (#2974)
    • Bugfix
      • Fixed off-by-one error in the assembler's typeDig() (#3056)
      • Use associated group index instead of global (#3111)
      • Trim whitespaces before/after each line of TEAL code (#3128)
      • Fix dryrun crash on rewards calculation (#2894)
    • Documentation
      • Clarify get_ex opcode docs (#3208)
    • Enhancement
      • Make bytes and pushbytes check their immediate better (and similarly) (#3087)
      • Support creation of inner transaction groups (#3009)
      • Hide unexposed fields (#3119)
      • Report assembly error strings for compile API endpoint (#3190)
      • Add Goal ABI method outfile checking (#3204)
  12. Testing

    • Bugfix
      • Fix potential race in TrxSync TestBasicCatchpointCatchup test (#3033)
      • Fix failure in TestAccountInformationV2 (#3049)
      • Fix bug in TestRekeyUpgrade (#3026)
      • Fix random failures TestWaitAndAddConnectionTimeLongtWindow (#2903)
      • Fix unit test (#2926)
      • TestRequestBlockBytesErrors: Various fixes (#2928)
      • testing: fix TestLatestSigsFromThisNode (#2940)
      • testing: metrics_delta.py fixes (#2962)
      • fix flaky axfer txn e2e test (#2973)
    • Enhancement
      • Disable the participation key refresh on the TestPartitionHalfOffline test (#3017)
      • Adjust the application of dontReportFailures in syncTest (#3018)
      • Make the TestMultiThreaded run at a constant time (#3035)
      • Close handle in importRootKeys (#3039)
      • Adjust TenNodesDistributedMultiWallet.json to use smaller key dilution (#3041)
      • Remove redundant checking from TestParticipationAccountsExpirationFuture (#3043)
      • Remove duplicate testing of accounts totals (#3053)
      • Modify TestAccountInformationV2 to wait for transaction (#3098)
      • Add unit test to avoid new string fields (#3101)
      • Refactor ledger internal tests (#3149)
      • e2e tests for log (#2950)
      • e2e tests for axfer, acfg, and afrz inner txns (#2947)
      • Lots of testing convenience improvements, including e2e python (#2936)
  13. Misc

    • readme grammar change (#2938)

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand BetaNet 3.2.1

04 Dec 00:23
2baf39b
Compare
Choose a tag to compare

GitHub Logo

Changelog

  1. Goal
  2. Algod
  3. Ledger

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand BetaNet 3.2.0

24 Nov 19:16
8aa0728
Compare
Choose a tag to compare

GitHub Logo

Highlights

Enhancements to Ledger and Smart Contract functionality.

Changelog

  1. Agreement

    • Bugfix
      • Handle pseudo node enqueueing failures (#2741)
  2. Algod

    • BugFix
      • Update sys to resolve golang 1.17 local build crash (#3157)
    • Enhancement
      • Move Local structure definition to localTemplate (#3161)
      • Fix typo in batchverifier.go (#3176)
      • Update go mod/sum to include updated algorand/websocket (#3221)
  3. Catchup

    • Bugfix
      • Ignore benign evaluator failures (#3135)
    • Enhancement
      • Avoid requesting blocks that aren't needed by the ledger (#3089)
  4. Consensus

    • BugFix
      • Fix panic on closing nil db (#3175)
    • Enhancement
      • Added Participation Key Expiration Check (#2924)
      • Use LookupAgreement in AlgorandFullNode.VotingKeys() (#3050)
      • Participation Key Interface (#3164)
      • Make proposal assembly time configurable (#3165)
  5. DevOps

    • Bugfix
      • Fix CircleCI deploy for Betanet and Stablenet (#3077)
    • Enhancement
      • Changing Circleci workflow name (#2887)
      • Increase machine size to large and use consistent parallelism for Circleci nightly testing (#3016)
      • Removing integration tests from Travis steps (#3023)
      • Integrate Buildpulse to check release checksums (#3051)
      • Move deploy from TravisCI to CircleCI (#3075)
      • Optimize Circleci machine sizes and parallelism (#3095)
      • Disabling re-building of binaries in Circleci during upload stage (#3112)
      • Make heapwatch.py port configurable (#3143)
      • Remove all but windows builds from Travis (#3154)
      • Add c5d.4xlarge and c5d.18xlarge us-east-2 to hosttemplates.json (#3160)
      • Use large VMs for integration tests (#3201)
  6. go-algorand

    • Merge with master
      • Re-merge go-algorand 3.1.3-beta (#3230)
  7. Goal

    • New Feature
      • Add ABI support to goal (#3088)
  8. Indexer

    • Enhancement
      • Allow getting versions for any package. (#2935)
  9. Ledger

    • New Feature
      • Implement LookupAgreement (#3046)
    • Bugfix
      • Fix regression in transaction pool (#3029)
      • Fix regression in TestReproducibleCatchpointLabels (#3037)
      • Refactor fix catchpoint tracker (#3214)
      • Enhancement
        • Make fields in ledger.Creatable public (#3125)
        • Refactor evaluator into an internal package (#2983)
        • Move accountdb schema migration to trackerdb.go (#2984)
        • Allow all trackers committing into DB (#3014)
        • Preload resources argument in EvalForIndexer (#3019)
        • Move StartEvaluator parameters into a parameters object (#3030)
        • Create catchpoint tracker (#3085)
        • Add err to solicitedAsyncTxHandler.loop log message (#3123)
        • Enable totals calculation in eval for indexer (#3124)
        • Do final validation in endOfBlock() (#3132)
        • Refactor maxPaysetHint -> avarageEncodedTxnSizeHint (#3162)
        • roundCowBase: use lookup() instead of going to ledger directly (#3173)
  10. Network

    • Bugfix
      • Fix missing TX registration (#3080)
      • Update the websocket library (#3131)
    • Enhancement
      • Add initial support for latency tracking (#3028)
  11. REST API

    • BugFix
      • Removed Register handler (#3130)
    • Enhancement
      • Fix global-state-schema key name in REST API spec (#2972)
  12. Teal

    • New Feature
      • Refactor ABI encoding feature (#3055)
    • Bugfix
      • Fixed off-by-one error in the assembler's typeDig() (#3056)
      • Use associated group index instead of global (#3111)
      • Trim whitespaces before/after each line of TEAL code (#3128)
    • Documentation
      • Clarify get_ex opcode docs (#3208)
    • Enhancement
      • Make bytes and pushbytes check their immediate better (and similarly) (#3087)
      • Support creation of inner transaction groups (#3009)
      • Hide unexposed fields (#3119)
      • Report assembly error strings for compile API endpoint (#3190)
      • Add Goal ABI method outfile checking (#3204)
  13. Testing

    • Bugfix
      • Fix potential race in TrxSync TestBasicCatchpointCatchup test (#3033)
      • Fix failure in TestAccountInformationV2 (#3049)
      • Fix bug in TestRekeyUpgrade (#3026)
    • Enhancement
      • Disable the participation key refresh on the TestPartitionHalfOffline test (#3017)
      • Adjust the application of dontReportFailures in syncTest (#3018)
      • Make the TestMultiThreaded run at a constant time (#3035)
      • Close handle in importRootKeys (#3039)
      • Adjust TenNodesDistributedMultiWallet.json to use smaller key dilution (#3041)
      • Remove redundant checking from TestParticipationAccountsExpirationFuture (#3043)
      • Remove duplicate testing of accounts totals (#3053)
      • Modify TestAccountInformationV2 to wait for transaction (#3098)
      • Add unit test to avoid new string fields (#3101)
      • Refactor ledger internal tests (#3149)

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand 3.0.1

29 Sep 14:10
b619b94
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/bc36005dbd776e6d1eaf0c560619bb183215645c

Highlights

This release features the 1.0 version of AVM, extending Algorand's smart contract capabilities for even greater composability. Highlights in this release include:

  • Application transactions: the ability for smart contracts to execute transactions on directly on chain.
  • App cost pooling: larger contract size, by combining the budgets across an application group.
  • Increased account smart contract limit to 50
  • More smart contract opcodes to improve composability (inner transaction references, verify ECDSA, log, and others)
  • Debugging for itxn programs and include a bugfix for dryrun crashes.

Changes

  1. AVM
    • Added
      • Add GroupID as an accessible global field in AVM (#2838)
      • Add opcodes for dynamically indexing into Txn array fields (#2847)
      • Implement verify ECDSA secp256k1 opcodes (#2852)
      • Introduce itxn to get inner transaction results (#2883)
      • Smart contracts can issue transactions (#2661)
      • loads and stores opcodes that take scratch slot from stack (#2853)
    • Changed
      • Better naming for extract opcodes (#2891)
      • Check if tx_field can be set with tables instead of switch (#2849)
      • Dry run should return opcode cost used (#2746)
      • Ensure that AssetCreator is not used before proto.LogicSigVersion=5 and unify field handling (#2784)
      • Expose nonparticipation txn field in teal (#2823)
      • Increase max app opt ins to 50 (#2750)
      • Make config.MaxLogCalls dependent on some consensus param (#2732)
      • Use math.bits intrinsics to simplify addw/mulw opcodes (#2839)
    • Fixed
      • Ensure disassemble/reassemble cycle works in testProg (#2745)
      • Increase coverage in AVM code and bug fix in account fields of tx_field (#2840)
  2. Goal
    • Changed

      • Display app address in goal app info & show logs are binary in REST API (#2836)
      • Display extra pages in goal info commands (#2763)
    • Fixed

      • Fix enumeration bug with using Ledger Nano S and goal (#2822)
  3. TEAL
    • Added
      • Enable debugging itxn programs (#2900)
    • Fixed
      • Fix dryrun crash on rewards calculation (#2894)
  4. Ledger
    • Added
      • Add ledger.GetBlockAddresses() (#2872)
    • Changed
      • Fix overriding consensus parameters in evaluator. (#2811)
      • Simplify startEvaluator() (#2812)
  5. Network
    • Fixed
      • Fix ParseHostOrURL and enable expect tests (#2772)
  6. Tools
    • Changed
      • Improve error message in update.sh when updater is corrupt (#2766)
      • Netgoal - add account balance range (#2771)
  7. Other
    • Changed
      • Add comments for protocol hash IDs and tags (#2774)
      • Checking CircleCI tests run once and only once (#2749)
      • Fix go vet issues (#2826)
      • Limit the number of buckets in verifiedTransactionCache to 3 (#2775)
      • Remove codegen from travis file (#2768)

Additional Resources

Algorand BetaNet 3.0.1

20 Sep 14:18
d279007
Compare
Choose a tag to compare

GitHub Logo

Highlights

This version adds debugging for itxn programs and includes a bugfix for dryrun crashes.
This release does not contain a protocol upgrade.

Changes

  1. TEAL
    • Added
      • Enable debugging itxn programs (#2900)
    • Fixed
      • Fix dryrun crash on rewards calculation (#2894)

Additional Resources

Algorand BetaNet 3.0.0

15 Sep 18:14
13edc2a
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/bc36005dbd776e6d1eaf0c560619bb183215645c

Highlights

This release features the 1.0 version of AVM, extending Algorand's smart contract capabilities for even greater composability. Highlights in this release include:

  • Application transactions: the ability for smart contracts to execute transactions on directly on chain.
  • App cost pooling: larger contract size, by combining the budgets across an application group.
  • Increased account smart contract limit to 50
  • More smart contract opcodes to improve composability (inner transaction references, verify ECDSA, log, and others)

Changes

  1. AVM
    • Added
      • Add GroupID as an accessible global field in AVM (#2838)
      • Add opcodes for dynamically indexing into Txn array fields (#2847)
      • Implement verify ECDSA secp256k1 opcodes (#2852)
      • Introduce itxn to get inner transaction results (#2883)
      • Smart contracts can issue transactions (#2661)
      • loads and stores opcodes that take scratch slot from stack (#2853)
    • Changed
      • Better naming for extract opcodes (#2891)
      • Check if tx_field can be set with tables instead of switch (#2849)
      • Dry run should return opcode cost used (#2746)
      • Ensure that AssetCreator is not used before proto.LogicSigVersion=5 and unify field handling (#2784)
      • Expose nonparticipation txn field in teal (#2823)
      • Increase max app opt ins to 50 (#2750)
      • Make config.MaxLogCalls dependent on some consensus param (#2732)
      • Use math.bits intrinsics to simplify addw/mulw opcodes (#2839)
    • Fixed
      • Ensure disassemble/reassemble cycle works in testProg (#2745)
      • Increase coverage in AVM code and bug fix in account fields of tx_field (#2840)
  2. Goal
    • Changed

      • Display app address in goal app info & show logs are binary in REST API (#2836)
      • Display extra pages in goal info commands (#2763)
    • Fixed

      • Fix enumeration bug with using Ledger Nano S and goal (#2822)
  3. Ledger
    • Added
      • Add ledger.GetBlockAddresses() (#2872)
    • Changed
      • Fix overriding consensus parameters in evaluator. (#2811)
      • Simplify startEvaluator() (#2812)
  4. Network
    • Fixed
      • Fix ParseHostOrURL and enable expect tests (#2772)
  5. Tools
    • Changed
      • Improve error message in update.sh when updater is corrupt (#2766)
      • Netgoal - add account balance range (#2771)
  6. Tests
    • Changed
      • Per-client RAM measurement scripts (#2783)
      • Split expect tests into separate circleci group (#2792)
    • Fixed
      • Data race in tests: TestApplicationsUpgradeOverREST race (#2844)
      • Disable deadlock for netgoal (#2785)
      • Fix TestStartAndStop (#2757)
      • Fix auto-gen tests (#2880)
      • Fix goalNodeTest.exp (#2781)
      • Fix issue with checking RUN_EXPECT when listing packages (#2863)
      • Fix partition recovery tests (#2820)
      • Fix pingpong teal test (#2835)
      • Fixed a typo in e2e.sh for integration tests (#2761)
      • Update pingpong transaction sending logic (#2747)
  7. Other
    • Changed
      • Add comments for protocol hash IDs and tags (#2774)
      • Checking CircleCI tests run once and only once (#2749)
      • Fix go vet issues (#2826)
      • Limit the number of buckets in verifiedTransactionCache to 3 (#2775)
      • Remove codegen from travis file (#2768)

Additional Resources

Algorand 2.10.1

01 Sep 13:46
c1d2eb7
Compare
Choose a tag to compare

GitHub Logo

Highlights

This is a maintenance release focused around many test improvements and other optimizations.

Changes

  1. REST API
    • Bug Fix
      • Use the strict json encoder to correctly encode maps with numeric fields in REST API v2 endpoints. (#2611)
      • Fix installation of oapi-codegen. (#2668)
  2. TEAL
    • Tests
      • Extend global and txn field tests for all TEAL versions and protocols. (#2669)
      • Create a quine to test app_params_get AppApprovalProgram (#2682)
  3. Ledger
    • Enhancements
      • Replace Balances.PutWithCreatable() to new functions that notify the COW that a creatable was created or deleted. (#2638)
      • Add a public Eval() function for indexer. (#2662)
      • Added support for batch verification of signatures. (#2578)
      • Record modified local creatable states in state delta. (#2680)
      • Add individual program length checks into updateApplication (#2699)
      • Return an error in EncodeSignedTxn() and DecodeSignedTxn() if consensus protocol is unknown. (#2708)
      • Add additional functions to improve type tracking of AVM stack manipulation opcodes. (#2710)
  4. Node
    • Bug Fixes
      • Disable networking on devmode (#2601)
  5. Metrics
    • Bug Fix
      • Remove Gauge timeout (#2508)
  6. Goal
    • Bug Fix
      • Use the appIdx instead of txn app id when calling goal app create. (#2720)
  7. Other
    • New Features
      • Add builds, build tests, and integration tests in CircleCI. (#2444)
    • Enhancements
      • Update our feature_request.md template for new Issues (#2568)
      • Enable ineffassign linter (#2574)
      • Remove old msgp 1.1.47 code from go.mod/go.sum (#2615)
      • Implement partitiontest_linter (#2635)
      • Update systemd-steup.sh to install system.json (#2651)
      • Generate Slack notifications for rel/nightly failures (#2643)
      • Added golangci-lint action. (#2647)
      • Fix a go lint issue. (#2688)
      • Renamed no_gimme env var to skip_go_installation (#2696)
      • Consolidate testing options SKIP_E2E_SUBS and E2E_SUBS_ONLY. (#2705)
      • Update the Circle CI branch filters to run "nightly"/longer tests over "rel/" and "hotfix/" branches. (#2729)
    • Tools
      • Replace KMD usage in the pingpong utility with direct signing. (#2653)

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand BetaNet 2.10.1

26 Aug 14:43
d1aca92
Compare
Choose a tag to compare

GitHub Logo

Highlights

This is a maintenance release focused around many test improvements and other optimizations.

Changes

  1. REST API
    • Bug Fix
      • Use the strict json encoder to correctly encode maps with numeric fields in REST API v2 endpoints. (#2611)
      • Fix installation of oapi-codegen. (#2668)
  2. TEAL
    • New Feature
      • vFuture: cover opcode: "remove top of stack, and place it down the stack such that N elements are above it" (#2541)
      • vFuture: uncover opcode: "remove the value at depth N in the stack and shift above items down so the Nth deep value is on top of the stack" (#2541)
      • vFuture: added op code log for logging. (#2529)
    • Tests
      • Extend global and txn field tests for all TEAL versions and protocols. (#2669)
      • Create a quine to test app_params_get AppApprovalProgram (#2682)
  3. Ledger
    • Enhancements
      • Replace Balances.PutWithCreatable() to new functions that notify the COW that a creatable was created or deleted. (#2638)
      • Add a public Eval() function for indexer. (#2662)
      • Added support for batch verification of signatures. (#2578)
      • Record modified local creatable states in state delta. (#2680)
      • Add individual program length checks into updateApplication (#2699)
      • Return an error in EncodeSignedTxn() and DecodeSignedTxn() if consensus protocol is unknown. (#2708)
      • Add additional functions to improve type tracking of AVM stack manipulation opcodes. (#2710)
      • Pool app call budget for group transactions. (#2711)
    • Bug Fixes
      • Consensus upgrade for ExtraProgramPages fix. (#2694)
  4. Node
    • Bug Fixes
      • Disable networking on devmode (#2601)
  5. Metrics
    • Bug Fix
      • Remove Gauge timeout (#2508)
  6. Goal
    • Bug Fix
      • Use the appIdx instead of txn app id when calling goal app create. (#2720)
  7. Other
    • New Features
      • Add builds, build tests, and integration tests in CircleCI. (#2444)
    • Enhancements
      • Update our feature_request.md template for new Issues (#2568)
      • Enable ineffassign linter (#2574)
      • Remove old msgp 1.1.47 code from go.mod/go.sum (#2615)
      • Implement partitiontest_linter (#2635)
      • Update systemd-steup.sh to install system.json (#2651)
      • Generate Slack notifications for rel/nightly failures (#2643)
      • Added golangci-lint action. (#2647)
      • Fix a go lint issue. (#2688)
      • Renamed no_gimme env var to skip_go_installation (#2696)
      • Consolidate testing options SKIP_E2E_SUBS and E2E_SUBS_ONLY. (#2705)
      • Update the Circle CI branch filters to run "nightly"/longer tests over "rel/" and "hotfix/" branches. (#2729)
    • Tools
      • Replace KMD usage in the pingpong utility with direct signing. (#2653)

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources