# Core Contracts Release 5

**URL:** <https://forum.celo.org/t/core-contracts-release-5/1263>\
**Category:** Governance\
**Created:** [August 13, 2021, 6:29pm UTC](https://forum.celo.org/t/core-contracts-release-5/1263 "2021-08-13T18:29:29Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![m-chrzan](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.celo.org/m-chrzan/32/7007_2.png) [@m-chrzan](https://forum.celo.org/u/m-chrzan)\
**Post date:** [August 13, 2021, 6:29pm UTC](https://forum.celo.org/t/core-contracts-release-5/1263/1 "2021-08-13T18:29:29Z")

</div>

Hi everyone,

The cLabs team is happy to announce Contracts Release 5!

The upcoming governance proposal has the release notes found [here](https://github.com/celo-org/celo-monorepo/releases/tag/core-contracts.v5).

The upgrade includes the following changes described with more detail in the release notes:

- Granda Mento smart contract implementation [#8129](https://github.com/celo-org/celo-monorepo/pull/8129) (based on [CIP-38](https://github.com/celo-org/celo-proposals/blob/master/CIPs/cip-0038.md))

- Make updateMembershipHistory in Validators.sol correct if epoch number is 0 [#8060](https://github.com/celo-org/celo-monorepo/pull/8060)

- UsingRegistryV2 contract with static registry address [#7837](https://github.com/celo-org/celo-monorepo/pull/7837)

Relevant links:

- [OpenZeppelin Audit](https://blog.openzeppelin.com/celo-contracts-audit-granda-mento/)

- [CGP 37](https://github.com/celo-org/governance/blob/main/CGPs/cgp-0037.md)

- [Release notes](https://github.com/celo-org/celo-monorepo/releases/tag/core-contracts.v5)

- [Contracts Release Process Docs](https://docs.celo.org/community/release-process/smart-contracts#promotion-process)

Governance proposal timeline:

- Baklava: August 24

- Alfajores: August 31

- Mainnet: September 7

If you have any comments or questions we suggest replying here on this forum post so as to keep the conversation asynchronous and inclusive.

We look forward to hearing your thoughts.

-Martin, on behalf of the contracts team at cLabs

---

<div class="post-metadata">

**Author:** ![yorhodes](https://avatars.discourse-cdn.com/v4/letter/y/ed655f/32.png) [@yorhodes](https://forum.celo.org/u/yorhodes)\
**Post date:** [September 9, 2021, 9:20pm UTC](https://forum.celo.org/t/core-contracts-release-5/1263/2 "2021-09-09T21:20:38Z")

</div>

Contracts Release 5 is proposed on mainnet governance with ID 32.

To verify the release against the audited source tag `core-contracts.v5`:

1. fetch the proposal contents as JSON

```auto
celocli governance:show --node https://forno.celo.org --proposalID 32 --jsonTransactions proposal.json

```

1. run the source verification from `celo-monorepo/packages/protocol` against proposal contents

```auto
yarn verify-release -n mainnet -f -b core-contracts.v5 -i ./releaseData/initializationData/release5.json -p proposal.json

```

The `GrandaMento` contract that is registered in the release proposal requires additional activation, as proposed on mainnet governance with ID 33. This proposal must be executed after the release to prevent reverting and overrides the release’s `GrandaMento` initialization parameters. Thus the release’s initialization parameters are unimportant.

In future, we can avoid initializing new contracts with “default values” during the release by using `setImplementation` rather than `setAndInitializeImplementation`. This is a better separation of concerns for voters and allows for the use of `initialize` in subsequent activation proposals.
