haskell-infra / hackage-trustees

Issue tracker for Hackage maintainance and trustee operations
https://hackage.haskell.org/packages/trustees/
42 stars 7 forks source link

Allow newer aeson for ekg package #358

Closed andreabedini closed 1 year ago

andreabedini commented 1 year ago

Dear hackage-trustees,

ekg-0.4.0.15 currently lists aeson >= 0.4 && < 1.6 but works perfectly fine with newer versions of aeson. Indeed, most projects at IOG put allow-newer: ekg:aeson in their cabal.project.

I suggest we revise the upper bound to include aeson up to 2.1.2.1 (the latest version), i.e. aeson >= 0.4 && < 2.2.

The issue of supporting newer versions of aeson has been opened for few months already https://github.com/tibbe/ekg/issues/90

andreabedini commented 1 year ago

Apologies, on further testing I need to correct myself and retract this. The dependency on aeson is also blocked on ekg's dependency ekg-json (which also lists aeson >=0.4 && <1.6) and does not compile with aeson>=2.0. The reason I got confused is because I forgot that at IOG we have a patched version of ekg-json package which supports newer aesons.

There's nothing the trustees can do in this case. Thanks.

endgame commented 1 year ago

Remark for future cases: a hypothetical aeson-1.6 would be allowed to have breaking changes compared to 1.5, so I think that the correct bounds for a "package which correctly builds with newer aeson" should be aeson >=0.4 && <1.6 || >=2.0 && <2.2 or something like that?

andreabedini commented 1 year ago

Remark for future cases: a hypothetical aeson-1.6 would be allowed to have breaking changes compared to 1.5, so I think that the correct bounds for a "package which correctly builds with newer aeson" should be aeson >=0.4 && <1.6 || >=2.0 && <2.2 or something like that?

I think you are correct. Another way to write would be ^>=0.4 || ... || ^>= 2.1 || ^>= 2.2 but I frowned at listing all the major versions since 0.4.