haskell-servant / servant

Main repository for the servant libraries — DSL for describing, serving, querying, mocking, documenting web applications and more!
https://docs.servant.dev/
1.8k stars 407 forks source link

Prepare 0.20 release #1688

Closed maksbotan closed 1 year ago

maksbotan commented 1 year ago

There is gonna be a lot of revisions...

@ysangkok can you please check if I've not missed anything?

ysangkok commented 1 year ago

Seems like a couple of bounds are too loose. If I remove servant/ from cabal.project (replicating what a Hackage user would get), multiple packages fail to build on older servant versions:

% cabal build --constraint='servant^>=0.19' servant-server
src/Servant/Server/Internal.hs:79:49: error:
    Module ‘Servant.API’ does not export ‘RawM’
   |
79 |                  QueryParam', QueryParams, Raw, RawM, ReflectMethod (reflectMethod),
   |                                                 ^^^^

src/Servant/Server/Internal.hs:82:36: error:
    Module ‘Servant.API’ does not export ‘WithResource’
   |
82 |                  WithNamedContext, WithResource, NamedRoutes)

Same thing happens for

cabal build --constraint='servant^>=0.19' servant-client-core
cabal build --constraint='servant^>=0.19' servant-foreign
cabal build --constraint='servant^>=0.19' servant-swagger

The easiest solution would be to bump the lower bounds on servant for all of these packages.

maksbotan commented 1 year ago

good catch! give me a minute

ysangkok commented 1 year ago

Oh, servant-docs has the same issue, too.

maksbotan commented 1 year ago

oh man, looks like there wasn't a release in a very long time

maksbotan commented 1 year ago

sure

maksbotan commented 1 year ago

Okay, I'm going to release these:

servant/ servant-client/ servant-client-core/ servant-http-streams/ servant-docs/ servant-foreign/ servant-server/ servant-swagger/ servant-machines/ servant-conduit/ servant-pipes/

maksbotan commented 1 year ago

@ysangkok I've just realized that there are no changelogs for 0.20. Can you please make a PR with them? For packages I've listed above.