Release tracking ticket template
This is the template to be used to create release tracking tickets. Copy this into a new issue and fill in the TODOs. Those items marked with major-only can be ignored for minor releases.
This is the release checklist for the TODO milestone. See #16816 (closed) for the template that this was derived from.
Pre-fork checklist (major-only)
When forking a new release branch for a new major release series (e.g. ghc-9.0
), please check the following:
-
Verify that
haddock
's development branch (namely the branch corresponding to GHC's previous major release, e.g.ghc-8.10
) has been merged intoghc-head
. -
Create the new branch:
git branch ghc-9.0
-
In the new branch bump the version number in
configure.ac
to, e.g.,9.0
-
In
master
bump the version number to that of the next development series, e.g.,9.1
-
Tag this
master
commit as, e.g.,ghc-9.1-start
- Push all of the above tags and branches
Pre-release checklist
-
(major-only) Remove the release notes for the previous release (e.g.
docs/users_guide/8.6.*-notes.rst
) -
(major-only) Make release branch (e.g.
ghc-8.8
) -
(major-only) Make post-release branch (e.g.
ghc-8.9-start
) -
Ensure that submodules are on released tags (the below is produced using this script):
-
libraries/Cabal
: version todo -
libraries/Win32
: version todo -
libraries/binary
: version todo -
libraries/bytestring
: version todo -
libraries/containers
: version todo -
libraries/deepseq
: version todo -
libraries/directory
: version todo -
libraries/filepath
: version todo -
libraries/haskeline
: version todo -
libraries/mtl
: version todo -
libraries/parsec
: version todo -
libraries/pretty
: version todo -
libraries/process
: version todo -
libraries/terminfo
: version todo -
libraries/text
: version todo -
libraries/time
: version todo -
libraries/transformers
: version todo -
libraries/unix
: version todo -
libraries/xhtml
: version todo -
utils/haddock
: version todo -
utils/hsc2hs
: version todo
-
-
Non-released submodules up-to-date:
-
nofib
-
libffi-tarballs
-
libraries/integer-gmp/gmp/gmp-tarballs
-
-
Release notes (
docs/users_guide/x.y.z-notes.rst
) written -
Release notes linked in
docs/users_guide/index.rst
-
autoconf
scripts updated -
Check that Unicode database in
base
(libraries/base/cbits/README.Unicode
) reflects current standard release (http://www.unicode.org/versions/latest/) -
LlvmVersion
inconfigure.ac
is targetting intended LLVM version - Release notes mentions LLVM version requirement
-
llvm-targets
file updated -
Changelogs updated (these can be checked using
.gitlab/linters/check-changelogs.sh
):-
libraries/ghc-prim
-
libraries/integer-gmp
-
libraries/integer-simple
-
libraries/hpc
-
libraries/base
-
- Verify that the ~"backport needed" label has no more issues/merge requests needing backport
- Verify that all CI builds are green before moving to release checklist
Release checklist
-
Push a provision provisional release commit to trigger the release builds using
git push -o ci.variable="RELEASE_JOB=yes"
- Wait until builds finish; verify that they finished successfully
- Fetch release artifacts TODO: documentation
-
Sign and push release artifacts to
downloads.haskell.org
[TODO: documentation] - Make a release tag
-
Release/revise GHC-maintained libraries on Hackage [TODO: documentation]
-
libraries/base
-
libraries/ghc-prim
-
libraries/array
-
libraries/stm
-
libraries/ghc-heap
-
libraries/ghc-compact
-
libraries/ghc-boot
-
libraries/ghc-boot-th
-
libraries/hpc
-
libraries/libiserv
-
libraries/template-haskell
-
libraries/integer-gmp
-
libraries/integer-simple
-
-
Update ghc/homepage>:
- Write download page (see ghc/homepage>)
-
Add news item to
index.html
-
Add link to
download.shtml
- Look over changes locally
- Add release announcement to GHC blog
-
Push changes to
master
-
Announce on:
GHC developers <ghc-devs@haskell.org>, GHC Users <glasgow-haskell-users@haskell.org>, Haskell Cafe <haskell-cafe@haskell.org>
- Announce on: Haskell Discourse, /r/haskell, Twitter
-
Update
latest
symlink ondownloads.haskell.org
- Ensure that the Migration page is up-to-date
Post-release checklist
- Update the Wiki status page
- Update the language pragma history
- Mark milestone as closed
-
Update
/topic
in#ghc
- Update the VersionHistory wiki page
-
Set
RELEASE=NO
- Create a release tracking ticket for the next release using the template in #16816 (closed)