commercialhaskell / stackage

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

aeson-2.0.0.0 #6217

Closed jkachmar closed 2 years ago

jkachmar commented 3 years ago

oh boy, aeson updated its major version? that's gonna be fun...


Once aeson-2.0.x has been added, re-enable the following:

Tests: req jsonifier

Benchmarks: jsonifier


data refreshed 2021-11-28 by juhp

aeson-2.0.2.0 (changelog) (Adam Bergmark adam@bergmark.nl @bergmark, Stackage upper bounds) is out of bounds for:

brandon-leapyear commented 3 years ago

:sparkles: This is an old work account. Please reference @brandonchinn178 for all future communication :sparkles:


aeson-schemas-1.3.5 and github-rest-1.1.1 have been updated

martijnbastiaan commented 3 years ago

clash-lib-1.4.4 supports >=2. It will need https://github.com/informatikr/aeson-pretty/pull/37 to be merged and released too, though.

fumieval commented 3 years ago

Updated deriving-aeson https://hackage.haskell.org/package/deriving-aeson-0.2.7/revisions/

juhp commented 3 years ago

Has anyone written about how to port packages to aeson-2.0?

I rather fear this issue is just the tip of the iceberg, and the API change fallout from 2.0 will be pretty big...

andreasabel commented 3 years ago

Has anyone written about how to port packages to aeson-2.0?

I opened an issue for this:

Maybe this issue could be used to collect information about migrating to aeson-2 (until a migration guide appears).

mrkkrp commented 2 years ago

I released forma-1.2.0 and req-3.9.2. Both are compatible with aeson 2.

jgm commented 2 years ago

ipynb (and hence pandoc) waits on aeson-microlens and aeson-diff, though both are used only in the test suite. (I mention this because they aren't in the list above; perhaps they're not in Stackage.) pandoc also waits on aeson-pretty.

jonascarpay commented 2 years ago

I released aeson-commit-1.4 which supports aeson 2.

mrkkrp commented 2 years ago

I released stache-2.3.1 that works with aeson 2. Also published a revision for mmark-0.0.7.3. mmark's test suite is still failing, but it is an unrelated issue. Also released mmark-cli-0.0.5.1 compatible with aeson 2.

prikhi commented 2 years ago

Fixed via revisions:

DougBurke commented 2 years ago

hvega-0.12.0.0 and ihaskell-hvega-0.4.0.0 have been released which supports 'aeson < 2.1' (although I think there are a number of aeson-related changes needed for the IHaskell ecosystem before the latter is useful)

tfausak commented 2 years ago

My packages have been updated to support Aeson 2.0:

I also wrote a brief migration guide: https://github.com/haskell/aeson/issues/881#issuecomment-944920664

fosskers commented 2 years ago

microlens-aeson has been updated. I will get to aur and aura as soon as I can.

fosskers commented 2 years ago
jwoudenberg commented 2 years ago

bugsnag-hs, wai-feature-flags, and the nri-* libraries have been updated.

MichelBoucey commented 2 years ago

Are OK with aeson == 2.0.* :

martijnbastiaan commented 2 years ago

aeson-pretty-0.8.9 has been released with Aeson 2.0 support.

jgm commented 2 years ago

pandoc 2.15 and pandoc-types 1.22.1 and ipynb 0.1.0.2 can now compile against aeson >= 2. Not sure why I'm listed for HsYAML-aeson -- I'm not a maintainer of that package, nor do I depend on it (as far as I can recall).

juhp commented 2 years ago

Not sure why I'm listed for HsYAML-aeson -- I'm not a maintainer of that package, nor do I depend on it (as far as I can recall).

@jgm: I am guessing it is due to former pandoc-citeproc?

andreasabel commented 2 years ago

goldplate-0.2.0 has been revised to allow aeson-2.0.

jgm commented 2 years ago

@juhp probably so. In that case we can remove it, as well as pandoc-citeproc.

juhp commented 2 years ago

@bergmark Maybe we can move HsYAML-aeson to grandfathered? (It is needed by dhall-yaml & fourmolu) Though I see @hasufell made a PR for aeson-2.0.

hasufell commented 2 years ago

Though I see @hasufell made a PR for aeson-2.0.

It's unlikely that will ever be merged, since hvr has apparently abandoned this community.

Minoru commented 2 years ago

I just released hakyll-4.15.1.0 which is compatible with aeson 2.0.

