BetaNet Update: 3.2.0

BetaNet is scheduled to upgrade to version 3.2.0, today, Wed Nov 24, 2021, by EOD. This release does not contain a consensus upgrade.

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.

Highlights

Enhancements to Ledger and Smart Contract functionality.

Changelog

  1. Agreement

    • Bugfix
      • Handle pseudo node enqueueing failures (#2741)
  2. Algod

    • BugFix
      • Update sys to resolve golang 1.17 local build crash (#3157)
    • Enhancement
      • Move Local structure definition to localTemplate (#3161)
      • Fix typo in batchverifier.go (#3176)
      • Update go mod/sum to include updated algorand/websocket (#3221)
  3. Catchup

    • Bugfix
      • Ignore benign evaluator failures (#3135)
    • Enhancement
      • Avoid requesting blocks that aren’t needed by the ledger (#3089)
  4. 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)
  5. 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)
  6. go-algorand

    • Merge with master
      • Re-merge go-algorand 3.1.3-beta (#3230)
  7. Goal

    • New Feature
      • Add ABI support to goal (#3088)
  8. Indexer

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

    • New Feature
      • Implement LookupAgreement (#3046)
    • Bugfix
      • 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)
  10. Network

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

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

    • New Feature
      • Refactor ABI encoding feature (#3055)
    • 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)
    • 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)
  13. Testing

    • Bugfix
      • Fix potential race in TrxSync TestBasicCatchpointCatchup test (#3033)
      • Fix failure in TestAccountInformationV2 (#3049)
      • Fix bug in TestRekeyUpgrade (#3026)
    • 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)

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

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: