Releases: algorand/go-algorand
Algorand 3.2.2
Algorand BetaNet 3.2.2
Algorand 3.2.1
Changelog
-
Goal
- New Feature
- Fix OnCompletion flag for goal app method (Fix OnCompletion flag for
goal app method
#3228) - Support transaction arguments for goal app method (Support transaction arguments for
goal app method
#3233) - Add ABI support to goal (#3088)
- Add ABI encoding support (#2807)
- Fix OnCompletion flag for goal app method (Fix OnCompletion flag for
- New Feature
-
Algod
- BugFix
- Improve dev-mode reliability (Make dev-mode tests less flaky. #3252)
- Update
sys
to resolve golang 1.17 local build crash (#3157)
- Enhancement
- BugFix
-
Ledger
- New Feature
- BugFix
- Ensure i/o failure is correctly handled (Fix error shadowing in Eval #3258)
- 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
: uselookup()
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)
- Make fields in
-
Agreement
- Bugfix
- Handle pseudo node enqueueing failures (#2741)
- Bugfix
-
Catchup
-
Consensus
-
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)
- Bugfix
-
Indexer
- Enhancement
- Allow getting versions for any package. (#2935)
- Enhancement
-
Network
-
REST API
-
Teal and tealdbg
- New Feature
- Bugfix
- Documentation
- Clarify get_ex opcode docs (#3208)
- Enhancement
-
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)
- Bugfix
-
Misc
- readme grammar change (#2938)
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand BetaNet 3.2.1
Changelog
- Goal
- New Feature
- Fix OnCompletion flag for goal app method (Fix OnCompletion flag for
goal app method
#3228) - Support transaction arguments for goal app method (Support transaction arguments for
goal app method
#3233)
- Fix OnCompletion flag for goal app method (Fix OnCompletion flag for
- New Feature
- Algod
- BugFix
- Improve dev-mode reliability (Make dev-mode tests less flaky. #3252)
- BugFix
- Ledger
- BugFix
- Ensure i/o failure is correctly handled (Fix error shadowing in Eval #3258)
- BugFix
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand BetaNet 3.2.0
Highlights
Enhancements to Ledger and Smart Contract functionality.
Changelog
-
Agreement
- Bugfix
- Handle pseudo node enqueueing failures (#2741)
- Bugfix
-
Algod
-
Catchup
-
Consensus
-
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)
- Bugfix
-
go-algorand
- Merge with master
- Re-merge go-algorand 3.1.3-beta (#3230)
- Merge with master
-
Goal
- New Feature
- Add ABI support to goal (#3088)
- New Feature
-
Indexer
- Enhancement
- Allow getting versions for any package. (#2935)
- Enhancement
-
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
: uselookup()
instead of going to ledger directly (#3173)
- Make fields in
- New Feature
-
Network
-
REST API
-
Teal
-
Testing
- Bugfix
- 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
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
- 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
- Added
- Goal
- TEAL
- Ledger
- Network
- Fixed
- Fix ParseHostOrURL and enable expect tests (#2772)
- Fixed
- Tools
- Other
Additional Resources
Algorand BetaNet 3.0.1
Highlights
This version adds debugging for itxn programs and includes a bugfix for dryrun crashes.
This release does not contain a protocol upgrade.
Changes
- TEAL
Additional Resources
Algorand BetaNet 3.0.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/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
- 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
- Added
- Goal
- Ledger
- Network
- Fixed
- Fix ParseHostOrURL and enable expect tests (#2772)
- Fixed
- Tools
- Tests
- Changed
- 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)
- Other
Additional Resources
Algorand 2.10.1
Highlights
This is a maintenance release focused around many test improvements and other optimizations.
Changes
- REST API
- TEAL
- 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()
andDecodeSignedTxn()
if consensus protocol is unknown. (#2708) - Add additional functions to improve type tracking of AVM stack manipulation opcodes. (#2710)
- Enhancements
- Node
- Bug Fixes
- Disable networking on devmode (#2601)
- Bug Fixes
- Metrics
- Bug Fix
- Remove Gauge timeout (#2508)
- Bug Fix
- Goal
- Bug Fix
- Use the appIdx instead of txn app id when calling goal app create. (#2720)
- Bug Fix
- 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)
- New Features
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand BetaNet 2.10.1
Highlights
This is a maintenance release focused around many test improvements and other optimizations.
Changes
- REST API
- 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
- New Feature
- 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()
andDecodeSignedTxn()
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)
- Enhancements
- Node
- Bug Fixes
- Disable networking on devmode (#2601)
- Bug Fixes
- Metrics
- Bug Fix
- Remove Gauge timeout (#2508)
- Bug Fix
- Goal
- Bug Fix
- Use the appIdx instead of txn app id when calling goal app create. (#2720)
- Bug Fix
- 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)
- New Features
Protocol Upgrade
This release does not contain a protocol upgrade.