Currently, HLS’s GHC support policy is as follows:
- We designate the GHC major version that is used by the latest Stackage LTS as “stable”
- We stop supporting a GHC major version once it is three major versions behind the stable major version
For example, at the moment Stackage LTS is on 9.6, so we support everything from 9.2 onwards.
We have been wondering about shortening our support window. Supporting more versions of GHC is generally fairly costly for us, as it requires quite a lot of CPP and CI time. The main cost to users of a shorter support window would be that users on older versions wouldn’t get new versions of HLS (the old versions, of course, would continue to work). However, these days HLS is changing more slowly, so the cost of not having the latest and greatest is comparatively lower.
There are a lot of plausible options for the support window. I think our current method of using Stackage LTS as a measure for when the ecosystem has sufficiently adopted a GHC version is reasonable, so the main choice is “how many GHC version before that do we support?”, specifically:
- 0
- 1
- 2 (the current situation)
Opinions welcome!