TestNet and MainNet Update: 3.2.1

MainNet and TestNet have been updated to 3.2.1 today, Wed Dec 8, 2021 10:00AM EST (3:30PM UTC). This release does not contain a consensus upgrade.

** FYI for anyone using apt, we recently renewed our gpg keys, so please find our new public key here: https://releases.algorand.com/key.pub **

curl -O https://releases.algorand.com/key.pub
sudo apt-key add key.pub

Changelog

  1. Goal

  2. Algod

    • BugFix
    • Enhancement
      • Move Local structure definition to localTemplate (#3161)
      • Fix typo in batchverifier.go (#3176)
      • Update go mod/sum to include updated algorand/websocket (#3221)
      • Add application account into a dryrun req created by goal (#2945)
  3. Ledger

    • New Feature
      • Implement LookupAgreement (#3046)
      • Add indexerLedgerForEval interface (#2897)
    • BugFix
      • Ensure i/o failure is correctly handled (Fix error shadowing in Eval #3258)
      • Fix regression in transaction pool (#3029)
      • Fix regression in TestReproducibleCatchpointLabels (#3037)
      • Refactor fix catchpoint tracker (#3214)
    • Enhancement
      • Make fields in ledger.Creatable public (#3125)
      • Refactor evaluator into an internal package (#2983)
      • Move accountdb schema migration to trackerdb.go (#2984)
      • Allow all trackers committing into DB (#3014)
      • Preload resources argument in EvalForIndexer (#3019)
      • Move StartEvaluator parameters into a parameters object (#3030)
      • Create catchpoint tracker (#3085)
      • Add err to solicitedAsyncTxHandler.loop log message (#3123)
      • Enable totals calculation in eval for indexer (#3124)
      • Do final validation in endOfBlock() (#3132)
      • Refactor maxPaysetHint → avarageEncodedTxnSizeHint (#3162)
      • roundCowBase: use lookup() instead of going to ledger directly (#3173)
      • ledger: move account totals calculation to StateDelta (#2922)
      • Remove time ledger tracker as not used (#2937)
      • fix EvalForIndexer (algorand#2941)
      • Cache creators in cow base (#2839)
      • ledger: refactor the ledger Totals (#2846)
      • Extended logic eval error (#2975)
  4. Agreement

    • Bugfix
      • Handle pseudo node enqueueing failures (#2741)
  5. Catchup

    • Bugfix
      • Ignore benign evaluator failures (#3135)
    • Enhancement
      • Avoid requesting blocks that aren’t needed by the ledger (#3089)
  6. Consensus

    • BugFix
      • Fix panic on closing nil db (#3175)
    • Enhancement
      • Added Participation Key Expiration Check (#2924)
      • Use LookupAgreement in AlgorandFullNode.VotingKeys() (#3050)
      • Participation Key Interface (#3164)
      • Make proposal assembly time configurable (#3165)
  7. DevOps

    • Bugfix
      • Fix CircleCI deploy for Betanet and Stablenet (#3077)
    • Enhancement
      • Changing Circleci workflow name (#2887)
      • Increase machine size to large and use consistent parallelism for Circleci nightly testing (#3016)
      • Removing integration tests from Travis steps (#3023)
      • Integrate Buildpulse to check release checksums (#3051)
      • Move deploy from TravisCI to CircleCI (#3075)
      • Optimize Circleci machine sizes and parallelism (#3095)
      • Disabling re-building of binaries in Circleci during upload stage (#3112)
      • Make heapwatch.py port configurable (#3143)
      • Remove all but windows builds from Travis (#3154)
      • Add c5d.4xlarge and c5d.18xlarge us-east-2 to hosttemplates.json (#3160)
      • Use large VMs for integration tests (#3201)
      • use matrix for CircleCI config (#2864)
      • Support arm cross compile (#2923)
      • Rotate Travis Env Variables and Remove codecov Env variable (#2934)
  8. Indexer

    • Enhancement
      • Allow getting versions for any package. (#2935)
  9. Network

    • Bugfix
      • Fix missing TX registration (#3080)
      • Update the websocket library (#3131)
    • Enhancement
      • Add initial support for latency tracking (#3028)
  10. REST API

    • BugFix
      • Removed Register handler (#3130)
    • Enhancement
      • Fix global-state-schema key name in REST API spec (#2972)
  11. Teal and tealdbg

    • New Feature
      • Refactor ABI encoding feature (#3055)
      • Enable debugging itxn programs (#2900)
      • Enable cost and fee pooling in tealdbg (algorand#2954)
      • Start work on Teal 6 (AVM 1.1) (#2974)
    • Bugfix
      • Fixed off-by-one error in the assembler’s typeDig() (#3056)
      • Use associated group index instead of global (#3111)
      • Trim whitespaces before/after each line of TEAL code (#3128)
      • Fix dryrun crash on rewards calculation (#2894)
    • Documentation
      • Clarify get_ex opcode docs (#3208)
    • Enhancement
      • Make bytes and pushbytes check their immediate better (and similarly) (#3087)
      • Support creation of inner transaction groups (#3009)
      • Hide unexposed fields (#3119)
      • Report assembly error strings for compile API endpoint (#3190)
      • Add Goal ABI method outfile checking (#3204)
  12. Testing

    • Bugfix
      • Fix potential race in TrxSync TestBasicCatchpointCatchup test (#3033)
      • Fix failure in TestAccountInformationV2 (#3049)
      • Fix bug in TestRekeyUpgrade (#3026)
      • Fix random failures TestWaitAndAddConnectionTimeLongtWindow (#2903)
      • Fix unit test (#2926)
      • TestRequestBlockBytesErrors: Various fixes (#2928)
      • testing: fix TestLatestSigsFromThisNode (#2940)
      • testing: metrics_delta.py fixes (#2962)
      • fix flaky axfer txn e2e test (#2973)
    • Enhancement
      • Disable the participation key refresh on the TestPartitionHalfOffline test (#3017)
      • Adjust the application of dontReportFailures in syncTest (#3018)
      • Make the TestMultiThreaded run at a constant time (#3035)
      • Close handle in importRootKeys (#3039)
      • Adjust TenNodesDistributedMultiWallet.json to use smaller key dilution (#3041)
      • Remove redundant checking from TestParticipationAccountsExpirationFuture (#3043)
      • Remove duplicate testing of accounts totals (#3053)
      • Modify TestAccountInformationV2 to wait for transaction (#3098)
      • Add unit test to avoid new string fields (#3101)
      • Refactor ledger internal tests (#3149)
      • e2e tests for log (#2950)
      • e2e tests for axfer, acfg, and afrz inner txns (#2947)
      • Lots of testing convenience improvements, including e2e python (#2936)
  13. Misc

    • readme grammar change (#2938)

Protocol Upgrade

This release does not contain a protocol upgrade.

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: