haskell / haskell/cabal

RFC: Cabal support for LTS Snapshots

Open
#7,556 48 comments 53 reactions 0 assignees View on GitHub
type: discussion type: RFC
Dominant language
Haskell
Stars
1.7k
Forks
750
Avg merge
4d 3h
Merged PRs (30d)
28

Description

Continuing from this discussion here: https://twitter.com/bkmlep/status/1427696844662919169

# What is this RFC for?

Discussion amongst the Cabal team has led us to consider the idea of supporting [Stackage Nightly snapshots and LTS (Long Term Support) releases](https://www.stackage.org/#about). This issue should serve as a preliminary request for comment and the start of a design document for supporting Stackage LTS snapshots and features associated with it.

## Why should I care?

LTS snapshots support closed universes of package sets that are guaranteed to work together. Many of us already work with Nix, which relies on Stackage to inform its stable package sets. Working with Cabal + Nix is already implicitly working in an LTS. This would be a good feature for Cabal to support, due to many users strictly consuming dependencies, in which case they do not care in particular about setting bounds, which is a feature for library maintainers and consumers who need finer grained dependency management.

With #6528, we could support LTS snapshots as remote freeze files, and allow users to consume other kinds of stable package sets.

## When will this go in?

At least 1 year (Cabal 3.10), at most 2 years (Cabal 3.14)

## I like this, how can I help?

Speak up on this issue, or get ahold of one of the Cabal team on `libera.chat#hackage`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.