github algorand/go-algorand v2.8.0-stable
Algorand 2.8.0

3 years ago

GitHub Logo

Highlights

This is a maintenance release focused around many test improvements and other optimizations. Additionally there are some added improvements, such as:

  • Local private network devMode for rapid transaction testing
  • Improved support for non-utf-8 data in asset parameter name, unit name, and url fields, through the addition of base64 fields
  • Support for CentOS 8 Stream in RPM
  • Changes to support future AVM 1.0

Changes

  1. REST API
    • New Feature - add handling for non-utf 8 asset names
    • Enhancements
      • Use byte format for asset b64 fields
      • Use dashes in v2 API.
    • Bug Fix - initialize past side effects with correct length during dryrun requests
  2. TEAL
    • New Features
      • Selector pseudo-op in support of ABI
      • vFuture: creator access and app_params_get
    • Enhancements
      • Infrastructure to check AVM stack manipulation opcodes better
      • Specs and unit test to avoid forgetting in the future
    • Bug Fixes
      • Addressing panic in assembler
      • Minor change to rename helper function in Extract ops
  3. Catchup
    • Enhancement - avoid requesting unsupported blocks by the ensure digest catchup path
    • Bug Fixes
      • Fixes to peer selector and TestBasicCatchpointCatchup
      • Fix potential nil dereferencing
  4. Ledger
    • Enhancements
      • Lruaccts write speedup
      • optimize txtail memory consumption
  5. Network
    • Enhancement - reduce unneeded contention around checking the peers connectivity
  6. Node
    • New Feature - add initial devMode support
    • Bug Fixes
      • Allow to parse ipv6 localhost "[::]:4601"
      • Fix regex for matching charset of valid DNS hosts, add test
  7. Logging
    • Enhancement - re-use host ID if present
  8. Tests
    • Enhancements
      • Add enums to player permutation tests
      • Add ledger coverage for onlineacct roundlru txtail
      • Implement hello circleci yaml
      • Improve TestMetricSegment test reliability
      • Restore TestPeriodicSync and TestBasicCatchpointCatchup tests.
      • Added benchmark to lruAccounts write function
      • Enable TestPartkeyOnlyRewards on macos
      • Add unit tests for ledger BlockQueue
      • Enable previously disabled TestConfigMigrate unit test
      • Enable unit tests on travis mac build
      • Improve lruaccts benchmark
      • Improve msgp codec testing
      • Improve testing of alloc bounded slices
      • Make TestPeersDownloadFailed and TestHistoricData predictable
      • Move extra page test to e2e_subs
      • Move travis_retry to skip rebuilding
      • Remove deprecated transaction pool e2e tests
      • Use periodicSyncLogger for cleaner test runs
    • Bug Fixes
      • Avoid division by zero during TestBasicCatchpointWriter
      • Fix 10 minute timeout in travis
      • Fix and enable TestNewAccountCanGoOnlineAndParticipate
      • Build: fix travis nightly build failure
      • Fix random failure in TestWebsocketNetworkPrioLimit
      • Fix random failures in TestPeriodicSync
      • Avoid running TestAgreementSynchronous10 on nightly build
      • Ensure deploy_linux_version generates a linux/amd64 binaries for algonet usage
      • Fix gotestsum install
      • Fix telemetry unit tests
      • Lookup in no-GOPATH locations for packages in gocodec testing
  9. Other
    • New Features
      • Add Fedora support into install_linux_deps.sh
      • Test conditional slack alert for build status
      • Use golangci-lint
    • Enhancements
      • Update Github engineering template
      • Replace yum-cron with dnf-automatic to support centos 8
      • Run misspell linter with -w flag
      • Specify truncated division is used in TEAL in documentation
      • Typos, grammar, inconsistencies
    • Bug Fixes
      • Add missing txna allowed args to doc and langspec
      • Fix darwin-arm64 builds
      • Fix docker repo update

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Don't miss a new go-algorand release

NewReleases is sending notifications on new releases.