diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ef7dcf51228..5a5f2daf0f8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -267,19 +267,6 @@ you push a fix of a whitespace violation, please do so in a _separate commit_. F support window, except Template Haskell, which would cause bootstrapping problems in the GHC compilation process. -* Our GHC support window is five years for the Cabal library and three - years for cabal-install: that is, the Cabal library must be - buildable out-of-the-box with the dependencies that shipped with GHC - for at least five years. GitHub Actions checks this, so most - developers submit a PR to see if their code works on all these - versions of GHC. `cabal-install` must also be buildable on all - supported GHCs, although it does not have to be buildable - out-of-the-box. Instead, the `cabal-install/bootstrap.sh` script - must be able to download and install all of the dependencies (this - is also checked by CI). Also, self-upgrade to the latest version - (i.e. `cabal install cabal-install`) must work with all versions of - `cabal-install` released during the last three years. - * `Cabal` has its own Prelude, in `Distribution.Compat.Prelude`, that provides a compatibility layer and exports some commonly used additional functions. Use it in all new modules. diff --git a/README.md b/README.md index 9e6d2b8c9d6..9672347191c 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,32 @@ If you are new to `cabal` and want to quickly learn the basics, check Got questions? Ask in [Haskell Matrix](https://matrix.to/#/#haskell:matrix.org) (online chat) or [Haskell Discourse](https://discourse.haskell.org). +Support window +-------------- + +Our GHC support window is five years for both the Cabal library and +`cabal-install`. That is: + +* Cabal library must be buildable out-of-the-box against the + boot libraries shipped with GHC, for any GHC released in the past five + years from Cabal library release date. +* `cabal-install` should be buildable with `bootstrap/bootstrap.py` + script, for any GHC released in the past five years from `cabal-install` + release date. +* `cabal-install` should be able to drive the most recent minor version of + any GHCs major version released in the past five years from `cabal-install` + release date. + In this context, "drive" means `cabal-install` will work with the Cabal + library (usually but not always the one that came with the ghc version) + used to build the package. + +Self-upgrade to the latest version (i.e. `cabal install cabal-install`) +must work with all versions of `cabal-install` released during the last +three years. + +Cabal maintainers try to support GHC versions older than five years +on a minimal-effort basis. + Build for hacking and contributing to cabal -------------------------------------------