BetaNet Update: 2.8.0

BetaNet is scheduled to upgrade to version 2.8.0 tomorrow, Wed July 21, 2021 10:30AM ET (2:30PM UTC).

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

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
      • Add Extract opcodes
      • 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

To update your current version of BetaNet to 2.7.0, 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: