MainNet and TestNet have been updated to 3.0.1 today, Wed Sep 29th, 2021 10:30 AM EDT (14:30 UTC)
If you have your node set to automatic updates, you don’t need to do anything. It will automatically update to the newer version whenever that becomes available.
IMPORTANT This release requires a protocol upgrade. This release contains a consensus protocol upgrade, which implements the following spec: GitHub - algorandfoundation/specs at 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
- Ensure disassemble/reassemble cycle works in testProg (#2745)
- Increase coverage in AVM code and bug fix in account fields of tx_field (#2840)
- Added
- 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)
- Display app address in
-
Fixed
- Fix enumeration bug with using Ledger Nano S and goal (#2822)
-
- TEAL
- Added
- Enable debugging itxn programs (#2900)
- Fixed
- Fix dryrun crash on rewards calculation (#2894)
- Added
- Ledger
- Added
- Add ledger.GetBlockAddresses() (#2872)
- Changed
- Fix overriding consensus parameters in evaluator. (#2811)
- Simplify
startEvaluator()
(#2812)
- Added
- Network
- Fixed
- Fix ParseHostOrURL and enable expect tests (#2772)
- Fixed
- Tools
- Changed
- Improve error message in update.sh when updater is corrupt (#2766)
- Netgoal - add account balance range (#2771)
- Changed
- 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)
- Changed
Additional Resources
To update your current version, run the following goal command:
./update.sh -c stable -i -d <data-directory> -n
If you haven’t already done so, we also advise setting up a CRON job to automatically update your algorand networks. If you haven’t done this yet,
you can follow the instructions here: