release.rst revision 12391
1To release a new version of pybind11:
2
3- Update the version number and push to pypi
4    - Update ``pybind11/_version.py`` (set release version, remove 'dev').
5    - Update ``PYBIND11_VERSION_MAJOR`` etc. in ``include/pybind11/detail/common.h``.
6    - Ensure that all the information in ``setup.py`` is up-to-date.
7    - Update version in ``docs/conf.py``.
8    - Tag release date in ``docs/changelog.rst``.
9    - ``git add`` and ``git commit``.
10    - if new minor version: ``git checkout -b vX.Y``, ``git push -u origin vX.Y``
11    - ``git tag -a vX.Y.Z -m 'vX.Y.Z release'``.
12    - ``git push``
13    - ``git push --tags``.
14    - ``python setup.py sdist upload``.
15    - ``python setup.py bdist_wheel upload``.
16- Update conda-forge (https://github.com/conda-forge/pybind11-feedstock) via PR
17    - download release package from Github: ``wget https://github.com/pybind/pybind11/archive/vX.Y.Z.tar.gz``
18    - compute checksum: ``shasum -a 256  vX.Y.Z.tar.gz``
19    - change version number and checksum in ``recipe/meta.yml``
20- Get back to work
21    - Update ``_version.py`` (add 'dev' and increment minor).
22    - Update version in ``docs/conf.py``
23    - Update version macros in ``include/pybind11/common.h``
24    - ``git add`` and ``git commit``.
25      ``git push``
26