--- since: 1.2.1 --- # Release Process DjangoPlay follows semantic versioning. ## Release Preparation 1. Review the changelog. 2. Confirm the target version in `pyproject.toml`. 3. Run tests. 4. Run Ruff. 5. Build frontend assets. 6. Validate migrations. 7. Validate OpenAPI. 8. Validate deployment configuration. 9. Push versioned R2 assets when required. ## Tag Use the repository's standard Git release process and tag the release version. ## Production Deploy the exact tagged revision. ## Post-release Verify: ```text application login API issue tracker finance email Celery static assets ```