Testing Dependency Version Lower Bounds
Joachim Breitner started an interesting Haskell discourse discussion titled “Dependency version bounds are a lie.” My summary of the problem is that many people test and maintain upper bounds but fail to test and maintain lower bounds. I test and maintain the lower bounds of my projects using Stack, but there has not been an easy way to do so using Cabal. I am very happy that there is already an effort to improve Cabal so that it will be easy to do so in the future.
I test my public Haskell packages using both Cabal and Stack, and my lower dependency version bounds are determined by the versions included in the oldest tested Stack snapshot. The lower bounds are therefore tested in CI with every push.
I realized, however, that I have inadvertently made an exception for
the base
package. I will audit the dependency version lower bounds of my projects
and resolve any such issues so that all lower bounds are tested.