# TestNet and MainNet Update: 3.7.2

**URL:** <https://forum.algorand.co/t/testnet-and-mainnet-update-3-7-2/7145>\
**Category:** Announcements\
**Tags:** testnet, mainnet\
**Created:** [June 14, 2022, 2:37pm UTC](https://forum.algorand.co/t/testnet-and-mainnet-update-3-7-2/7145 "2022-06-14T14:37:04Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![devops-service](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.algorand.co/devops-service/32/2205_2.png) [@devops-service](https://forum.algorand.co/u/devops-service)\
**Post date:** [June 14, 2022, 2:37pm UTC](https://forum.algorand.co/t/testnet-and-mainnet-update-3-7-2/7145/1 "2022-06-14T14:37:04Z")

</div>

MainNet and TestNet will be updated to 3.7.2 Tue Jun 14, 2022 10:30AM EDT (2:30PM UTC).

 ![GitHub Logo](https://us1.discourse-cdn.com/flex016/uploads/algorand/original/1X/fcd756bba61094f9e8774e43ec402e311aeea50e.jpeg)

# Overview

Bandwidth optimization for non-participating nodes and golang 1.17 upgrade.

# What’s New

- Non-participating nodes do not receive gossiped proposed transactions by default
- Building from source now supported for M1 Mac
- Golang 1.17 upgrade

**Note**

A new flag was added to `update.sh` that will enable checksum and signature verification on the downloaded `updater` archive with the goal that at some point in the future, this will be the default. This requires that `gpg` and `sha256sum` are available on the system to be able to perform the checks. To start using this, pass `-verify` when calling the script. If `-verify` is not explicitly passed, `update.sh` will function the same as before.

# Changelog

## New Features

- Build: Bump golang to 1.17.9/Mac M1 Support ([#3919](https://github.com/algorand/go-algorand/pull/3919))

## Enhancements

- Algod: Add a sourcemap flag for compile endpoint ([#3938](https://github.com/algorand/go-algorand/pull/3938))
- Algod API: Remove errant base64 docs reference ([#3982](https://github.com/algorand/go-algorand/pull/3982))
- Algokey: Add -v flag to get the version ([#4004](https://github.com/algorand/go-algorand/pull/4004))
- Build: Add install\_buildtools.sh to check\_deps.sh error message ([#3921](https://github.com/algorand/go-algorand/pull/3921))
- Ci: use tag to determine channel if possible ([#4017](https://github.com/algorand/go-algorand/pull/4017))
- Ci: add simple codecov config ([#3997](https://github.com/algorand/go-algorand/pull/3997))
- Cleanup: replace crypto.HashObj(Transaction) with Transaction.ID() ([#3958](https://github.com/algorand/go-algorand/pull/3958))
- Devops: Use Cloudflare API token instead of auth key ([#4039](https://github.com/algorand/go-algorand/pull/4039))
- Dryrun: Return EvalDeltas for failed executions in Dryrun ([#3929](https://github.com/algorand/go-algorand/pull/3929))
- Metrics: collect and report Go runtime.metrics ([#4041](https://github.com/algorand/go-algorand/pull/4041))
- Network: Non-participating Nodes Request Tx Gossip Only If Forcefetchtransactions: true ([#3918](https://github.com/algorand/go-algorand/pull/3918))
- Tealdbg: Add hidden "generate-docs" command ([#3830](https://github.com/algorand/go-algorand/pull/3830))
- Tests: Support e2e-go tests when repo is not installed in GOPATH. ([#3949](https://github.com/algorand/go-algorand/pull/3949))
- Tools: Add benchmark warnings for PRs and push graphs for commits into master ([#3998](https://github.com/algorand/go-algorand/pull/3998))
- Transaction Sync: Transition test ([#3882](https://github.com/algorand/go-algorand/pull/3882))

## Bugfixes

- Agreement: fix typo in bandwidthFilter\_test ([#4028](https://github.com/algorand/go-algorand/pull/4028))
- Ci: ensure msgp generator has been run and is clean ([#3978](https://github.com/algorand/go-algorand/pull/3978))
- Developer Tools: Add manjaro support to build script ([#3893](https://github.com/algorand/go-algorand/pull/3893))
- Dryrun: Split dryrun cost field into BudgetConsumed and BudgetAdded ([#3957](https://github.com/algorand/go-algorand/pull/3957))
- E2e Tests: Fixes for e2e test runs ([#3948](https://github.com/algorand/go-algorand/pull/3948))
- Fix: place updater in same directory as update.sh ([#3983](https://github.com/algorand/go-algorand/pull/3983))
- Metrics: update node\_exporter to support Linux diskstats ([#4047](https://github.com/algorand/go-algorand/pull/4047))
- Metrics: make metrics easier to use with prometheus ([#4020](https://github.com/algorand/go-algorand/pull/4020))
- Race Condition: Add lock around catchpointsMu to avoid race condition ([#3944](https://github.com/algorand/go-algorand/pull/3944))
- AVM: Allow app downgrades in old protocol versions ([#4086](https://github.com/algorand/go-algorand/pull/4086))
- Network: message-of-interest tiny bug fix ([#4107](https://github.com/algorand/go-algorand/pull/4107))

## Protocol Upgrade

This release does not contain a protocol upgrade.

## vFuture

vFuture changes are _not_ yet available in MainNet or TestNet but can be used in private networks.

### New Features

- AVM: Add bn256 pairing opcodes experimentally ([#4013](https://github.com/algorand/go-algorand/pull/4013))

### Enhancements

- AVM: base64\_decode can decode padded or unpadded encodings ([#4015](https://github.com/algorand/go-algorand/pull/4015))
- AVM: Allow immutable access to foreign app accounts ([#3994](https://github.com/algorand/go-algorand/pull/3994))
- AVM: Unify inner transaction ID calculation ([#3927](https://github.com/algorand/go-algorand/pull/3927))
- Stateproofs: New block header field - SHA256 merkle root of the transactions ([#3829](https://github.com/algorand/go-algorand/pull/3829))
- Stateproofs: fix GetProof endpoint response ([#3985](https://github.com/algorand/go-algorand/pull/3985))

* * *

## Additional Resources

- [Algorand Forum](https://forum.algorand.co)
- [Developer Documentation](https://developer.algorand.org)

To update your current version, run the following goal command: `./update.sh -c stable -i -d <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 yet, you can follow the instructions here: [Install a node - Algorand Developer Portal](https://developer.algorand.org/docs/run-a-node/setup/install/#updating-node)
