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