LTS Haskell build plans
Latest commit 63d44dc Jan 16, 2017 Stackage Build host Checking in lts-7.16
Permalink
Failed to load latest commit information.
docs Checking in lts-7.16 Jan 17, 2017
README.md Clarify some policies (fixes #22) Apr 25, 2016
lts-0.0.yaml Added new LTS release: 0.0 Dec 12, 2014
lts-0.1.yaml Added new LTS release: 0.1 Dec 13, 2014
lts-0.2.yaml Added new LTS release: 0.2 Dec 14, 2014
lts-0.3.yaml Disable hasql benchmarks Dec 18, 2014
lts-0.4.yaml Added new LTS release: 0.4 Dec 18, 2014
lts-0.5.yaml 0.5 Dec 21, 2014
lts-0.6.yaml Added new LTS release: 0.6 Dec 25, 2014
lts-0.7.yaml Added new LTS release: 0.7 Dec 27, 2014
lts-1.0.yaml Expect failure for stackage test suite Jan 11, 2015
lts-1.1.yaml Added new LTS release: 1.1 Jan 11, 2015
lts-1.10.yaml Added new LTS release: 1.10 Mar 1, 2015
lts-1.11.yaml Added new LTS release: 1.11 Mar 8, 2015
lts-1.12.yaml Added new LTS release: 1.12 Mar 15, 2015
lts-1.13.yaml Added new LTS release: 1.13 Mar 18, 2015
lts-1.14.yaml Added new LTS release: 1.14 Mar 22, 2015
lts-1.15.yaml Added new LTS release: 1.15 Mar 29, 2015
lts-1.2.yaml Added new LTS release: 1.2 Jan 17, 2015
lts-1.4.yaml Fix library-profiling values Jan 29, 2015
lts-1.5.yaml Added new LTS release: 1.5 Feb 1, 2015
lts-1.7.yaml Added new LTS release: 1.7 Feb 7, 2015
lts-1.8.yaml Added new LTS release: 1.8 Feb 15, 2015
lts-1.9.yaml Added new LTS release: 1.9 Feb 22, 2015
lts-2.0.yaml Allow newer rethinkdb-client-driver fpco/stackage#483 Apr 2, 2015
lts-2.1.yaml Added new LTS release: 2.1 Apr 3, 2015
lts-2.10.yaml Checking in lts-2 May 25, 2015
lts-2.11.yaml Checking in lts-2 May 31, 2015
lts-2.12.yaml Checking in lts-2 Jun 3, 2015
lts-2.13.yaml Checking in lts-2 Jun 7, 2015
lts-2.14.yaml Checking in lts-2 Jun 13, 2015
lts-2.15.yaml Checking in lts-2 Jun 21, 2015
lts-2.16.yaml Checking in lts-2 Jun 28, 2015
lts-2.17.yaml Checking in lts-2 Jul 5, 2015
lts-2.18.yaml Checking in lts-2 Jul 13, 2015
lts-2.19.yaml Checking in lts-2 Jul 19, 2015
lts-2.2.yaml Added new LTS release: 2.2 Apr 9, 2015
lts-2.20.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-2.20 Jul 26, 2015
lts-2.21.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-2.21 Aug 3, 2015
lts-2.22.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-2.22 Aug 9, 2015
lts-2.3.yaml Allow newer repa-devil Apr 13, 2015
lts-2.4.yaml Added new LTS release: 2.4 Apr 19, 2015
lts-2.5.yaml Checking in lts-2.5.yaml Apr 26, 2015
lts-2.6.yaml Checking in lts-2.6.yaml May 3, 2015
lts-2.7.yaml Checking in lts-2.7.yaml May 4, 2015
lts-2.8.yaml Checking in lts-2.8.yaml May 10, 2015
lts-2.9.yaml Checking in lts-2 May 17, 2015
lts-3.0.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-3.0 Aug 12, 2015
lts-3.1.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-3.1 Aug 16, 2015
lts-3.10.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-3.10 Oct 18, 2015
lts-3.11.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-3.11 Oct 25, 2015
lts-3.12.yaml metrics haddocks are failing on LTS Nov 8, 2015
lts-3.13.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-3.13 Nov 8, 2015
lts-3.14.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-3.14 Nov 16, 2015
lts-3.15.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-3.15 Nov 21, 2015
lts-3.16.yaml stm-conduit haddock failing (#1018) Dec 7, 2015
lts-3.17.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-3.17 Dec 7, 2015
lts-3.18.yaml Expect tasty-rerun haddocks to fail Dec 20, 2015
lts-3.19.yaml mongoDB haddock also fails with split synopsis (fpco/stackage#1018) Dec 28, 2015
lts-3.2.yaml Allow newer tasty-hspec #11 Aug 24, 2015
lts-3.20.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-3.20 Dec 28, 2015
lts-3.21.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-3.21 Jan 7, 2016
lts-3.22.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-3.22 Jan 10, 2016
lts-3.3.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-3.3 Aug 30, 2015
lts-3.4.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-3.4 Sep 2, 2015
lts-3.5.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-3.5 Sep 13, 2015
lts-3.6.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-3.6 Sep 20, 2015
lts-3.7.yaml growler: expect Haddock failure Oct 4, 2015
lts-3.8.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-3.8 Oct 4, 2015
lts-3.9.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-3.9 Oct 12, 2015
lts-4.0.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-4.0 Jan 6, 2016
lts-4.1.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-4.1 Jan 10, 2016
lts-4.2.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-4.2 Jan 18, 2016
lts-5.0.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-5.0 Jan 26, 2016
lts-5.1.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-5.1 Jan 30, 2016
lts-5.10.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-5.10 Mar 28, 2016
lts-5.11.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-5.11 Apr 3, 2016
lts-5.12.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-5.12 Apr 10, 2016
lts-5.13.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-5.13 Apr 17, 2016
lts-5.14.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-5.14 Apr 25, 2016
lts-5.15.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-5.15 May 1, 2016
lts-5.16.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-5.16 May 11, 2016
lts-5.17.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-5.17 May 14, 2016
lts-5.18.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-5.18 May 23, 2016
lts-5.2.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-5.2 Feb 8, 2016
lts-5.3.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-5.3 Feb 14, 2016
lts-5.4.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-5.4 Feb 22, 2016
lts-5.5.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-5.5 Feb 28, 2016
lts-5.6.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-5.6 Mar 8, 2016
lts-5.7.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-5.7 Mar 12, 2016
lts-5.8.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-5.8 Mar 13, 2016
lts-5.9.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-5.9 Mar 22, 2016
lts-6.0.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-6.0 May 25, 2016
lts-6.1.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-6.1 May 29, 2016
lts-6.10.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-6.10 Jul 31, 2016
lts-6.11.yaml Checking in /var/stackage/.stackage/curator/lts-haskell/lts-6.11 Aug 10, 2016
lts-6.12.yaml Checking in /var/stackage/.stackage/curator/lts-haskell/lts-6.12 Aug 14, 2016
lts-6.13.yaml Checking in /var/stackage/.stackage/curator/lts-haskell/lts-6.13 Aug 21, 2016
lts-6.14.yaml Checking in /var/stackage/.stackage/curator/lts-haskell/lts-6.14 Aug 27, 2016
lts-6.15.yaml Checking in /var/stackage/.stackage/curator/lts-haskell/lts-6.15 Sep 4, 2016
lts-6.16.yaml Checking in lts-6.16 Sep 7, 2016
lts-6.17.yaml Checking in lts-6.17 Sep 12, 2016
lts-6.18.yaml Checking in lts-6.18 Sep 18, 2016
lts-6.19.yaml Checking in lts-6.19 Sep 28, 2016
lts-6.2.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-6.2 Jun 5, 2016
lts-6.20.yaml Checking in lts-6.20 Oct 1, 2016
lts-6.21.yaml Checking in lts-6.21 Oct 11, 2016
lts-6.22.yaml Checking in lts-6.22 Oct 15, 2016
lts-6.23.yaml Checking in lts-6.23 Oct 22, 2016
lts-6.24.yaml Checking in lts-6.24 Nov 6, 2016
lts-6.25.yaml Checking in lts-6.25 Nov 13, 2016
lts-6.26.yaml Checking in lts-6.26 Nov 21, 2016
lts-6.27.yaml Fix hash info for yesod-persistent commercialhaskell/stack#2876 Dec 27, 2016
lts-6.3.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-6.3 Jun 13, 2016
lts-6.4.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-6.4 Jun 19, 2016
lts-6.5.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-6.5 Jun 26, 2016
lts-6.6.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-6.6 Jul 3, 2016
lts-6.7.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-6.7 Jul 9, 2016
lts-6.8.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-6.8 Jul 21, 2016
lts-6.9.yaml Checking in /home/stackage/.stackage/curator/lts-haskell/lts-6.9 Jul 24, 2016
lts-7.0.yaml Checking in lts-7.0 Sep 14, 2016
lts-7.1.yaml Checking in lts-7.1 Sep 25, 2016
lts-7.10.yaml Checking in lts-7.10 Nov 22, 2016
lts-7.11.yaml Checking in lts-7.11 Nov 28, 2016
lts-7.12.yaml Checking in lts-7.12 Dec 4, 2016
lts-7.13.yaml Checking in lts-7.13 Dec 12, 2016
lts-7.14.yaml Checking in lts-7.14 Dec 18, 2016
lts-7.15.yaml Checking in lts-7.15 Jan 8, 2017
lts-7.16.yaml Checking in lts-7.16 Jan 17, 2017
lts-7.2.yaml Checking in lts-7.2 Oct 1, 2016
lts-7.3.yaml Checking in lts-7.3 Oct 10, 2016
lts-7.4.yaml Checking in lts-7.4 Oct 16, 2016
lts-7.5.yaml Checking in lts-7.5 Oct 23, 2016
lts-7.6.yaml Checking in lts-7.6 Oct 30, 2016
lts-7.7.yaml Checking in lts-7.7 Nov 1, 2016
lts-7.8.yaml Checking in lts-7.8 Nov 6, 2016
lts-7.9.yaml Checking in lts-7.9 Nov 14, 2016

README.md

LTS Haskell: Version your Ecosystem

LTS (Long Term Support) Haskell is a curated set of packages, a more stable companion to Stackage Nightly.

  • Minor version increments (e.g., 5.1 to 5.2) to LTS are produced weekly, typically on Sunday, containing only API compatible changes to existing packages and additional packages.
  • Major version increments (e.g. 5.20 to 6.0) to LTS are produced every 3 to 6 months containing API changes, additional packages, and occasional package removals. (Note that, in the future, a more rigorous release schedule will likely be added.)
  • In contrast, Stackage Nightly releases are produced nightly containing API changes and package changes.

Both Stackage Nightly and LTS Haskell are available from the Stackage homepage. More information is available in our initial blog post.

This repository contains the build plans for all LTS Haskell releases. Each release is available on stackage.org following the URL scheme:

http://www.stackage.org/lts/<major>.<minor>

Similarly, if you would like the newest point release of a release series, just provide the major version in the URL:

http://www.stackage.org/lts/<major>

Finally, to access the most recent LTS Haskell release, use the URL:

http://www.stackage.org/lts

Full Haddocks for each release are available at these URLs as well.

While Stackage Server is currently the only means of using the LTS Haskell package set, we strongly encourage other means of distribution, such as Linux package managers. If you are interested in putting together such a release, please feel free to contact us (via issue tracker, or the Stackage mailing list).

How it works

LTS Haskell builds on top of the versioning guidelines of Haskell's Package Versioning Policy, where authors indicate a breaking changing by bumping either the first or second numbers in the version number, and indicate point releases and bug fixes by changing any of the other numbers.

With LTS Haskell, we start with a new major release, let's say 7.0. 7.0 has selected a set of packages and their version numbers. When it comes time to release 7.1, we select all packages with matching major version numbers, which indicates that they have a backwards-compatible API. We then run a normal build/test process to ensure that everything works as expected, and then release 7.1.

By following the pattern, you can target the 7.X series of releases and have a high degree of confidence that you will continue to get bug fixes and feature enhancements, without needing to change your code to match upstream API changes.

All of this is done using the Stackage code base; you can see the description of the code for more details.

Usage via Stack

The Stack build tool includes built-in support for LTS Haskell, and will prefer using LTS releases whenever possible.

Fast global install for default cabal-install on Linux

For Linux user, If you install cabal-install by default.

The Cabal default path will be $HOME/.cabal.

This is a quick global install for default cabal-install for linux users.

Unix should working as well.

curl -sS http://www.stackage.org/snapshot/lts-1.7/cabal.config\?global\=true >> $HOME/.cabal/config

Possible breakage

It is still possible to have breaking when upgrading to a new point release. Some examples are:

  • A package author may make a mistake and introduce a bug, change semantics, or break the API of his/her code.
  • If you import modules unqualified and without explicit import lists, a newly exposed identifier may conflict with an existing identifier.
  • A new module name may clash with an existing module name.

These are all standard caveats that apply when following PVP versioning. The point here is that, while LTS Haskell greatly reduces the amount of breakage that may occur, you still need to check your code before upgrading.

Intentional breaking changes

In some rare circumstances, a breaking API change may be included within an LTS major version series. This will be at the Stackage curators' discretion, but will be reserved for cases such as major bugs and security fixes. If a major version bump in a package is necessary, and the API change impact is deemed to be minor enough, it is possible for major version changes to be slipped in midstream.