GHC 9.2.2
GHC 9.2.2 has been released! I tested all of my open source projects with the new compiler, and there were no issues. In this blog entry, I summarize how to find out when a new GHC release is supported by various tools.
GHCup
I am very happy to see that GHCup already supports GHC 9.2.2! I really like this project and am often impressed by it.
It is easy to check which GHC versions are supported using the
ghcup
command:
$ ghcup list
To receive notifications when there is a change, watch the ghcup-metadata
repository, where the supported versions are configured in the
ghcup-VERSION.yaml
file with the latest version.
Stack
Stack does not yet support GHC 9.2.2. (Stack 2.7.5 was recently released, by the way.)
I do not know of a stack
command to list the supported
GHC versions. If you try to use a version that is not supported,
however, it will give you the list of supported versions in the error
message.
The supported versions are configured in the stack-setup-2.yaml file in the stackage-content repository. Note that you can query supported versions from the command line by retrieving and processing this file. For example, I can do so on my architecture as follows using curl and yq.
$ curl -sL https://github.com/commercialhaskell/stackage-content/raw/master/stack/stack-setup-2.yaml \
| yq -c '.ghc."linux64-tinfo6" | keys'
To receive notifications when there is a change, watch the stackage-content repository.
GitHub Actions
I use Haskell GitHub
Actions for running continuous integration tests. The
setup
README documents the version
support, which is specified in the setup/src/versions.json
configuration file.
To receive notifications when there is a change, watch the haskell/actions repository.
docker-ghc
I maintain docker-ghc as a way to test new releases of GHC before they are available via GHCUp or Stack. I updated docker-ghc to use GHC 9.2.2 this morning, though I have not used the new container since GHCUp already supports the new release. With such timely GHCUp updates, docker-ghc is mostly useful for testing release candidates.