BetaNet Update: Version 2.4.0

BetaNet will be upgraded to version 2.4.0 on Tuesday 1/19 at 10:30am EST.

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.

If this is not the case, you can update the binary, but aren’t required to do so.

Summary of Contained Changes in Upgrade:


Primarily enhancements and fixes to Fast Catchup, but other logging improvements, miscellaneous optimizations, and other fixes as well.


  1. General
    • Enhancements
      • Add payset benchmarks
      • Create a unified transaction verification cache
      • Small transaction pool rebuild & assembly optimizations
      • Benchmark account db random reads and BlockEvaluator
    • Bug Fix - fix return code testing & fix data directory cloning
  2. Catchup
    • New Feature - add the ability to disable catchup in config file
    • Enhancements
      • Allow catchpointdump to download a single catchpoint from a specified relay
      • Compact accounts deltas before persisting to disk
      • Convert the catchpointWriting from a channel to an atomic variable
      • Refactor account updates consistency checking
      • Update catchpointdump utility to have progress bars
    • Bug Fixes
      • Clear roundDigest when fast catchup is switching off
      • Fix catchup concurrently from a single host
      • Incorrect block download retry accounting during fast catchup
  3. Config
    • Bug Fix - fix DNSBootstrapArray returning empty strings
  4. Goal
    • Enhancements
      • Generate error on goal clerk group on signed transaction
      • Pass transaction groups correctly to logicsig evaluator
  5. KMD
    • Enhancement - better kmd permission error message
  6. Ledger
    • Enhancement - parallelize proposal transactions signature verification
    • Bug Fix - fix in memory database bug revealed by TestFullCatchpointWriter
  7. Logging
    • Enhancements
      • Improve agreement cadaver & crash database error handling
      • Improve error logging of elastic search telemetry module
      • Improve node error code checking
  8. Network
    • Enhancements
      • Add explicit error for stale network message writes
      • Use OS and fallback DNS servers in DNSSEC resolver
    • Bug Fix - fix network peers list memory leak
  9. Tools
    • Enhancements
      • Code style fixes DNSSEC client
      • Create configuration file using config.Local data structure
      • Get system DNS on Windows
      • Show all errors, not just the first, when compiling TEAL
    • Bug Fix - add f.Close() return code testing in SystemConfig()
  10. Tests
    • Enhancements
      • Add travis_retry to build and test commands in case of random failures
      • Disable cadaver for mainnet model
      • Disable cadaver for mainnet model, include config overrides this time
      • Improve catchpoint catchup expect test by not compiling on the fly
      • Remove code quality checking on integration tests builds
      • Set CadaverSizeTarget to 0 for Scenario testing
    • Bug Fixes
      • Fix a race in arm test in algoh startup and algod.* files creation
      • Fix arm64 failures running TestAlgohWithExpect
      • Fix miscellaneous bugs in goalAsset expect test
      • Fix random limit order test
      • Fix various bugs in expect tests
      • Wait for EOF on StartNetwork/StopNetwork and test status correctly
  11. Other
    • Enhancements
      • Add transaction evaluation distribution metrics
      • Check minimal go version 1.14 prior the build
      • Pipeline - clean up environmental variable usage to simplify building
      • Run gofmt against source code
      • Update go files to have license range of 2021
      • Use go tooling to get version from go.mod instead of parsing
    • Bug Fixes
      • Pipeline - fix download location when signing build assets
      • Pipeline - fix releases-page task
      • Pipeline - minimal bug fixes for latest package deployment

Protocol Upgrade

This release does not contain a consensus protocol upgrade.

Additional Resources

To update your current version of BetaNet to 2.4.0, run the following goal command:

./ -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