# MainNet and TestNet Update: Go-Algorand 4.0.2

**URL:** <https://forum.algorand.co/t/mainnet-and-testnet-update-go-algorand-4-0-2/14186>\
**Category:** Announcements\
**Tags:** testnet, mainnet\
**Created:** [February 19, 2025, 4:50pm UTC](https://forum.algorand.co/t/mainnet-and-testnet-update-go-algorand-4-0-2/14186 "2025-02-19T16:50:31Z")\
**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:** [February 19, 2025, 4:50pm UTC](https://forum.algorand.co/t/mainnet-and-testnet-update-go-algorand-4-0-2/14186/1 "2025-02-19T16:50:31Z")

</div>

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

# Overview

This release is a follow-up to [v4.0.1](https://github.com/algorand/go-algorand/releases/tag/v4.0.1-stable). It fixes an occasional issue with catchpoint file consistency. Additionally, a change to requesting block headers from the API was included, to fix issues generating downstream SDKs.

# What’s New

- Update to catchpoint generation
- Move block header requests to block endpoint and make cert and paysets optional
- Devmode: zero out ProposerPayout when Proposer not set

# Changelog

## Enhancements

- Build: upgrade minimum MacOS version to 13 ([#6223](https://github.com/algorand/go-algorand/pull/6223))
- Catchpoints: log ledger download failures ([#6227](https://github.com/algorand/go-algorand/pull/6227))
- Comments: Correct deadline comment issue#6201 ([#6241](https://github.com/algorand/go-algorand/pull/6241))
- Db: Remove AtomicContextWithRetryClearFn, rename to AtomicContext ([#6231](https://github.com/algorand/go-algorand/pull/6231))
- P2p: exclude self from GetPeers results ([#6132](https://github.com/algorand/go-algorand/pull/6132))
- Refactor: using slices.Contains to simplify the code ([#6234](https://github.com/algorand/go-algorand/pull/6234))
- Tests: add catchpoint downloading/parsing to e2e catchup tests ([#6224](https://github.com/algorand/go-algorand/pull/6224))

## Bugfixes

- API: Block Header API Revamp ([#6248](https://github.com/algorand/go-algorand/pull/6248))
- API: Explicitly set the x-algorand-format for BlockHeaderResponse to 'Bloc… ([#6247](https://github.com/algorand/go-algorand/pull/6247))
- Catchpoints: add accountsRound check against R-320 horizon values to catchpointFileWriter ([#6240](https://github.com/algorand/go-algorand/pull/6240))
- Devmode: Zero out ProposerPayout when Proposer is not set (which i… ([#6239](https://github.com/algorand/go-algorand/pull/6239))
- Tests: Don't fail for heartbeat in same block as proposal ([#6229](https://github.com/algorand/go-algorand/pull/6229))
- Tests: Moar unflaky ([#6228](https://github.com/algorand/go-algorand/pull/6228))
- Catchpoints: move logic in readDatabaseStep to reusable catchpointOnlineAccountsIterWrapper ([#6253](https://github.com/algorand/go-algorand/pull/6253))

## Protocol Upgrade

This release does not contain a protocol upgrade.

## Additional Resources

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