Release tracking ticket for GHC 9.6.3
This is the release checklist for the %9.6.3 milestone. See #16816 (closed) for the template that this was derived from.
Pre-release checklist
-
Ensure that submodules are on released tags (the below is produced using this script): -
libraries/Cabal
: version 3.10.1 -
libraries/Win32
: version 2.13.3.0 -
libraries/array
: version 0.5.5.0 -
libraries/binary
: version 0.8.9.1 -
libraries/bytestring
: version 0.11.5.2 -
libraries/containers
: version 0.6.7 -
libraries/deepseq
: version 1.4.8.1 -
libraries/directory
: version 1.3.8.1 -
libraries/exceptions
: version 0.10.7 + revisions -
libraries/filepath
: version 1.4.100.4 -
libraries/haskeline
: version 0.8.2.1 -
libraries/mtl
: version 2.3.1 -
libraries/parsec
: version 3.1.16.1 -
libraries/pretty
: version 1.1.3.6 -
libraries/process
: version 1.6.17.0 -
libraries/stm
: version 2.5.1.0 + revisions -
libraries/terminfo
: version 0.4.1.6 -
libraries/text
: version 2.0.2 -
libraries/time
: version 1.12.2 -
libraries/transformers
: version 0.6.1.0 -
libraries/unix
: version 2.8.1.0 -
libraries/xhtml
: version 3000.2.2.1 -
utils/haddock
: todo (onhaddock-2.29.0-release-1-g6c77e062
) -
utils/hsc2hs
: version 0.68.9
-
-
Notify stakeholders of release progress: Julian Ospald <hasufell@posteo.de>, ghc-devs@haskell.org
-
[ ] Non-released submodules up-to-date:(not for point releases)[ ]nofib
(upstream: ghc/nofib>): todo (on2009-06-25-442-g2cee928
)[ ]libffi-tarballs
(upstream: ghc/libffi-tarballs>): todo (onlibffi-3.3+git20200501+4f9e20a
)[ ]libraries/ghc-bignum/gmp/gmp-tarballs
(upstream: ghc/gmp-tarballs>): todo (onheads/master-7-g4f26049
)
-
Release notes ( docs/users_guide/x.y.z-notes.rst
) written -
Release notes linked in docs/users_guide/release-notes.rst
-
[ ](see #23759 (comment 527370))autoconf
scripts updated -
[ ] Update the Hadrian bootstrap metadata(duplicate of last checklist item) -
[ ] Check that Unicode database in(decided against for 9.6.3 on 2023-09-19)base
(libraries/base/cbits/README.Unicode
) reflects current standard release (http://www.unicode.org/versions/latest/). -
[ ](not for point releases)LlvmVersion
inconfigure.ac
is targetting intended LLVM version -
[ ] Release notes mentions LLVM version requirement(not for point releases, a consequence of the previous point) -
[ ](not for point releases)llvm-targets
file updated -
Changelogs updated (these can be checked using .gitlab/linters/check-changelogs.sh
):-
libraries/ghc-prim
-
libraries/ghc-bignum
-
libraries/template-haskell
-
libraries/hpc
(upstream: hpc/hpc>) -
libraries/base
-
-
Verify that the backport needed:9.6 label has no more issues/merge requests needing backport -
Verify that all CI builds are green before moving to release checklist -
Update hadrian bootstrap plans for the latest compiler releases: - Update
hadrian/bootstrap/generate_bootstrap_plans
to include any new compiler releases in the last two major release series - Drop any plans that are outside of the bootstrap support window
- Run
hadrian/bootstrap/generate_bootstrap_plans
and commit the files that it generates - Update
bootstramp_matrix
in.gitlab-ci.yml
to reflect the most recent minor release in each major series supported by bootstrapping
- Update
Release checklist
-
Ensure that the Migration page is up-to-date -
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 -
Write down a link to the release pipeline here: https://gitlab.haskell.org/ghc/ghc/-/pipelines/84424 -
Sign and push release artifacts to downloads.haskell.org
[TODO: documentation] -
Submit ghcup
metadata upstream:- Download the
metadata_test.yaml
artifact from theghcup-metadata-release
job of the release pipeline - Clone
ghcup-metadata
- Integrate the appropriate release section (e.g. ``) into
ghcup-metadata/ghcup-0.0.7.yaml
- Replace the
&id<n>
identifiers with unique names - Open a merge request submitting the metadata upstream
- Download the
-
Make a release tag -
Release/revise GHC-maintained libraries on Hackage using this script: -
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/ghc-bignum
-
-
Update ghc/homepage>: -
Write download page (see ghc/homepage>) -
Make sure that the Signing Key is correct for the relevant release -
Add news item to index.html
-
Add link to download.shtml
. Be sure to link to the Migration guide. -
Look over changes locally -
Add release announcement to GHC blog. Be sure to link to the Migration guide. -
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
Post-release checklist
-
Update the Wiki status page -
[ ] Update the language pragma history(not for point releases) -
Mark milestone as closed -
[ ] Update(supplanted by status page)/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)