Maintainer / core-developer information
========================================

For more information see https://github.com/scikit-learn/scikit-learn/wiki/How-to-make-a-release

Making a release
------------------

1. Update docs:

    - edit the doc/whats_new.rst file to add release title and commit
      statistics. You can retrieve commit statistics with::

        $ git shortlog -ns 0.998..

    - edit the doc/conf.py to increase the version number

    - edit the doc/themes/scikit-learn/layout.html to change the 'News'
      entry of the front page.

2. Update the version number in sklearn/__init__.py, the __version__
   variable

3. Create the tag and push it::

    $ git tag 0.999

    $ git push origin --tags

4. create tarballs:

   - Wipe clean your repo::

       $ git clean -xfd

   - Register and upload on PyPI::

       $ python setup.py sdist register upload


5. Push the documentation to the website (see README in doc folder)


6. Build binaries using dedicated CI servers by updating the git submodule
   reference to the new scikit-learn tag of the release at:

   https://github.com/MacPython/scikit-learn-wheels

   Once the CI has completed successfully, collect the generated binary wheel
   packages and upload them to PyPI by running the following commands in the
   scikit-learn source folder (checked out at the release tag)::

       $ pip install -U wheelhouse_uploader
       $ python setup.py sdist fetch_artifacts upload_all


7. FOR FINAL RELEASE: Update the release date in What's New