sullyj3 commented 2 years ago

Just released buttplug-hs-core 0.1.0.1 supporting aeson 2.0

serras commented 2 years ago

Just opened a PR against generics-aeson to add aeson 2.0 compatibility

MichelBoucey commented 2 years ago
andreasabel commented 2 years ago

Though I see @hasufell made a PR for aeson-2.0.

It's unlikely that will ever be merged, since hvr has apparently abandoned this community.

I merged it and released HsYAML-0.2.0.1: https://hackage.haskell.org/package/HsYAML-aeson-0.2.0.1

serras commented 2 years ago

generics-aeson is uploaded

andreasabel commented 2 years ago

@jkachmar : Is there a timeline / deadline?

akhesaCaro commented 2 years ago

I am a Servant maintainer and we are planning to be compatible with Aeson 2 in our next release 0.19. WIP : https://github.com/haskell-servant/servant/projects/2

juhp commented 2 years ago

I have refreshed the data in the description.

If possible we would really like to get aeson-2.0 into LTS 19.

thielema commented 2 years ago

On Sat, 27 Nov 2021, jkachmar wrote:

oh boy, aeson updated its major version? that's gonna be fun...

It does not seem to be possible to simply relax the version bounds.

I get several errors saying "cannot match Json.Key with type Text".

I cannot see an according hint in the changelog. Is there a transition guide?

bergmark commented 2 years ago

My packages have been updated to support Aeson 2.0:

I also wrote a brief migration guide: haskell/aeson#881 (comment)

juhp commented 2 years ago

I did some build testing with aeson-2.0.2.0 and the following packages failed to build:

(I tried to list some of the dependent packages in parens, but this is not completely consistent)

NB this list is not exhaustive and only covers low-lying dependents of aeson

Fixing shakespeare and persistent would allow building a lot more packages to be tested.

Although the results look pretty bad (as I had feared), many of the packages are leaf, or near-leaf packages, so the impact is not as bad as it looks perhaps.

edit: Also note that these builds were done with the current package versions in nightly-2021-11-28.

akhesaCaro commented 2 years ago

@thielema I have been able to just relax the version bump with few fixes and the CPP extension on Servant.

See this commit : https://github.com/haskell-servant/servant/pull/1475/commits/05ef0dd1d304a9c6f5037ca25c050d06ca7a167d

{-# LANGUAGE CPP #-}

#if MIN_VERSION_aeson(2,0,0)                                                                                    
import qualified Data.Map as KM                                                                        
#else                                                                                                           
import qualified Data.HashMap.Strict as KM                                                                      
#endif

Hope it will help.

fendor commented 2 years ago

hie-bios 0.8.0 release with support for aeson > 2

23prime commented 2 years ago

oeis2-1.0.6 support aeson-2.0.x

hdgarrood commented 2 years ago

Please feel free to drop aeson-better-errors from Stackage. It will most likely not get updated for a while.

vaibhavsagar commented 2 years ago

ipython-kernel-0.10.2.2 and ihaskell-0.10.2.2 have support for aeson-2.0.*

thielema commented 2 years ago

On Mon, 29 Nov 2021, Harry Garrood wrote:

Please feel free to drop aeson-better-errors from Stackage. It will most likely not get updated for a while.

You can do this by removing it from build-constraints.yaml

bergmark commented 2 years ago

any package that isn't updated will get automatically dropped when we close this, so no need to file PRs to remove packages.

Here's the current packages that would get disabled just based on existing upper bounds https://github.com/commercialhaskell/stackage/pull/6334

And then @juhp's list of build failures will need to be included as well.

ludat commented 2 years ago

conferer-aeson supports aeson-2.0 :grin:

andreasabel commented 2 years ago

Agda 2.6.2.1 supports aeson-2.0.

chessai commented 2 years ago

hedgehog-classes-0.2.5.3 supports aeson-2.0.

YoEight commented 2 years ago

eventstore-1.4.2 supports aeson-2.0

ndmitchell commented 2 years ago

hoogle-5.0.18.3 supports aeson-2.0

icidasset commented 2 years ago

shikensu-0.4.0 supports aeson-2.0

NorfairKing commented 2 years ago

Feel free to turn off any of my packages that don't support aeson-2.0.0.0 because I won't go around fixing everything until aeson is in a (nightly) snapshot that I can build against.

rkaippully commented 2 years ago

webgear-server-1.0.1 supports aeson-2.0