Description
Stack's design involves shelling out to the Setup.hs file for most activities it performs. IIRC, we currently support Setup.hs files compiled against Cabal versions as old as 1.18. However, keeping this support involves conditionals in the codebase. At some point, we will likely want to drop support for older versions of the Cabal library.
As we're looking at Stack 2.0 and adding support for Backpack, it looks like adding conditional support for component-based builds may add quite a bit of complexity to the codebase. I'd like to propose that we drop support for older versions of the Cabal library.
Upside: simplified code base, more thorough testing
Downside: users of older snapshots that include an older GHC and/or Cabal version will need to stick to older versions of the Stack executable
We should make a decision about this soon to allow those interested to start diving into component-based builds sooner rather than later.