# Mainnet Upgrades

## Mainnet Upgrades

{% hint style="info" %}
Release procedures for validators and node operators are explained [here](https://github.com/CosmosContracts/juno/blob/main/RELEASES.md). The `RELEASES.md` file in Juno's GitHub repo is the canonical source of truth for release processes.
{% endhint %}

The Juno Network mainnet is regularly upgraded to provide the latest security patches, Cosmos SDK module integrations and performance improvements.

Some upgrades are able to be undertaken automatically with Cosmovisor while other upgrades need to be manually installed at specified block heights. Others can be installed at any time after their predecessor.

### Upgrade types

There are two types of upgrades that happen on Juno Network. They are:

1. **Planned** feature upgrades or planned patches
2. **Unplanned** security upgrades.

#### Planned upgrade (via governance)

Planned upgrades, as the name suggests, are upgrades that are developed and proposed via governance. If approved by the community, these upgrades are undertaken by the chain automatically halting at the planned upgrade height.

Node operators are then required to swap the binary for the planned upgrade binary. After all node operators have upgraded and started their nodes the network will continue in the upgraded state.

#### Unplanned upgrade

Where emergency security patches are required, node operators are notified via the official discord validator channels. Node operators will be required to halt their nodes manually at the required upgrade height, swap the patched binary and restart their nodes. After all node operators have upgraded and started their nodes the network will continue in the upgraded state.

## Upgrade path

In order to sync a node with the current Juno mainnet, you will need to follow these steps:

#### Genesis binary (Phoenix 2)

The genesis binary of the current iteration of Juno Network mainnet is [v9.0.0](https://github.com/CosmosContracts/juno/releases/tag/v9.0.0). This binary should be used with the Phoenix 2 genesis file. Refer to instructions detailed in [Joining Mainnet](/validators/joining-mainnet.md).

Block height at Phoenix genesis is [4136532](https://www.mintscan.io/juno/blocks/4136532).

#### Planned upgrade V10 (28 September 2022)

An upgrade to V10 of Juno happened at block [5004269](https://www.mintscan.io/juno/blocks/5004269), up to version [v10.0.2](https://github.com/CosmosContracts/juno/releases/tag/v10.0.2) of Juno.

This upgrade was voted in via governance proposal [#40](https://www.mintscan.io/juno/proposals/40)

Upgrade instructions are available [here](https://github.com/CosmosContracts/mainnet/blob/main/juno-1/2100_v10_UPGRADE.md).

#### Dragonberry security patch (15 October 2022)

The blockchain was upgraded with the dragonberry patch which resolved a security issue related to IBC. The upgrade version is to [v10.1.0](https://github.com/CosmosContracts/juno/releases/tag/v10.1.0) of Juno. The upgrade can be performed any time after [#planned-upgrade-v10-28-september-2022](#planned-upgrade-v10-28-september-2022 "mention").

Upgrade instructions are available [here](https://github.com/CosmosContracts/mainnet/blob/main/juno-1/2200_v10_1_0_PATCH.md).

#### Planned upgrade to v11 (31 October 2022)

An upgrade to v11 of Juno at block 5480000.

This was covered in gov prop [47](https://www.mintscan.io/juno/proposals/47).

Upgrade instructions are [here](https://github.com/CosmosContracts/mainnet/blob/main/juno-1/2300_v11_UPGRADE.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.junonetwork.io/validators/joining-mainnet/mainnet-upgrades.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
