BetaNet Update 3.12.0

go-algorand v3.12.0-beta is scheduled to be released on Wednesday November 2nd, 10:30am EDT (2:30pm UTC).

IMPORTANT
This release requires a protocol upgrade.
This release contains a consensus protocol upgrade, which implements the following spec: GitHub - algorandfoundation/specs at 44fa607d6051730f5264526bf3c108d51f0eadb6
IMPORTANT
The keys used to sign the release packages have been renewed.
See the instructions below on how to update for a specific system

What's New

  • AVM: box storage is now available. Apps can create an unlimited number of boxes for storing unstructured data.
  • AVM: switch, match, and frame pointer opcodes are now available. These enable more efficient TEAL programs in terms of program length and computation.

Protocol Upgrade

This release contains a protocol upgrade.

Changelog

New Features

  • AVM: match, pushints, and pushbytess opcodes (#4645)
  • AVM: Add support for Boxes (#4149)

Enhancements

  • API: bump max size of teal source and dryrun (#4633)
  • Perf Test: Transaction group handle/verify (#4652)
  • Consensus: v36 upgrade (#4722)
  • Lint: enable go vet printf format arg checks for logging (#4679)
  • Logging: demote LeaseInLedgerError from warn to info level (#4685)
  • Netgoal: Update netgoal generate flags and variables (#4656)
  • Performance: Agreement state serialization using msgp (#4644)
  • Performance: don't create child cow in TestTransactionGroup (#4706)
  • Prefetcher: enable prefetcher for assets and apps (#4352)
  • Tests: 20221012 improvements (#4639)
  • Tools: Allow specification of Reward Pool Account Balance in Genesis (#4643)

Bugfixes

  • AVM: fix early eval exits for Debugger (#4719)
  • Bug-fix: Blank Import Needs Commenting for Indexer's Lint (#4720)
  • Bug-fix: return v2 spec from swagger endpoint (#4697)
  • Catchpoint: actualize limit constants and fix txtail table init (#4703)
  • Devops: update docker container for docker hub (#4723)
  • Dispenser: add input validation (#4713)
  • Network: align duplicateFilterCount to prevent panic on 32-bit platforms (#4702)

Activations (previously in vFuture)

  • AVM: Switch opcode (#4458)

Additional Resources

How to Update Signing Key

Debian/Ubuntu

curl -o - https://releases.algorand.com/key.pub | sudo tee /etc/apt/trusted.gpg.d/algorand.asc

RHEL/RPM

curl -O https://releases.algorand.com/rpm/rpm_algorand.pub
sudo rpmkeys --import rpm_algorand.pub

To update to the current version of BetaNet, you can run the following goal command:

./update.sh -c beta -i -d <betanet-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 for BetaNet, you can follow the instructions here:

1 Like