Releasing

This document concerns the developers and contributors of BNFC only.

☐ Write changes

In source/CHANGELOG.md. Write an overview of the important changes: features added, deprecated and removed.

The format of the first line is:

2.8 Grégoire Détrez <gregoire@fripost.org> March 2042
├┄┘ └┄┄┄┄┄┄┄┄┄┄┄┄┬┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┘ ├┄┄┄┄┄┄┄┄┘
┕ version number ┕ Releaser name and email ┕ Date
☐ Bump version

The version increment should be based on the changes listed in the changelog, according to semantic versioning.

☐ Run the tests 🅰

Run all the tests suites (or let the CI server do it).

☐ Build binaries 🅰

Build binaries for mac, windows and linux (or use the ones build by the CI server).

☐ Create a new release on github

A github release includes:

  • the commit hash of the code revision

  • the version number

  • the list of changes from the changelog

  • the source package

  • the binary packages

☐ Upload the source package on hackage

https://hackage.haskell.org/upload

☐ Activate readthedocs for the new version

This is done at https://readthedocs.org/projects/bnfc/versions/