Release Procedure ================= This is the **maintainer** note on how to release ManimPango. All versioning follows `Semantic Versioning 2.0.0 `_. 1. Ensure the main branch is green and the intended changes are merged. 2. Update the ``1.0`` entry in ``docs/changelog.rst`` and bump the authoritative version in ``meson.build``. ``pyproject.toml`` deliberately reads the installed version dynamically from the build system. 3. Open and merge the release-preparation pull request. Confirm CI passes on its merge commit. 4. Create and publish a GitHub release targeting that merge commit. In the release form, create the ``v`` tag; GitHub creates and pushes it as part of publishing the release. Draft releases are inert; publishing the release starts the package build and publication. 5. Monitor the `Wheels Build`_ workflow. It builds the supported wheels and source distribution, publishes them to `PyPI`_, and attaches the artifacts to the GitHub release only after every build succeeds. 6. In a fresh virtual environment, install the published package and run a small rendering smoke test on each platform for which a wheel was released. Build System ------------ ManimPango v1.0 uses **Meson** (via ``meson-python``) as its build backend. The Cython extensions are compiled by Meson. See ``pyproject.toml`` and the top-level ``meson.build`` for details. Minimum requirements: - Python ≥ 3.11 - Pango ≥ 1.44 - Cairo ≥ 1.14 - GLib ≥ 2.0 - Cython ≥ 3.0.0 .. _Wheels Build: https://github.com/ManimCommunity/ManimPango/actions?query=workflow%3A%22Build+Wheels%22 .. _PyPI: https://pypi.org/project/manimpango/