# TestNet and MainNet Update: 3.4.2

**URL:** <https://forum.algorand.co/t/testnet-and-mainnet-update-3-4-2/6158>\
**Category:** Announcements\
**Tags:** testnet, mainnet\
**Created:** [March 1, 2022, 7:00pm UTC](https://forum.algorand.co/t/testnet-and-mainnet-update-3-4-2/6158 "2022-03-01T19:00:33Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![johnlee](https://avatars.discourse-cdn.com/v4/letter/j/54ee81/32.png) [@johnlee](https://forum.algorand.co/u/johnlee)\
**Post date:** [March 1, 2022, 7:00pm UTC](https://forum.algorand.co/t/testnet-and-mainnet-update-3-4-2/6158/1 "2022-03-01T19:00:34Z")

</div>

MainNet and TestNet will be updated to 3.4.2 Wed Mar 2, 2022 10:30AM EST (3:30PM UTC).

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

| **IMPORTANT**  
**This release requires a protocol upgrade.**   
 This release contains a consensus protocol upgrade, which implements the following spec: [GitHub - algorandfoundation/specs at 85e6db1fdbdef00aa232c75199e10dc5fe9498f6](https://github.com/algorandfoundation/specs/tree/85e6db1fdbdef00aa232c75199e10dc5fe9498f6) |
| --- |

# Highlights

- **Contract to contract:** Smart contracts can now call other smart contracts, using the new inner transaction type appl
- **State Proof keys:** online participants will now generate Post Quantum-secure Falcon keys when renewing online status. These keys will be used to generate Algorand State Proofs
- **Batch Verification:** nodes can now group signatures in batches for faster verification

# Important Note

Note: Users running a local consensus private network with vFuture may need to rebuild the local network when upgrading their MainNet node.

# Changelog

1. Agreement
  - New Features
    - Integrate State Proof keys (#2990)
    - Batch verification to speed up the process of verifying the digital signature of several transactions (#3031)

  - Enhancements
    - Verify VotingKeys run time (#3551)
    - Removed hard \*coded constant in `sortition.go`. (#3558)
    - V31 consensus upgrade (#3553)

  - Bug Fix - add a fallback for missing state proof keys in participation file (#3619)

2. AVM (Algorand Virtual Machine)
  - New Feature
    - Contract to contract support (#3397)
    - vFuture: base64 decode opcode (#3220, #3288)

3. Algod
  - New Feature
    - ParticipationRegistry - StateProof loading methods (#3261)
    - PKI State Proof Incremental Key Loading (#3281)

  - Enhancements
    - Update Algod’s `/Accounts/ACCOUNTID` endpoint to return **Minimum Balance** information (#3287)
    - Enumerate conditions that might cause this fetchAndWrite to return false (#3301)
    - Add config.DeadlockDetectionThreshold (#3339)
    - Removing C/crypto dependencies from `data/abi` package (#3375)
    - Delete unused `AtomicCommitWriteLock()` (#3383)
    - Deprecate `FastPartitionRecovery` from `ConsensusParams` (#3386)
    - Add context to (most) agreement logged writes (#3411)

  - Bug Fixes
    - Use updated sumhash lib (#3684)
    - Remove batch verification flag from the compact certs struct (#3644)
    - Deregister metrics tracker on close (#3661)
    - Fix ParticipationKeyResponse type (#3264)
    - Fix: stop the completed catchup service (#3299)
    - blocks service: avoid serving blocks past service shutdown (#3303)

4. Goal
  - Enhancements
    - Support reference types in `goal app method` (#3275)
    - Support app creation in `goal app method` (#3353)
    - Update `goal account info` to return **Minimum Balance** information (#3287)
    - Update `goal app method` handling of args and return values (#3352)
    - Allow setting manager, reserve, freeze, and clawback at goal asset create (#3369)

  - Bug Fixes
    - Goal asset send does not respect fee set to 0 (#3592)
    - Separate Txn and PartKey validity for `goal account renewpartkey` (#3286)

5. Ledger
  - Enhancements
    - Signer.KeyDilution need not depend on config package (#3265)
    - Add totals checks into acct updates tests (#3367)

  - Bug Fixes
    - Fix `NextRewardsState()` (#3403)
    - Fix a potential problem of committing non \*uniform consensus versions (#3453)
    - Add stateproofid to accountdata.clearonlinestate() (#3643)
    - Fix ledger.eval code comments (#3623)

6. Network
  - Enhancements
    - Add a hash prefix for ARCs \*related hashes (#3298)
    - Delete unused constant (#3379)
    - Use rejecting limit listener in `WebsocketNetwork` (#3380)
    - Faster node shutdown (#3416)

7. Tx Sync
  - Bug Fix \* tx sync was incorrectly validating transactions (#3554)

8. REST API
  - Enhancements
    - Remove unused DeleteParticipationIdResponse type (#3500)
    - Adding another field for lsig disassembly (#3577)
    - Limit number of simultaneous REST connections (#3326)

  - Bug Fix \* fix prove bug on api (#3632)

9. Logging
  - Enhancements
    - Add Version KV to telemetry events (#3341)
    - Avoid generating log error on EnsureValidatedBlock / EnsureBlock (#3424)
    - Fix warning message on restore crash db (#3455)

10. Tools
  - New Features
    - add catchpointdump into tools package (#3590)
    - Add ‘algokey part keyreg’ (#3689)
    - Dryrun: Add gloads test (#3664)
    - Support logs and inner transactions in tealdbg (#3547)
    - algodump is a tcpdump \*like tool for algod’s network protocol (#3166)
    - Add convertAddress tool. (#3304)

  - Enhancements
    - Optimize catchpointdump utility (#3561)
    - catchpointdump: allow print filters (#3566)
    - Add filter fields to catchpointdump net command (#3598)
    - Tools: Goal node create improvements (#3639)
    - Tools: Decrease partkey rounds to 3mil for feature networks (#3662)
    - tealdbg: increase intermediate reading/writing buffers (#3335)

  - Bug Fix \* set genesis proto version in catchpointdump (#3596)

11. Tests
  - Enhancements
    - Improve testaccountinformationv2 (#3624)
    - set gotestsum format to standard: Verbose (#3634)
    - Test for catchup stop on completion (#3306)
    - Add test to exercise lookup corner cases (#3376)
    - Disable parallelism for e2e-go tests (#3242)
    - fix e2e.sh mixed indent characters (#3266)
    - Disable flaky test (#3268)
    - Add Custom Scenario for Performance Testing (#3278)
    - Reword partitiontest lint message. (#3297)
    - testing: improve new networks spawning performance (#3308)
    - Add help and fish mode to e2e interactive mode. (#3313)
    - Add slightly more coverage to TestAcctUpdatesLookupRetry (#3384)

  - Bug Fixes
    - Rollback changes to ParticipationExpirationTest (#3611)
    - Fix bug in TestParticipationAccountsExpirationFuture/TestParticipationAccountsExpirationNonFuture (#3616)
    - Fix participation key expiration tests (#3621)
    - Fix randomly failing testpseudonodefailedenqueuedtasks (#3683)
    - Fix a typo in agreement test (#3651)
    - Add partitiontest to tests. (#3658)
      - Fix unit test TestAsyncTelemetryHook\_QueueDepth (#2685)
      - Fix a data race in app tests (#3269)
      - TestEcdsa: fix flaky “tampering” of public key (#3282)
      - Fix random data race in TestAppAccountDataStorage (#3315)
      - Fix flaky test in randomized ABI encoding test (#3346)
      - Fix bug in testassetgroupcreatesenddestroy (#3631)
      - Remove parallel from txnproofs and fix timeout bug (#3628)

12. Other
  - Enhancements
    - Adding new scenario for feature networks (#3451)
    - Add bandwidth testing to perf pipeline (#3487)
    - Fixing telemetry ports for feature networks (#3497)
    - Update ledger README reference to trackers (#3540)
    - Add comment to help explain txntest.Txn rationale (#3574)
    - Moving windows build to Github Actions (#3575)
    - update THANKS.md file (#3595)
    - Changing golang version to 1.16.11 in go-algorand (#2825)
    - Updating Readme.md with circleci status badges (#3245)
    - Add qkniep to THANKS.md (#3320)
    - Adding method pseudo op to readme (#3338)
    - CircleCI pipeline change for binary uploads (#3381)
    - Feature Networks pipeline related changes (#3393)
    - Update license to 2022 (#3360)
    - Cicd: Limit pr type and category check to master branch (#3675)
    - Cicd: Adding pr type label checker (#3645)
    - Devops: Regen net.json for scenario2 test to include api endpoints for nodes. (#3654)

  - Bug Fixes
    - Fix typo Fulll to Full (#3456)
    - Revert `fillBytes` method to `bigIntToBytes` for lower golang version (#3498)
    - Revert “Changing golang version to 1.16.11 in go-algorand” (#3506)
    - Moving to centos stream 8 (#3560)
    - Revert golang1.16 arm32 changes (#3615)
    - Remove `make gen` from ci \*build (#3617)
    - Fix formatting for CircleCI badges (#3272)
    - Fix algorand specs link (#3309)
    - Devops: Fix bandwidth testing (#3638)

## 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)**
>
> Algorand Developer Docs, SDKs, REST APIs, CLI tools, ecosystem projects, metrics dashboard and sample code, how-tos, and news from the Algorand developer community
