commercialhaskell / stackage

Stable Haskell package sets: vetted consistent packages from Hackage
https://www.stackage.org/
MIT License
530 stars 805 forks source link

data-default-0.8 obsoletes data-defaults-instance's #7545

Open juhp opened 1 month ago

juhp commented 1 month ago

data-default-0.8.0.0 is out of bounds for:

Note that this basically obsoletes `data-default-instances-`*

See below for the changelog

byorgey commented 1 month ago

Does anyone know what the breaking changes are? There doesn't seem to be a changelog.

tfausak commented 1 month ago

I can't find a change log either. Here's the diff: https://github.com/mauke/data-default/compare/1e4f789429f098d851105a761d5ff539113f5bb9...8178c677200b6a92a2a634921ea20f5649ac83f0

tarleb commented 1 month ago

I've opened an issue: https://github.com/mauke/data-default/issues/28

mauke commented 1 month ago

Changes in 0.8.0.0:

jgm commented 1 month ago

The split into multiple packages (data-default-class, data-default-instances-*) is gone. There is only data-default now (with no dependencies on data-default-class or anything).

In that case, every package that depends on data-default-class or data-default-instances needs to be modified, right? So the above list is incomplete. I discovered this by trying to compile pandoc with the constraint data-default >= 0.8; it fails with an error building xml-conduit:

    • No instance for ‘Data.Default.Internal.Default X.ParseSettings’
        arising from a use of ‘def’

xml-conduit depends on data-default-class but not data-default.

tfausak commented 1 month ago

Yes, I ran into the same issue.

tek commented 1 month ago

published a revision of incipit-base

juhp commented 1 month ago

The split into multiple packages (data-default-class, data-default-instances-*) is gone. There is only data-default now (with no dependencies on data-default-class or anything).

In that case, every package that depends on data-default-class or data-default-instances needs to be modified, right? So the above list is incomplete. I discovered this by trying to compile pandoc with the constraint data-default >= 0.8; it fails with an error building xml-conduit

Ah I see - feels like this needs wider awareness, a Discourse post/announcement would probably make sense? But okay I guess we could try to generate a list of dependents (I suppose data-default-class should be sufficient):

Minoru commented 1 month ago

/cc @LaurentRDC . NB: Hakyll will have to wait until pandoc is updated.

Minoru commented 1 month ago

Fixed for hakyll-convert by revision 0.3.0.5@rev:2.

jgm commented 1 month ago

At the very least xml-conduit should be added to the list above and its maintainer notified. Pandoc won't build with data-default 0.8 without changes there. Perhaps there are other packages, too, that depend on data-default-class but not data-default.

byorgey commented 1 month ago

Perhaps there are other packages, too, that depend on data-default-class but not data-default.

@jgm see @juhp 's above comment with a link to a list of such packages. I agree perhaps we should add those packages to the list in this issue as well.

juhp commented 1 month ago

edit: Note data-default-class-0.2.0 compatibility library has now been released though it probably still makes sense to drop it as a dependency going forward?

These are the current Nightly packages that depend on data-default-class directly or indirectly

data-default-class (Grandfathered dependencies) (not present) depended on by:

danielrolls commented 1 month ago

Fixed in shellify-0.11.0.5

juhp commented 1 month ago

Okay so actually data-default-class 0.2.0 was released for backward compatibility now.

juhp commented 1 month ago

@jgm, does data-default-class-0.2.0 help?

(Hmm I hid my data-default-class bounds comment, though maybe it is still better for packages to drop it)

dschrempf commented 1 month ago

Fixed for tlynx-0.8.0.0, and elynx-tree-0.8.0.0.

jgm commented 4 weeks ago

I was able to compile pandoc and its dependencies using --constrain 'data-default >= 0.8' -- constrain 'data-default-class >= 0.2' --allow-newer=data-default-class.

To get it to work without --allow-newer, the dependencies (e.g. tls) will need to relax their upper bound on data-default-class.

lehins commented 4 weeks ago

Color, massiv-io and massiv-test are all fine, since they never had an upper bound and they'll work just fine with data-default-class-0.2

lehins commented 4 weeks ago

I hid my data-default-class bounds comment, though maybe it is still better for packages to drop it

@juhp It would be better for packages to drop it, but there are 330 direct dependencies. So, addition of data-default-class-0.2 makes it possible to drop it over a longer period of time, instead of forcing maintainers of those packages to make a change ASAP.

Maybe at some point deprecating data-default-class will raise more awareness and will lead to it eventually being dropped, but at least there is no immediate pressure.

debug-ito commented 3 weeks ago

I released fold-debounce-0.2.0.13. I switched to data-default.

adetokunbo commented 3 weeks ago

I released wai-middleware-delegate-0.2.0.0 The library no longer uses data-default, and the test-suite upper-bound allows data-default-0.8

adetokunbo commented 3 weeks ago

I released https://hackage.haskell.org/package/tmp-proc-0.7.2.0 which relaxes the upper-bound to allow data-default-0.8

mihaimaruseac commented 2 weeks ago

Current status:

data-default-0.8.0.0 (changelog) (Grandfathered dependencies) is out of bounds for:

data-default-class-0.2.0.0 (changelog) (Grandfathered dependencies) is out of bounds for:

To which we also need to add

tls-2.1.1 (changelog) (Kazu Yamamoto kazu@iij.ad.jp @kazu-yamamoto, Stackage upper bounds) is out of bounds for:

(meaning I'll add an upper bound on warp-tls until this gets closed)

thomasjm commented 2 weeks ago

Uploaded webdriver-0.12.0.1 which just replaces the data-default-class dependency with data-default.

robstewart57 commented 2 weeks ago

Done for gitlab-haskell:

https://gitlab.com/robstewart57/gitlab-haskell/-/commit/82dac90b1b399f54eceb5a36961479042ff19800

Please let me know if there's anything additional to be done.

MichaelXavier commented 2 weeks ago

Uploaded cron-0.7.2 which replaces data-default-class with data-default.

LaurentRDC commented 2 weeks ago

Revised hakyll-4.16.3.0 to support data-default-0.8

freizl commented 1 week ago

hoauth2-2.14.1