Repository: tensorzero/tensorzero (language: rust)

Issue:
Write a RELEASE_GUIDE.md so we don't forget anything in a release
Should include at minimum:

- update version number in `status.rs`
- push image to DockerHub
- update client on PyPI


Discussion / hints:

Fix patch:
diff --git a/RELEASE_GUIDE.md b/RELEASE_GUIDE.md
new file mode 100644
index 000000000..fa6101b0b
--- /dev/null
+++ b/RELEASE_GUIDE.md
@@ -0,0 +1,63 @@
+# Release Guide
+
+This guide documents the steps to release a new version of TensorZero .
+
+## Versioning
+
+TensorZero follows [CalVer](https://calver.org/) for versioning.
+The format is `YYYY.MM.PATCH` (e.g. `2025.01.0`, `2025.01.1`).
+
+> [!IMPORTANT]
+> Make sure to update every instance of the version in the codebase.
+>
+> The version is referenced in multiple places, including the client's `pyproject.toml` and the gateway's `status.rs`.
+
+## Python Client
+
+From `clients/python`, run:
+
+```bash
+uv build
+uv publish --token $PYPI_TOKEN
+```
+
+## Gateway Docker Container
+
+Before building the Docker container for the first time, you need to set up your container builder:
+
+```bash
+docker buildx create \
+  --name container-builder \
+  --driver docker-container \
+  --use \
+  --bootstrap
+```
+
+Every time you want to build the Docker container, you need to run:
+
+```bash
+DOCKER_BUILDKIT=1 docker buildx build \
+  --platform linux/amd64,linux/arm64 \
+  -t tensorzero/gateway:latest \
+  -t tensorzero/gateway:XXXX.XX.X \
+  -f Dockerfile \
+  --attest type=provenance,mode=max \
+  --attest type=sbom \
+  --push \
+  .
+```
+
+> [!IMPORTANT]
+> Make sure to replace the `XXXX.XX.X` placeholder with the actual version of the Docker container you are building.
+
+## Documentation
+
+Make sure to merge every PR with the `merge-on-release` label.
+
+> [!NOTE]
+> The documentation is currently stored in a separate repository.
+> We're planning to make those files open source in the near future.
+
+## Release Notes
+
+Make sure to tag a release in the GitHub repository.


Test patch: