This document provides the step-by-step process to release version 1.1.0 of sphinx-exercise.
- All tests pass locally
- All tests pass on CI
- Documentation builds successfully
- CHANGELOG.md is up to date with release date
- Version number updated in
sphinx_exercise/__init__.py - Release notes finalized in
docs/source/releases/v1.1.0.md - All PRs for this release are merged
Update the version number in:
-
sphinx_exercise/__init__.py:__version__ = "1.1.0"
-
CHANGELOG.md:- Replace
(TBD)with the actual release date - Change link to point to the release tag
- Replace
# Ensure you're on main branch and up to date
git checkout main
git pull origin main
# Update version in __init__.py
# Update CHANGELOG.md with release date
# Commit changes
git add sphinx_exercise/__init__.py CHANGELOG.md docs/source/releases/v1.1.0.md
git commit -m "Release v1.1.0"git tag -a v1.1.0 -m "Release version 1.1.0 - Internationalization support"git push origin main
git push origin v1.1.0After pushing the tag, the GitHub Actions workflow will automatically:
- Run all tests (pre-commit, pytest, docs)
- Build the distribution packages
- Publish to PyPI using the
PYPI_KEYsecret
You can monitor the progress at: https://github.com/executablebooks/sphinx-exercise/actions
Once the workflow completes successfully:
- Go to https://github.com/executablebooks/sphinx-exercise/releases/new
- Select tag:
v1.1.0 - Release title:
v1.1.0 - Internationalization Support - Description: Copy content from
docs/source/releases/v1.1.0.md - Click "Publish release"
The documentation should automatically build from the new tag on ReadTheDocs. Verify at: https://ebp-sphinx-exercise.readthedocs.io/en/latest/
- Verify the package is available on PyPI: https://pypi.org/project/sphinx-exercise/
- Update
docs/source/releases/index.mdto include v1.1.0 - Create new "Unreleased" section in CHANGELOG.md for future changes
- Announce release on relevant channels
This project uses GitHub Actions to automatically publish to PyPI when a version tag is pushed:
- Triggering: The workflow is triggered when a tag matching
v*is pushed - Testing: All tests (pre-commit, pytest, documentation) must pass
- Building: The workflow builds the distribution packages using
python -m build - Publishing: Packages are automatically published to PyPI using the
PYPI_KEYsecret
Important: Ensure the PYPI_KEY secret is configured in the repository settings with a valid PyPI API token.
The workflow definition can be found in .github/workflows/ci.yml under the publish job.
This project follows Semantic Versioning:
- MAJOR version for incompatible API changes
- MINOR version for new functionality in a backward compatible manner (this release)
- PATCH version for backward compatible bug fixes
sphinx-exercise v1.1.0 is now available! 🎉
This release adds comprehensive internationalization support:
- ✨ Support for 27 languages including Chinese, Japanese, Korean, Arabic, and Hindi
- 🌍 Automatic language detection from Sphinx configuration
- 📚 Enhanced documentation with i18n examples and contribution guides
- 🛠️ JSON-based translation system for easy community contributions
Install or upgrade: pip install --upgrade sphinx-exercise
Full release notes: https://github.com/executablebooks/sphinx-exercise/releases/tag/v1.1.0