As Dan Burton
recently announced, the Stackage Curators team has decided to
cut an LTS 6 release based on GHC 7.10.3, and to switch Stackage
Nightly over to GHC 8.0. I've pushed the relevant changes into the
necessary repos, and now the most recent Stackage Nightly
release is based on GHC 8.0.
A GHC upgrade process is always a bit of a game of cat-and-mouse
for Stackage, where we wait for enough packages in the ecosystem to
update their version bounds (and code) to be compatible with the
newest GHC before making the transition. After some discussion,
come up with some new guidelines on this upgrade process.
In sum: we've temporarily disabled all packages that are
incompatible with GHC 8 or depend on packages which are
incompatible with GHC 8. Also, we've removed almost all temporary
In order to make this transition as painless as possible, I'd
like to recruit help from the community with the following:
- Test out your projects with the latest Stackage Nightly
stack init --resolver nightly
--force). Make sure you back up your current
stack.yaml file first!
- If everything works, great!
- If there are missing packages that were previously in Stackage,
please work with relevant maintainers to get them building with GHC
pull requests to the build-constraints.yaml file to add back
packages that are now GHC 8-compatible. You can search through that
file for the phrases
GHC 8 and
On a side note, I've been really impressed with how many of my
projects already build with GHC 8, even those with significant
dependencies. The ecosystem has done a great job of upgrading to
the newest GHC quickly. Thanks to all package authors and Stackage
maintainers for their efforts on this!
And of course, thank you to the GHC team for yet another great
Do you like this blog post and need help with DevOps, Rust or functional programming? Contact us.