MainNet and TestNet have been updated to 3.12.2 today, Wed Nov 30, 2022 12:00PM EST (5:00PM 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. - Bugfixes related to catchpoints, performance enhancements, and additional logging.
Changelog
New Features
- AVM: match, pushints, and pushbytess opcodes (#4645)
- AVM: Add support for Boxes (#4149)
- Catchpoint Dump Utility: catchpointdump now supports tar.gz (#4743)
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)
- API: Update oapi-codegen version to v1.12.0 of our fork (#4707)
- Accountdb: add migration 8 for resetting accounthashes on betanet (#4822)
- Algod: Consolidate models (#4714)
- Algod: Delete v1 usage from client and remove
V2
prefix from APIs (#4767) - Algod: Migrate internal uses of v1 algod API to v2 (#4684)
- Alphanet: update vAlpha5 to point to v36 (#4729)
- Catchpoints: Enrich catchpoint generation and status with KV metadata (#4808)
- Ci: Notify when CircleCI build failures for master and rel branches only (#4789)
- Ci: Notify when GHA workflow fails on master (#4791)
- Docs: Update SECURITY.md (#4782)
- Goal: Add URL to goal asset info. (#4731)
- Metrics: add TransactionGroupTxSyncHandled (#4815)
- Metrics: split out /Transaction/AssembleBlock metrics (#4795)
- Netgoal: start with at least 20GB RootStorage (#4779)
- Performance: turn cache misses during assembly into cache hits during eval (#4617)
- Performance: Don't preallocate rarely used maps in MakeStateDelta (#4715)
- Tech Debt: Reduce number of dependencies. (#4750)
- Telemetry: add TCP RTT info collection (#4745)
- Tests: Squelch macOS accept incoming network connections notifications (#4814)
- Tests: large generated accountdb cluster test (#4772)
- Tests: Fix txid-string comparison (#4792)
- Tests: Move box test artifacts to a temp directory (#4771)
- Tests: Lint for unparallelized tests without explicit reason (#4746)
- Tools: update catchpointdump 'database' and 'database check' commands to handle staging tables and KVs (#4802)
- Txhandler: add more metric (#4786)
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)
- Catchpoints: Add the kv hashes into the trie (#4812)
- Ci: Fix GHA failure notification trigger condition (#4810)
- Cow: always process KvMods to add OldData to mods when building StateDeltas (#4804)
- Daemon: pool error messages and old txn expiration (#4755)
- Goal: Change asset commands to use AccountAssetInformation (#4758)
- Tests: Fix resolver test endpoint (#4784)
- Tests: Fix types in assertions and change to using libgoal client when getting
PendingTransaction
information (#4754) - Tests: disable TestWebsocketNetworkTelemetryTCP on CI (#4827)
- Txhandler: service does not restart after node catching up (#4809)
- Txsyncer: service does not start after node catching up (#4768)
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
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: Install a node - Algorand Developer Portal