River protocol releases follow a weekly cadence for both testnet and mainnet. Release artifacts, stream node images, are built and published to the River Docker ECR, and communicated in the #releases channel of the River Operator Town.

Release Process

1

Testnet Upgrade

Every Monday (by 11pm UTC), a new testnet release is cut and published to the River 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).


Operators are encouraged to monitor the river repo for testnet* prefixed tags to upgrade nodes running in testnet.
2

Mainnet Upgrade

Every Tuesday (by 11pm UTC), a new mainnet release is cut and published to the River 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).


Operators are asked to ensure mainnet images are upgraded by eod Tuesday to ensure homogeneity of software versions running in mainnet.
3

Hotfix

Occasionally, an urgent hotfix will be required to address critical issues. In such cases, the hotfix will be cut and published to the River 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 River Operator Town, testnet nodes first followed by mainnet.