# MainNet and TestNet Update: Go-Algorand 4.2.1

**URL:** <https://forum.algorand.co/t/mainnet-and-testnet-update-go-algorand-4-2-1/14834>\
**Category:** Announcements\
**Tags:** testnet, mainnet\
**Created:** [August 5, 2025, 2:42pm UTC](https://forum.algorand.co/t/mainnet-and-testnet-update-go-algorand-4-2-1/14834 "2025-08-05T14:42:41Z")\
**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:** [August 5, 2025, 2:42pm UTC](https://forum.algorand.co/t/mainnet-and-testnet-update-go-algorand-4-2-1/14834/1 "2025-08-05T14:42:41Z")

</div>

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

# Overview

This release is in preparation for general P2P support roll out. In this initial phase, you can opt-in by setting `EnableP2PHybridMode: true` in your configuration .

# What’s New

- Several Reliability/Performance improvements to bring Hybrid P2P support to GA
  - Privacy protection when making P2P connections
  - Relay-relay network connection prioritization

- Updates of CentOS/Darwin build targets
- Logging that explicitly lays out what specific configurations are being ‘auto-migrated’

# Changelog

## New Features

- Cicd: GitHub Actions workflows for nightly and PR tests ([#6346](https://github.com/algorand/go-algorand/pull/6346))

## Enhancements

- API: Avoid downstream generated type changes for pre-existing TransactionP… ([#6375](https://github.com/algorand/go-algorand/pull/6375))
- Build: Use latest oapi-codegen instead of fork. ([#6306](https://github.com/algorand/go-algorand/pull/6306))
- Build(deps): bump [GitHub - getkin/kin-openapi: OpenAPI 3.0 (and Swagger v2) implementation for Go (parsing, converting, validation, and more)](http://github.com/getkin/kin-openapi) from 0.107.0 to 0.131.0 ([#6326](https://github.com/algorand/go-algorand/pull/6326))
- Build(deps): bump [GitHub - pion/interceptor: Pluggable RTP/RTCP processors for building real time communication](http://github.com/pion/interceptor) from 0.1.37 to 0.1.39 ([#6362](https://github.com/algorand/go-algorand/pull/6362))
- Chore: Remove code that was need only during consensus update ([#6371](https://github.com/algorand/go-algorand/pull/6371))
- Chore: Move allocbounds ([#6324](https://github.com/algorand/go-algorand/pull/6324))
- Ci: add test result uploads and refactor nightly config ([#6372](https://github.com/algorand/go-algorand/pull/6372))
- Cicd: switch nightly uploads to GitHub Actions ([#6360](https://github.com/algorand/go-algorand/pull/6360))
- Config: reorg to allow use of basics ([#6325](https://github.com/algorand/go-algorand/pull/6325))
- Crypto: add SHA-512 hashes ([#6339](https://github.com/algorand/go-algorand/pull/6339))
- Dev: add auto-generated CLAUDE.md file ([#6379](https://github.com/algorand/go-algorand/pull/6379))
- Libgoal: bump defaultKMDTimeoutSecs ([#6353](https://github.com/algorand/go-algorand/pull/6353))
- Logging: log configuration migration messages ([#6384](https://github.com/algorand/go-algorand/pull/6384))
- Network: disable pubsub PX for hybrid relays ([#6385](https://github.com/algorand/go-algorand/pull/6385))
- Network: refactor networking mesh maintaining code ([#6374](https://github.com/algorand/go-algorand/pull/6374))
- Network: do not use telemetry id for p2p nets ([#6381](https://github.com/algorand/go-algorand/pull/6381))
- Network: add “uncompressed bytes by tag” metric ([#6334](https://github.com/algorand/go-algorand/pull/6334))
- Network: enable vote compression for P2PNetwork ([#6331](https://github.com/algorand/go-algorand/pull/6331))
- Node: fallback to ws or p2p on hybrid misconfiguration ([#6376](https://github.com/algorand/go-algorand/pull/6376))
- Node Exporter: update binaries with new golang build and add arm64 support ([#6387](https://github.com/algorand/go-algorand/pull/6387))
- Ops: Bump ubuntu and centos versions for building and testing ([#6378](https://github.com/algorand/go-algorand/pull/6378))
- Refactor: use maps.Copy for cleaner map handling ([#6373](https://github.com/algorand/go-algorand/pull/6373))
- Refactor: use slices.Contains to simplify code ([#6357](https://github.com/algorand/go-algorand/pull/6357))
- Refactor: use the built-in max/min to simplify the code ([#6338](https://github.com/algorand/go-algorand/pull/6338))
- Syntax: Use “type X” syntax instead of “type ( … )” ([#6364](https://github.com/algorand/go-algorand/pull/6364))
- Tests: test vFuture, so we are exercising branch512 ([#6365](https://github.com/algorand/go-algorand/pull/6365))

## Bugfixes

- API: Revert boxes pagination ([#6343](https://github.com/algorand/go-algorand/pull/6343))
- API: Update ‘value’ in API Box type to be optional (reflecting updated get… ([#6333](https://github.com/algorand/go-algorand/pull/6333))
- Agreement: fix mainLoop vs Shutdown race ([#6349](https://github.com/algorand/go-algorand/pull/6349))
- Ci: run PR tests on release PRs ([#6390](https://github.com/algorand/go-algorand/pull/6390))
- Cicd: fix short test flag and up parallelism ([#6370](https://github.com/algorand/go-algorand/pull/6370))
- Cicd: fix upload and make e2e\_subs\_nightly required ([#6369](https://github.com/algorand/go-algorand/pull/6369))
- Cicd: add missing AWS credential configuration to e2e\_subs ([#6368](https://github.com/algorand/go-algorand/pull/6368))
- Cicd: fix uploading testdata in nightlies ([#6367](https://github.com/algorand/go-algorand/pull/6367))
- Cicd: fix upload and slack failure For GitHub Actions and update badges ([#6366](https://github.com/algorand/go-algorand/pull/6366))
- Config: update diagcfg to properly set globalDir ([#6394](https://github.com/algorand/go-algorand/pull/6394))
- Dev: fix darwin universal targets ([#6383](https://github.com/algorand/go-algorand/pull/6383))
- Network: count received traffic before decompression ([#6330](https://github.com/algorand/go-algorand/pull/6330))
- P2p: ignore initial no peers error in capabilities advertisement ([#6310](https://github.com/algorand/go-algorand/pull/6310))
- Tests: fix flaky TestLedgerBlockHeaders UpgradeState check ([#6382](https://github.com/algorand/go-algorand/pull/6382))
- Tests: waitFor was badly broken ([#6359](https://github.com/algorand/go-algorand/pull/6359))
- Tests: be _under_ 1A, not equal ([#6335](https://github.com/algorand/go-algorand/pull/6335))

## Protocol Upgrade

This release does not contain a protocol upgrade.

## Additional Resources

- [Algorand Forum](https://forum.algorand.co)
- [Developer Portal](https://dev.algorand.co)
