Open juhp opened 1 month ago
Does anyone know what the breaking changes are? There doesn't seem to be a changelog.
I can't find a change log either. Here's the diff: https://github.com/mauke/data-default/compare/1e4f789429f098d851105a761d5ff539113f5bb9...8178c677200b6a92a2a634921ea20f5649ac83f0
I've opened an issue: https://github.com/mauke/data-default/issues/28
Changes in 0.8.0.0:
containers
and base
now (but requires base >= 4.8).Default
instances for Data.DList and System.Locale are gone (but could be revived with updated versions of data-default-instances-dlist and data-default-instances-old-locale in the future?).Default
instances for e -> a
and IO a
have been removed.Default
instance now supports sum types as well (by always choosing the left constructor).GDefault
type is now semi-public (in the Data.Default.Internal module) and has stub documentation.Identity
Const
Proxy
Solo
Bool
CBool
Ptr
ConstPtr
FunPtr
IntPtr
WordPtr
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.
Yes, I ran into the same issue.
published a revision of incipit-base
✅
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):
/cc @LaurentRDC . NB: Hakyll will have to wait until pandoc is updated.
Fixed for hakyll-convert by revision 0.3.0.5@rev:2.
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.
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.
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:
Fixed in shellify-0.11.0.5
Okay so actually data-default-class 0.2.0 was released for backward compatibility now.
@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)
Fixed for tlynx-0.8.0.0
, and elynx-tree-0.8.0.0
.
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
.
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
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.
I released fold-debounce-0.2.0.13. I switched to data-default.
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
I released https://hackage.haskell.org/package/tmp-proc-0.7.2.0 which relaxes the upper-bound to allow data-default-0.8
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)
Uploaded webdriver-0.12.0.1 which just replaces the data-default-class
dependency with data-default
.
Done for gitlab-haskell
:
https://gitlab.com/robstewart57/gitlab-haskell/-/commit/82dac90b1b399f54eceb5a36961479042ff19800
Please let me know if there's anything additional to be done.
Uploaded cron-0.7.2 which replaces data-default-class
with data-default
.
Revised hakyll-4.16.3.0 to support data-default-0.8
hoauth2-2.14.1
data-default-0.8.0.0 is out of bounds for:
Note that this basically obsoletes `data-default-instances-`*
See below for the changelog