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

2 years ago

GitHub Logo


  • Miscellaneous bug fixes
  • Some slight performance optimizations
  • Additional tests and fixes to existing tests
  • Work to implement new packaging pipeline
  • Initial backend support for compact certificate development


  1. Agreement
    • Enhancements
      • Add consensus-driven agreement filter timeout
      • Vote validation error refactor
      • Deprecate algolambdamsec environment variable
  2. Algod
    • Bug Fix - exit algod with a non-zero in case of a startup error
  3. Catchup
    • Enhancements
      • Minor catchpoint REST handler error code cleanup
      • Improve RestoringFromCatchpointFile benchmark precision
    • Bug Fix - ensure syncStartNS is managed correctly across catchpoint file writing
    • Add detailed error logging in case of failed blocks download
  4. Crypto
    • Enhancement - add more inputs into hashCoin() for better hygiene
  5. General
    • New Features
      • Core crypto primitives for compact certificates
      • Added a transaction type to store compact certificates
    • Bug Fix - modify the error messages for parseIntcblock to distinguish from parseBytecblock
  6. Goal
    • Enhancements
      • Fix inconsistencies in goal asset command
      • Add goal account info command
      • Output error when 'goal node stop' is run on invalid/non-existing directory
    • Bug Fix - Avoid printing control characters from goal
  7. Ledger
    • New Feature - commit to Merkle tree of online participants in block header
    • Enhancements
      • Implement tracking of top-N online accounts in the ledger
      • Add metrics for the various ledger components
      • Cache the most recent Seed/Circulation calls to reduce pressure on ledger
      • Remove the Lookup from the ledgerForEvaluator interface
      • Decouple database round and acctupdate round
      • Fix typos in ledger package
      • Optimize listCreatables implementation
      • Repack merkle trie pages before flush
      • Extend account lookup to include validity range
    • Bug Fixes
      • Calculate normalized balance using genesis proto
      • Add syncMu to AlgorandFullNode OnNewBlock
  8. Transaction Pool
    • Bug Fixes
      • Refactor AssembleBlock error
      • Limit txpool size by transaction count rather then transaction groups count
      • Correct the accounting of transactions in checkPendingQueueSize
      • Correctly account for bloom filter binary marshaling size
  9. Network
    • Enhancements
      • Remove expected ReadError events
      • Add ASCII filtering for remote requests logged data
  10. REST API
    • New Feature - new endpoint /genesis.json
    • Enhancements
      • Don't return an error when requesting the same catchpoint multiple times
      • Add new line characters allowing proper Markdown formatting when docs are generated from this source file
      • REST docs update: /v1/account/{addr}/transactions
    • Bug Fixes
      • Add versions endpoint to spec, fix versions model objects
      • Allow max and assetIndex to be optional
      • Return 404 if v1/transaction/{txid} doesn't find the txn.
      • Set content type header for health endpoint
  11. Telemetry
    • Bug Fixes
      • Correct Telemetry uploading message reported in node.log
      • Change telemetryConfig from global variable to a member of the logger
  12. Tools
    • Enhancements
      • Added a new recipe for performing network disruption tests.
      • Simplifed dryrunning and debugging group transactions
      • Add support for algorelay deleting unused SRV and DNS entries
      • Add txn.Accounts and txn.ApplicationArgs support to tealdbg
      • Improve goal node start error reporting in case of algod errored
      • Tealdbg: listen for upcoming spinoff connections
      • Netgoal general templates
    • Bug Fixes
      • Improve network template validation
  13. Tests
    • New Feature - performance testing with realilistic network performance
    • Enhancements
      • Add concurrent read and write test from database table
      • Add a unit test to confirm BinaryMarshalLength correctness
      • Added more deb and rpm package tests
      • Coverage tests for ledger/acctupdates
      • Cleanup buggy dead code
      • Implement e2e test for tealdbg
      • Increase code coverage of tealdbg unit tests
      • Tweak the mainnet-model recipe
      • Added auth middleware tests
      • Added debugger coverage test
      • Add a benchmark to test restoring from catchpoint performance
      • Add unit tests for equal functions in teal.go
      • Add a benchmark for writeCatchpointStagingBalances
      • Improve db insertion benchmark - add ordered insertions
      • Add additional ledger tests
      • Updates to support testing TEAL application size
    • Bug Fixes
      • Extend expect timeout when checking account balance
      • Fix random failure in goalNodeTest.exp
      • Fix random failure in goalAppAccountAddressTest.exp
      • Fix unreliable network unit test TestSlowPeerDisconnection
      • Fix data race in TestPing unit test
      • Remove close from eof pattern match to remove error message
      • Test for process return in expect tests
  14. Other
    • New Feature - add support for building native Windows binaries
    • Enhancements
      • Update new issue template
      • Update rpm packaging to allow for more scenarios
      • Update deploy scripts to reflect current deploy strategy
      • Formatting updates with make sanity
      • Added S3_SOURCE env var to specify source of packages for signing
      • Implement mule packaging pipeline
      • Remove devtools binaries from algorand package (rpm)
      • Remove hardcoded dependency package names from package scirpts
      • Fix pathing issue to installer directory in packaging scripts
      • Simplify mule signing task
      • Update mule docs for new pipeline
      • Add support for Windows compilation on travis
      • Remove unused dockerfiles
      • Added package-upload mule task
      • Create mule tasks for aptly, releases page and docker hub images
    • Bug Fixes
      • Remove commas from mule yaml files
      • Revert change to grep recommended by shellcheck
      • Remove Travis token, which is not needed for open source repos
      • Many fixes for implementing new packaging pipeline

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.