TestNet and MainNet Update: 3.5.1

MainNet and TestNet will be updated to 3.5.1 Wed Mar 23, 2022 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 d5ac876d7ede07367dbaa26e149aa42589aac1f7

Important Notes

  • This release contains a database migration. As a result, expect node upgrades to take longer than usual - 15 minutes for participating nodes and 1 hr for archival nodes. The node software and hardware profile will ultimately determine the length of the upgrade.
  • Catchpoint files will be temporarily unavailable. New catchpoint files will not be generated until the protocol upgrade is completed.
  • Unlimited Assets and Applications will only be available after the protocol upgrade is complete.
  • Some API Endpoints change. Please see below for further details.

Highlights

Unlimited Assets & Applications
Accounts can now create and opt into an unlimited number of assets and applications. The REST API endpoints have changed to make it easier to work with more data:

Changelog

New Features

  • Algod: Unlimited assets/apps support (#3652)

Enhancements

  • Agreement: Configurable incoming message buffer sizes (#3705)
  • Algod: Refactor registry operations (#3647)
  • Crypto: Call batchverificationimpl from onetimesignatureverifier.verify (#3759)
  • Enhancement: Document instructions for updating indexer e2e test input (#3704)
  • Ledger: Replace ledger.lookupresource with lookup{application,asset} (#3708)
  • Ledger: updates and tests for AccountInformation REST API (#3564)
  • Ledger: Move prefetcher to a new package (#3735)
  • Participation Key Registry: Complete cleanup (#3768)
  • Prefetcher: Add eval vs prefetcher alignment tests (#3729)
  • REST API: Use errorresponse instead of accountserrorresponse (#3737)
  • REST API: ledger refactor: changes to REST API to support more resources (#3542)
  • REST API: Split msgpack API type AccountResourceModel into two (#3679)
  • Telemetry: Replace the uuid package dependency (#3715)
  • Tests: Update test5massetsscenario e2e test (#3750)
  • Tests: Improve 6m asset testing performance (#3749)
  • Tests: improve goal-partkey: Info test logging (#3753)
  • Tests: E2e testing c2c with clearstateprogram (#3693)
  • Tests: Test 6m assets/apps per account (#3739)

Bugfixes

  • Agreement: Fix fuzzer test networkfacade clock implementation (#3716)
  • Agreement: Add messages handled/dropped tagcounters (#3712)
  • Agreement: Add validatedat to proposal type and blockacceptedeventdetails message (#3703)
  • Fast catchup: Retry peers fetching (#3711)
  • Account Manager: Avoid taking locks for long period of time (#3717)
  • Agreement: Add warning when decoding proposal of an unsupported consensus version (#3730)
  • Ledger: Fix lookuplatest when the ledger advances (#3769)
  • Prefetcher: ensure the grouptask.incompletecount is allocated on a 64: Bit aligned address (#3740)
  • REST API: Fix check for record.appparams in accountapplicationinformation (#3707)
  • REST API: Dryrun scratch slot type fix (#3736)
  • REST API: Fix typo in openapi json and yml files (#3741)
  • Telemetry: Fix version configuration (#3718)
  • Tests: Fix testassetconfig test to support unlimited assets (#3710)

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: