When releasing a new version of Agda standard library, the following procedure should be followed: #### Pre-release changes * Update `doc/README.agda` by replacing 'development version' by 'version X.Y' in the title. * Update the version to `X.Y` in: - `agda-stdlib-utils.cabal` - `standard-library.agda-lib` - `CITATION.cff` - `CHANGELOG.md` - `README.md` - `doc/installation-guide.md` * Update the copyright year range in the LICENCE file, if necessary. #### Pre-release tests * Ensure that the library type-checks using Agda A.B.C: make test * Update submodule commit in the Agda repository: cd agda make fast-forward-std-lib * Build the latest version of Agda make quicker-install-bin * Run the tests involving the library: make test-using-std-lib * Commit the changes and push #### Release * Tag version X.Y (do not forget to record the changes above first): VERSION=X.Y git tag -a v$VERSION -m "Agda standard library version $VERSION" * Push all the changes and the new tag (requires Git >= 1.8.3): git push --follow-tags * Make a new release on Github at https://github.com/agda/agda-stdlib/releases * Submit a pull request to update the version of standard library on Homebrew (https://github.com/Homebrew/homebrew-core/blob/master/Formula/agda.rb) * Update the Agda wiki: ** The standard library page. ** News section on the main page. * Announce the release of the new version on the Agda mailing lists (users and developers). * Generate and upload documentation for the released version: cp .github/tooling/* . cabal run GenerateEverything.hs ./index.sh agda -i. -idoc -isrc --html index.agda mv html v$VERSION git checkout gh-pages git add v$VERSION/*.html v$VERSION/*.css git commit -m "[ release ] doc for version $VERSION" git push After that you can cleanup the generated files and copies of things taken from travis/ from your agda-stdlib directory. #### Post-release * Move the CHANGELOG.md into the old CHANGELOG folders * Create new CHANGELOG.md file * Update `standard-library.agda-lib` to the new version/milestone on `master`