It seems that every time a blog post about Stackage comes out,
someone comments on Reddit how excited they are for Stackage to be
ready for GHC 7.10. Unfortunately, there's still an open issue
about packages that have incorrect bounds or won't compile.
Well, as about 30 different package authors probably figured out
today, I decided to take a crack at compiling Stackage with 7.10.
This involved changing around some bounds, sending some pull
requests, setting some expected test failures, and unfortunately
temporarily removing a few packages from the build. But the result
is well worth it: we now have a working build of Stackage with
To give some more information: this snapshot has 1028 packages,
compared to 1106 for GHC 7.8. When updating the
build-constraints.yaml file, I added the phrase "GHC 7.10" next
to every modification I made. I encourage people to take a look at
the file and see if there are any projects you'd like to send a
pull request to and add GHC 7.10 support. If you do so, please ping
me once the change is on Hackage so I can add it back to
The question is: what do we do now? I'm interested in other
opinions, but my recommendation is:
- Early next week, I switch over the official nightly builds to
start using GHC 7.10. LTS 2 will continue running, and will use GHC
7.8 as it does already. (LTS releases never change GHC major
- We work on improving the package and test coverage for GHC
- No earlier than July 1 do we release LTS 3, which will support
GHC 7.10. If there is concern that the release isn't ready yet, we
can hold off an extra month (though I doubt that will be
To ease the burden on package maintainers, LTS support cycles do
not overlap. LTS 2 will be supported for a minimum of 3 months from
its initial release (April 1, 2015), which is why LTS 3 will be
released no sooner than July 1, 2015.
I'm quite surprised and excited that Stackage was able to move
to GHC 7.10 so quickly. Thank you to package authors for updated
your code so quickly!
Do you like this blog post and need help with DevOps, Rust or functional programming? Contact us.