> ## Documentation Index
> Fetch the complete documentation index at: https://docs.towns.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Release Process

> Towns protocol releases process and guidelines for node operators.

Towns protocol releases follow a weekly cadence for both testnet and mainnet. Release artifacts, stream node images, are built and published to the [Towns Docker ECR](https://public.ecr.aws/h5v6m2x1/river).

## Release Process

<Steps>
  <Step title="Testnet Upgrade">
    Every Monday (by 11pm UTC), a new testnet release is cut from the latest alpha release candidate tag and published to the Towns Docker ECR. The release is tagged with the testnet version number in the form, `testnet/YYYY-MM-DD-##`.
    The docker image is built and doubly tagged with `testnet` (mutable) and the commit sha (immutable).

    <br />

    <Note>Operators are encouraged to monitor the Towns Protocol [repository](https://github.com/towns-protocol/towns) for `testnet*` prefixed tags to upgrade nodes running in testnet.</Note>
  </Step>

  <Step title="Mainnet Upgrade">
    Every Tuesday (by 11pm UTC), a new mainnet release is cut from the latest alpha release candidate tag and published to the Towns Docker ECR using the commit sha that was deployed to `testnet` last as the release branch. The release is tagged with the mainnet version number in the form, `mainnet/YYYY-MM-DD-##`.
    The docker image is built and doubly tagged with `mainnet` (mutable) and the commit sha (immutable).

    <br />

    <Note>Operators are asked to ensure mainnet images are upgraded by eod Tuesday to ensure homogeneity of software versions running in mainnet.</Note>
  </Step>

  <Step title="Hotfix">
    Occasionally, an urgent hotfix will be required to address critical issues. In such cases, the hotfix will be cut and published to the Towns Docker ECR with a `hotfix` tag, a `mainnet` tag, a `testnet` tag and commit sha tag.
    Hotfixes will be explicitly communicated to operators to upgrade their nodes in the Towns Operator Town, `testnet` nodes first followed by `mainnet`.
  </Step>
</Steps>
