github algorand/go-algorand v2.4.1-stable
Algorand v2.4.1

2 years ago


GitHub Logo


Primarily enhancements and fixes to Fast Catchup and DNSSEC, but other logging improvements, miscellaneous optimizations, and other fixes as well. This release also fixes an issue with telemetry configuration being set incorrectly, in a bug that was introduced in 2.3.0.


  1. General
    • Bug Fix - fix return code testing & fix data directory cloning
  2. Catchup
    • New Feature - add the ability to disable catchup in config file
    • 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 Fixes
    • Fix DNSBootstrapArray returning empty strings
    • Read from global logging config if data dir not provided
    • Fix regression to loadTelemetryConfig introduced in 2.3.0
  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
    • Create a unified transaction verification cache
    • Small transaction pool rebuild & assembly optimizations
    • Compact accounts deltas before persisting to disk
    • Convert the catchpointWriting from a channel to an atomic variable
    • Refactor account updates consistency checking
  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
      • Get system DNS on Windows
    • Bug Fix - add f.Close() return code testing in SystemConfig()
    • Bug Fix - fix network peers list memory leak
    • Code style fixes DNSSEC client
  9. Tools
    • Enhancements
      • Create configuration file using config.Local data structure
      • Show all errors, not just the first, when compiling TEAL
      • Allow catchpointdump to download a single catchpoint from a specified relay
      • Update catchpointdump utility to have progress bars
  10. Tests & Benchmarks
    • Benchmarks
      • Add payset benchmarks
      • Benchmark account db random reads and BlockEvaluator
    • 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
      • Pipeline - move check_golang_version check to fix travis builds

Protocol Upgrade

This release does not contain a consensus protocol upgrade.

Additional Resources

Don't miss a new go-algorand release

NewReleases is sending notifications on new releases.