From 3a35c40e2de25fa2ccc4fcec81f0e07b44963000 Mon Sep 17 00:00:00 2001 From: Janus Troelsen Date: Mon, 26 Aug 2024 08:25:13 -0600 Subject: [PATCH] Release servant-0.20.2 and sister libraries --- changelog.d/1591 | 2 -- changelog.d/1604 | 10 ------ changelog.d/1699 | 7 ---- changelog.d/1702 | 3 -- changelog.d/1707 | 2 -- changelog.d/1720 | 10 ------ changelog.d/1727 | 10 ------ changelog.d/1733 | 7 ---- changelog.d/1775 | 2 -- changelog.d/CaptureAll | 14 -------- changelog.d/config | 2 -- changelog.d/full-header-type | 23 ------------- servant-auth/servant-auth-client/CHANGELOG.md | 5 +++ .../servant-auth-client.cabal | 12 +++---- servant-auth/servant-auth-docs/CHANGELOG.md | 5 +++ .../servant-auth-docs/servant-auth-docs.cabal | 10 +++--- servant-auth/servant-auth-server/CHANGELOG.md | 9 +++++ .../servant-auth-server.cabal | 10 +++--- .../servant-auth-swagger/CHANGELOG.md | 4 +++ .../servant-auth-swagger.cabal | 10 +++--- servant-auth/servant-auth/servant-auth.cabal | 6 ++-- servant-client-core/CHANGELOG.md | 6 ++++ servant-client-core/servant-client-core.cabal | 6 ++-- servant-client/CHANGELOG.md | 9 +++++ servant-client/servant-client.cabal | 12 +++---- servant-conduit/CHANGELOG.md | 5 +++ servant-conduit/servant-conduit.cabal | 10 +++--- servant-docs/CHANGELOG.md | 5 +++ servant-docs/servant-docs.cabal | 6 ++-- servant-foreign/servant-foreign.cabal | 6 ++-- servant-http-streams/CHANGELOG.md | 5 +++ .../servant-http-streams.cabal | 12 +++---- servant-machines/CHANGELOG.md | 5 +++ servant-machines/servant-machines.cabal | 12 +++---- servant-pipes/CHANGELOG.md | 5 +++ servant-pipes/servant-pipes.cabal | 12 +++---- servant-quickcheck/CHANGELOG.yaml | 5 +++ servant-quickcheck/servant-quickcheck.cabal | 10 +++--- servant-server/CHANGELOG.md | 20 +++++++++++ servant-server/servant-server.cabal | 4 +-- servant-swagger/CHANGELOG.md | 5 +++ servant-swagger/servant-swagger.cabal | 8 ++--- servant/CHANGELOG.md | 34 +++++++++++++++++++ servant/servant.cabal | 4 +-- 44 files changed, 202 insertions(+), 167 deletions(-) delete mode 100644 changelog.d/1591 delete mode 100644 changelog.d/1604 delete mode 100644 changelog.d/1699 delete mode 100644 changelog.d/1702 delete mode 100644 changelog.d/1707 delete mode 100644 changelog.d/1720 delete mode 100644 changelog.d/1727 delete mode 100644 changelog.d/1733 delete mode 100644 changelog.d/1775 delete mode 100644 changelog.d/CaptureAll delete mode 100644 changelog.d/config delete mode 100644 changelog.d/full-header-type diff --git a/changelog.d/1591 b/changelog.d/1591 deleted file mode 100644 index a9abd79b6..000000000 --- a/changelog.d/1591 +++ /dev/null @@ -1,2 +0,0 @@ -synopsis: Fix build of examples/greet.hs. Add "429 Too Many Requests" error. -prs: #1591 diff --git a/changelog.d/1604 b/changelog.d/1604 deleted file mode 100644 index b7b201652..000000000 --- a/changelog.d/1604 +++ /dev/null @@ -1,10 +0,0 @@ -synopsis: Full query string helpers -prs: #1604 - -description: { - This PR introduces `DeepQuery`, a route combinator that implements a pattern commonly known as deep objects. - It builds upon the convention of using `[]` for a list of parameters: - `books?filter[search]=value&filter[author][name]=value`. - The corresponding type would be `DeepQuery "filter" BookQuery :> Get '[JSON] [Book]`. - -} diff --git a/changelog.d/1699 b/changelog.d/1699 deleted file mode 100644 index 5857bf8be..000000000 --- a/changelog.d/1699 +++ /dev/null @@ -1,7 +0,0 @@ -synopsis: Add NamedRoutes instance to IsElem -prs: #1699 -issues: #1674 -description: { -Add missing IsElem instance for NamedRoutes, this allows links to be checked -with `safeLink`. -} diff --git a/changelog.d/1702 b/changelog.d/1702 deleted file mode 100644 index 6c0318cf5..000000000 --- a/changelog.d/1702 +++ /dev/null @@ -1,3 +0,0 @@ -synopsis: Add AddSetCookies instance for when the left tree is the same before and after the transformation. -prs: #1702 -issues: #1601 diff --git a/changelog.d/1707 b/changelog.d/1707 deleted file mode 100644 index 05e5db62b..000000000 --- a/changelog.d/1707 +++ /dev/null @@ -1,2 +0,0 @@ -synopsis: Add IsIn instance for NamedRoutes -prs: #1707 diff --git a/changelog.d/1720 b/changelog.d/1720 deleted file mode 100644 index cfd3d1cb5..000000000 --- a/changelog.d/1720 +++ /dev/null @@ -1,10 +0,0 @@ -synopsis: Client Middleware -prs: #1720 - -description: { - -Clients now support real middleware of type `(Request -> ClientM Response) -> Request -> ClientM Response` which can be configured in `ClientEnv`. -This allows access to raw request and response data. It can also be used to control how/when/if actual requests are performed. -Middleware can be chained with function composition `mid1 . mid2 . mid3`. - -} \ No newline at end of file diff --git a/changelog.d/1727 b/changelog.d/1727 deleted file mode 100644 index e78db22a2..000000000 --- a/changelog.d/1727 +++ /dev/null @@ -1,10 +0,0 @@ -synopsis: Renamed `AtLeastOneFragment` type class to `AtMostOneFragment` -prs: #1720 - -description: { - -The previously named `AtLeastOneFragment` type class defined in the -`Servant.API.TypeLevel` module has been renamed to `AtMostOneFragment`, -since the previous name was misleading. - -} diff --git a/changelog.d/1733 b/changelog.d/1733 deleted file mode 100644 index 462fc7047..000000000 --- a/changelog.d/1733 +++ /dev/null @@ -1,7 +0,0 @@ -synopsis: Add `MkHandler` pattern synonym -prs: #1733 -issues: #1732 -description: { -Add a bidirectional pattern synonym to construct `Handler a` values from `IO -(Either ServerError a)` ones, and match in the other direction. -} diff --git a/changelog.d/1775 b/changelog.d/1775 deleted file mode 100644 index 4bf712116..000000000 --- a/changelog.d/1775 +++ /dev/null @@ -1,2 +0,0 @@ -synopsis: Add instance `HasServer (EmptyAPI :> api) context` -prs: #1775 diff --git a/changelog.d/CaptureAll b/changelog.d/CaptureAll deleted file mode 100644 index 5e0126a60..000000000 --- a/changelog.d/CaptureAll +++ /dev/null @@ -1,14 +0,0 @@ -synopsis: Bugfix - CaptureAll produces [""] for empty paths due to trailing slash. -prs: #1516 -issues: #1243 - -description: { - -CaptureAll resulted in `[""]` for empty paths due to trailing slash. Similar -oddities occurred around these edge cases like `"/"` resulted in `[]` correctly, -but `"//"` resulted in `["", ""]`. This patch simply eliminates the first `""` -in the pathinfo list as taken from the wai response. This might break user -code that relies on personal shims to solve the problem, however simply removing their -workarounds should fix their code as the behavior is now sane. - -} \ No newline at end of file diff --git a/changelog.d/config b/changelog.d/config deleted file mode 100644 index bb3c2c488..000000000 --- a/changelog.d/config +++ /dev/null @@ -1,2 +0,0 @@ -organization: haskell-servant -repository: servant diff --git a/changelog.d/full-header-type b/changelog.d/full-header-type deleted file mode 100644 index 99e7e1e51..000000000 --- a/changelog.d/full-header-type +++ /dev/null @@ -1,23 +0,0 @@ -synopsis: Use `Header'` in response headers. -prs: #1697 - -description: { - -Use `Header'` instead of `Header` in response, so it's possible to provide -`Description`, for example: - -``` -type PaginationTotalCountHeader = - Header' - '[ Description "Indicates to the client total count of items in collection" - , Optional - , Strict - ] - "Total-Count" - Int -``` - -Note: if you want to add header with description you should use `addHeader'` -or `noHeader'` which accepts `Header'` with all modifiers. - -} diff --git a/servant-auth/servant-auth-client/CHANGELOG.md b/servant-auth/servant-auth-client/CHANGELOG.md index 2ce9f585f..3751c23a4 100644 --- a/servant-auth/servant-auth-client/CHANGELOG.md +++ b/servant-auth/servant-auth-client/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [PVP Versioning](https://pvp.haskell.org/). ## [Unreleased] +## [0.4.2.0] - 2024-08-28 + +- Allow newer versions of dependencies (QuickCheck, jose, warp, bytestring, etc.) and compiler. +- Use `aroundAll` instead of `around`. [#1694](https://github.com/haskell-servant/servant/pull/1694) + ## [0.4.1.0] - 2020-10-06 - Support generic Bearer token auth diff --git a/servant-auth/servant-auth-client/servant-auth-client.cabal b/servant-auth/servant-auth-client/servant-auth-client.cabal index fbdf217b6..a2ec8fcf7 100644 --- a/servant-auth/servant-auth-client/servant-auth-client.cabal +++ b/servant-auth/servant-auth-client/servant-auth-client.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: servant-auth-client -version: 0.4.1.1 +version: 0.4.2.0 synopsis: servant-client/servant-auth compatibility description: This package provides instances that allow generating clients from @@ -31,12 +31,12 @@ library default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators ghc-options: -Wall build-depends: - base >= 4.10 && < 4.21 + base >= 4.14 && < 4.21 , bytestring >= 0.10.6.0 && < 0.13 , containers >= 0.5.6.2 && < 0.8 - , servant-auth == 0.4.* - , servant >= 0.13 && < 0.21 - , servant-client-core >= 0.13 && < 0.21 + , servant-auth >= 0.4.2.0 && < 0.5 + , servant >= 0.20.2 && < 0.21 + , servant-client-core >= 0.20.2 && < 0.21 exposed-modules: Servant.Auth.Client @@ -69,7 +69,7 @@ test-suite spec , http-client >= 0.5.13.1 && < 0.8 , http-types >= 0.12.2 && < 0.13 , servant-auth-server >= 0.4.2.0 && < 0.5 - , servant-server >= 0.13 && < 0.21 + , servant-server >= 0.20.2 && < 0.21 , time >= 1.5.0.1 && < 1.13 , transformers >= 0.4.2.0 && < 0.7 , wai >= 3.2.1.2 && < 3.3 diff --git a/servant-auth/servant-auth-docs/CHANGELOG.md b/servant-auth/servant-auth-docs/CHANGELOG.md index 0a255fb1b..4558d8008 100644 --- a/servant-auth/servant-auth-docs/CHANGELOG.md +++ b/servant-auth/servant-auth-docs/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [PVP Versioning](https://pvp.haskell.org/). ## [Unreleased] +## [0.2.11.0] - 2024-08-28 + +- Compatibility with newer dependencies, newer GHCs. +- Use `Type` instead of `*`. (#1710) + ## [0.2.10.0] - 2018-06-18 ### Added diff --git a/servant-auth/servant-auth-docs/servant-auth-docs.cabal b/servant-auth/servant-auth-docs/servant-auth-docs.cabal index 8a8e62acc..f8add01fb 100644 --- a/servant-auth/servant-auth-docs/servant-auth-docs.cabal +++ b/servant-auth/servant-auth-docs/servant-auth-docs.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: servant-auth-docs -version: 0.2.10.1 +version: 0.2.11.0 synopsis: servant-docs/servant-auth compatibility description: This package provides instances that allow generating docs from @@ -35,10 +35,10 @@ library default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators ghc-options: -Wall build-depends: - base >= 4.10 && < 4.21 - , servant-docs >= 0.13 && < 0.14 - , servant >= 0.13 && < 0.21 - , servant-auth == 0.4.* + base >= 4.14 && < 4.21 + , servant-docs >= 0.13.1 && < 0.14 + , servant >= 0.20.2 && < 0.21 + , servant-auth >= 0.4.2.0 && < 0.5 , lens >= 4.16.1 && <5.4 exposed-modules: Servant.Auth.Docs diff --git a/servant-auth/servant-auth-server/CHANGELOG.md b/servant-auth/servant-auth-server/CHANGELOG.md index 34b137d20..ca85dad6e 100644 --- a/servant-auth/servant-auth-server/CHANGELOG.md +++ b/servant-auth/servant-auth-server/CHANGELOG.md @@ -7,6 +7,15 @@ and this project adheres to [PVP Versioning](https://pvp.haskell.org/). ## [Unreleased] +## [0.4.9.0] - 2024-08-28 +- Allow newer versions dependencies, and newer versions of GHC. [#1747](https://github.com/haskell-servant/servant/pull/1747) among others. +- Use `Type` instead of `*`. [#1710](https://github.com/haskell-servant/servant/pull/1710) +- Add AddSetCookies instance for when the left tree is the same before and after the transformation. [#1601](https://github.com/haskell-servant/servant/issues/1601) [#1702](https://github.com/haskell-servant/servant/pull/1702) + +## [0.4.8.0] - 2023-06-25 + +- No changelog available. + ## [0.4.6.0] - 2020-10-06 ## Changed diff --git a/servant-auth/servant-auth-server/servant-auth-server.cabal b/servant-auth/servant-auth-server/servant-auth-server.cabal index dfeb3429b..31423b2f7 100644 --- a/servant-auth/servant-auth-server/servant-auth-server.cabal +++ b/servant-auth/servant-auth-server/servant-auth-server.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: servant-auth-server -version: 0.4.8.0 +version: 0.4.9.0 synopsis: servant-server/servant-auth compatibility description: This package provides the required instances for using the @Auth@ combinator in your 'servant' server. @@ -31,7 +31,7 @@ library default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators ghc-options: -Wall build-depends: - base >= 4.10 && < 4.21 + base >= 4.14 && < 4.21 , aeson >= 1.0.0.1 && < 3 , base64-bytestring >= 1.0.0.1 && < 2 , blaze-builder >= 0.4.1.0 && < 0.5 @@ -46,9 +46,9 @@ library , memory >= 0.14.16 && < 0.19 , monad-time >= 0.3.1.0 && < 0.5 , mtl ^>= 2.2.2 || ^>= 2.3.1 - , servant >= 0.13 && < 0.21 - , servant-auth == 0.4.* - , servant-server >= 0.13 && < 0.21 + , servant >= 0.20.2 && < 0.21 + , servant-auth >= 0.4.2.0 && < 0.5 + , servant-server >= 0.20.2 && < 0.21 , tagged >= 0.8.4 && < 0.9 , text >= 1.2.3.0 && < 2.2 , time >= 1.5.0.1 && < 1.13 diff --git a/servant-auth/servant-auth-swagger/CHANGELOG.md b/servant-auth/servant-auth-swagger/CHANGELOG.md index 7c14608a7..7108176fe 100644 --- a/servant-auth/servant-auth-swagger/CHANGELOG.md +++ b/servant-auth/servant-auth-swagger/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [PVP Versioning](https://pvp.haskell.org/). ## [Unreleased] +## [0.2.11.0] - 2024-08-28 + +- Compatibility with newer dependencies and GHCs. + ## [0.2.10.1] - 2020-10-06 ### Changed diff --git a/servant-auth/servant-auth-swagger/servant-auth-swagger.cabal b/servant-auth/servant-auth-swagger/servant-auth-swagger.cabal index f320a08e5..090c27d1a 100644 --- a/servant-auth/servant-auth-swagger/servant-auth-swagger.cabal +++ b/servant-auth/servant-auth-swagger/servant-auth-swagger.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: servant-auth-swagger -version: 0.2.10.2 +version: 0.2.11.0 synopsis: servant-swagger/servant-auth compatibility description: This package provides instances that allow generating swagger2 schemas from @@ -31,12 +31,12 @@ library default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators ghc-options: -Wall build-depends: - base >= 4.10 && < 4.21 + base >= 4.14 && < 4.21 , text >= 1.2.3.0 && < 2.2 - , servant-swagger >= 1.1.5 && < 2 + , servant-swagger >= 1.2.1 && < 2 , swagger2 >= 2.2.2 && < 3 - , servant >= 0.13 && < 0.21 - , servant-auth == 0.4.* + , servant >= 0.20.2 && < 0.21 + , servant-auth >= 0.4.2.0 && < 0.5 , lens >= 4.16.1 && < 5.4 exposed-modules: Servant.Auth.Swagger diff --git a/servant-auth/servant-auth/servant-auth.cabal b/servant-auth/servant-auth/servant-auth.cabal index 1b46d5c7a..02d38545f 100644 --- a/servant-auth/servant-auth/servant-auth.cabal +++ b/servant-auth/servant-auth/servant-auth.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: servant-auth -version: 0.4.1.0 +version: 0.4.2.0 synopsis: Authentication combinators for servant description: This package provides an @Auth@ combinator for 'servant'. This combinator allows using different authentication schemes in a straightforward way, @@ -33,12 +33,12 @@ library default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators ghc-options: -Wall build-depends: - base >= 4.10 && < 4.21 + base >= 4.14 && < 4.21 , containers >= 0.6 && < 0.8 , aeson >= 2.0 && < 3 , jose >= 0.10 && < 0.12 , lens >= 4.16.1 && < 5.4 - , servant >= 0.15 && < 0.21 + , servant >= 0.20.2 && < 0.21 , text >= 1.2.3.0 && < 2.2 , unordered-containers >= 0.2.9.0 && < 0.3 exposed-modules: diff --git a/servant-client-core/CHANGELOG.md b/servant-client-core/CHANGELOG.md index 025d397bc..fc417e0ae 100644 --- a/servant-client-core/CHANGELOG.md +++ b/servant-client-core/CHANGELOG.md @@ -3,6 +3,12 @@ Package versions follow the [Package Versioning Policy](https://pvp.haskell.org/): in A.B.C, bumps to either A or B represent major versions. +0.20.2 +---- + +- Full query string helpers [#1604](https://github.com/haskell-servant/servant/pull/1604) + This involves exporting `setQueryString` from Servant.Client.Core.Request. + 0.20 ---- diff --git a/servant-client-core/servant-client-core.cabal b/servant-client-core/servant-client-core.cabal index b93fc8103..46e946366 100644 --- a/servant-client-core/servant-client-core.cabal +++ b/servant-client-core/servant-client-core.cabal @@ -1,6 +1,6 @@ cabal-version: 3.0 name: servant-client-core -version: 0.20 +version: 0.20.2 synopsis: Core functionality and class for client function generation for servant APIs @@ -102,7 +102,7 @@ library -- -- note: mtl lower bound is so low because of GHC-7.8 build-depends: - , base >=4.9 && <4.21 + , base >=4.14 && <4.21 , bytestring >=0.10.8.1 && <0.13 , constraints >=0.2 && <0.15 , containers >=0.5.7.1 && <0.8 @@ -111,7 +111,7 @@ library , text >=1.2.3.0 && <2.2 -- Servant dependencies - build-depends: servant >=0.20 + build-depends: servant >=0.20.2 -- Other dependencies: Lower bound around what is in the latest Stackage LTS. -- Here can be exceptions if we really need features from the newer versions. diff --git a/servant-client/CHANGELOG.md b/servant-client/CHANGELOG.md index 2b60f7454..b62ed059f 100644 --- a/servant-client/CHANGELOG.md +++ b/servant-client/CHANGELOG.md @@ -3,6 +3,15 @@ Package versions follow the [Package Versioning Policy](https://pvp.haskell.org/): in A.B.C, bumps to either A or B represent major versions. +0.20.2 +------ + +- Client Middleware [#1720](https://github.com/haskell-servant/servant/pull/1720) + + Clients now support real middleware of type `(Request -> ClientM Response) -> Request -> ClientM Response` which can be configured in `ClientEnv`. + This allows access to raw request and response data. It can also be used to control how/when/if actual requests are performed. + Middleware can be chained with function composition `mid1 . mid2 . mid3`. + 0.20 ---- diff --git a/servant-client/servant-client.cabal b/servant-client/servant-client.cabal index f1c124b5d..6b9a5bbc3 100644 --- a/servant-client/servant-client.cabal +++ b/servant-client/servant-client.cabal @@ -1,6 +1,6 @@ cabal-version: 3.0 name: servant-client -version: 0.20 +version: 0.20.2 synopsis: Automatic derivation of querying functions for servant category: Servant, Web description: @@ -94,7 +94,7 @@ library -- Bundled with GHC: Lower bound to not force re-installs -- text and mtl are bundled starting with GHC-8.4 build-depends: - , base >=4.9 && <4.21 + , base >=4.14 && <4.21 , bytestring >=0.10.8.1 && <0.13 , containers >=0.5.7.1 && <0.8 , deepseq >=1.4.2.0 && <1.6 @@ -106,8 +106,8 @@ library -- Servant dependencies. -- Strict dependency on `servant-client-core` as we re-export things. build-depends: - , servant >=0.20 && <0.21 - , servant-client-core >=0.20 && <0.21 + , servant >=0.20.2 && <0.21 + , servant-client-core >=0.20.2 && <0.21 -- Other dependencies: Lower bound around what is in the latest Stackage LTS. -- Here can be exceptions if we really need features from the newer versions. @@ -175,8 +175,8 @@ test-suite spec , HUnit >=1.6.0.0 && <1.7 , network >=2.8.0.0 && <3.3 , QuickCheck >=2.12.6.1 && <2.16 - , servant >=0.20 && <0.21 - , servant-server >=0.20 && <0.21 + , servant >=0.20.2 && <0.21 + , servant-server >=0.20.2 && <0.21 build-tool-depends: hspec-discover:hspec-discover >=2.6.0 && <2.12 diff --git a/servant-conduit/CHANGELOG.md b/servant-conduit/CHANGELOG.md index 1b1efe3a5..b356afbf2 100644 --- a/servant-conduit/CHANGELOG.md +++ b/servant-conduit/CHANGELOG.md @@ -1,3 +1,8 @@ +0.16.1 +------ + +- Compatibility with newer dependencies. + 0.16 ---- diff --git a/servant-conduit/servant-conduit.cabal b/servant-conduit/servant-conduit.cabal index 4fc091279..64aec4345 100644 --- a/servant-conduit/servant-conduit.cabal +++ b/servant-conduit/servant-conduit.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: servant-conduit -version: 0.16 +version: 0.16.1 synopsis: Servant Stream support for conduit. category: Servant, Web, Enumerator @@ -28,12 +28,12 @@ source-repository head library exposed-modules: Servant.Conduit build-depends: - base >=4.9 && <5 + base >=4.14 && <5 , bytestring >=0.10.8.1 && <0.13 , conduit >=1.3.1 && <1.4 , mtl ^>=2.2.2 || ^>=2.3.1 , resourcet >=1.2.2 && <1.4 - , servant >=0.20 && <0.21 + , servant >=0.20.2 && <0.21 , unliftio-core >=0.1.2.0 && <0.3 hs-source-dirs: src default-language: Haskell2010 @@ -54,8 +54,8 @@ test-suite example , resourcet , servant >=0.20 && <0.21 , servant-conduit - , servant-server >=0.20 && <0.21 - , servant-client >=0.20 && <0.21 + , servant-server >=0.20.2 && <0.21 + , servant-client >=0.20.2 && <0.21 , wai >=3.2.1.2 && <3.3 , warp >=3.2.25 && <3.5 , http-client diff --git a/servant-docs/CHANGELOG.md b/servant-docs/CHANGELOG.md index b2e2b0f58..6fd7bf64b 100644 --- a/servant-docs/CHANGELOG.md +++ b/servant-docs/CHANGELOG.md @@ -1,6 +1,11 @@ [The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-docs/CHANGELOG.md) [Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md) +0.13.1 +------ + +- Compatibility with newer dependencies and newer GHCs. + 0.13 ---- diff --git a/servant-docs/servant-docs.cabal b/servant-docs/servant-docs.cabal index 82a418bd8..3828105a6 100644 --- a/servant-docs/servant-docs.cabal +++ b/servant-docs/servant-docs.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: servant-docs -version: 0.13 +version: 0.13.1 synopsis: generate API docs for your servant webservice category: Servant, Web @@ -41,13 +41,13 @@ library -- -- note: mtl lower bound is so low because of GHC-7.8 build-depends: - base >= 4.9 && < 4.21 + base >= 4.14 && < 4.21 , bytestring >= 0.10.8.1 && < 0.13 , text >= 1.2.3.0 && < 2.2 -- Servant dependencies build-depends: - servant >= 0.20 && <0.21 + servant >= 0.20.2 && <0.21 -- Other dependencies: Lower bound around what is in the latest Stackage LTS. -- Here can be exceptions if we really need features from the newer versions. diff --git a/servant-foreign/servant-foreign.cabal b/servant-foreign/servant-foreign.cabal index 126c63632..688487ba6 100644 --- a/servant-foreign/servant-foreign.cabal +++ b/servant-foreign/servant-foreign.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: servant-foreign -version: 0.16 +version: 0.16.1 synopsis: Helpers for generating clients for servant APIs in any programming language category: Servant, Web @@ -41,12 +41,12 @@ library -- -- note: mtl lower bound is so low because of GHC-7.8 build-depends: - base >= 4.9 && < 4.21 + base >= 4.14 && < 4.21 , text >= 1.2.3.0 && < 2.2 -- Servant dependencies build-depends: - servant >=0.20 && <0.21 + servant >=0.20.2 && <0.21 -- Other dependencies: Lower bound around what is in the latest Stackage LTS. -- Here can be exceptions if we really need features from the newer versions. diff --git a/servant-http-streams/CHANGELOG.md b/servant-http-streams/CHANGELOG.md index 9180e4d5c..beefe463d 100644 --- a/servant-http-streams/CHANGELOG.md +++ b/servant-http-streams/CHANGELOG.md @@ -1,6 +1,11 @@ [The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-http-streams/CHANGELOG.md) [Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md) +0.20.2 +------ + +- Compatibility with newer dependencies and GHC versions + 0.20 ---- diff --git a/servant-http-streams/servant-http-streams.cabal b/servant-http-streams/servant-http-streams.cabal index 4813446ba..41ed7069d 100644 --- a/servant-http-streams/servant-http-streams.cabal +++ b/servant-http-streams/servant-http-streams.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: servant-http-streams -version: 0.20 +version: 0.20.2 synopsis: Automatic derivation of querying functions for servant category: Servant, Web @@ -38,7 +38,7 @@ library -- Bundled with GHC: Lower bound to not force re-installs -- text and mtl are bundled starting with GHC-8.4 build-depends: - base >= 4.9 && < 4.21 + base >= 4.14 && < 4.21 , bytestring >= 0.10.8.1 && < 0.13 , containers >= 0.5.7.1 && < 0.8 , deepseq >= 1.4.2.0 && < 1.6 @@ -54,8 +54,8 @@ library -- Servant dependencies. -- Strict dependency on `servant-client-core` as we re-export things. build-depends: - servant >= 0.20 && < 0.21 - , servant-client-core >= 0.20 && <0.21 + servant >= 0.20.2 && < 0.21 + , servant-client-core >= 0.20.2 && <0.21 -- Other dependencies: Lower bound around what is in the latest Stackage LTS. -- Here can be exceptions if we really need features from the newer versions. @@ -116,8 +116,8 @@ test-suite spec , HUnit >= 1.6.0.0 && < 1.7 , network >= 2.8.0.0 && < 3.3 , QuickCheck >= 2.12.6.1 && < 2.16 - , servant-server >= 0.20 && < 0.21 - , servant >= 0.20 && < 0.21 + , servant-server >= 0.20.2 && < 0.21 + , servant >= 0.20.2 && < 0.21 build-tool-depends: hspec-discover:hspec-discover >= 2.6.0 && < 2.12 diff --git a/servant-machines/CHANGELOG.md b/servant-machines/CHANGELOG.md index 9a072db61..bdfac9e29 100644 --- a/servant-machines/CHANGELOG.md +++ b/servant-machines/CHANGELOG.md @@ -1,3 +1,8 @@ +0.16.1 +------ + +- Compatibility with newer dependencies and newer GHCs + 0.16 ---- diff --git a/servant-machines/servant-machines.cabal b/servant-machines/servant-machines.cabal index 2bf9b4471..61fb4bccb 100644 --- a/servant-machines/servant-machines.cabal +++ b/servant-machines/servant-machines.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: servant-machines -version: 0.16 +version: 0.16.1 synopsis: Servant Stream support for machines category: Servant, Web, Enumerator @@ -28,11 +28,11 @@ source-repository head library exposed-modules: Servant.Machines build-depends: - base >=4.9 && <5 + base >=4.14 && <5 , bytestring >=0.10.8.1 && <0.13 , machines >=0.6.4 && <0.8 , mtl ^>=2.2.2 || ^>=2.3.1 - , servant >=0.20 && <0.21 + , servant >=0.20.2 && <0.21 hs-source-dirs: src default-language: Haskell2010 ghc-options: -Wall @@ -48,11 +48,11 @@ test-suite example , base-compat , bytestring , http-media - , servant >=0.20 && <0.21 + , servant >=0.20.2 && <0.21 , machines , servant-machines - , servant-server >=0.20 && <0.21 - , servant-client >=0.20 && <0.21 + , servant-server >=0.20.2 && <0.21 + , servant-client >=0.20.2 && <0.21 , wai >=3.2.1.2 && <3.3 , warp >=3.2.25 && <3.5 , http-client diff --git a/servant-pipes/CHANGELOG.md b/servant-pipes/CHANGELOG.md index 9076bca5a..bd2d2ee51 100644 --- a/servant-pipes/CHANGELOG.md +++ b/servant-pipes/CHANGELOG.md @@ -1,3 +1,8 @@ +0.16.1 +------ + +- Compatibility with newer dependencies, and newers GHCs. + 0.16 ---- diff --git a/servant-pipes/servant-pipes.cabal b/servant-pipes/servant-pipes.cabal index 56234dc5c..828f30821 100644 --- a/servant-pipes/servant-pipes.cabal +++ b/servant-pipes/servant-pipes.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: servant-pipes -version: 0.16 +version: 0.16.1 synopsis: Servant Stream support for pipes category: Servant, Web, Pipes @@ -28,13 +28,13 @@ source-repository head library exposed-modules: Servant.Pipes build-depends: - base >=4.9 && <5 + base >=4.14 && <5 , bytestring >=0.10.8.1 && <0.13 , pipes >=4.3.9 && <4.4 , pipes-safe >=2.3.1 && <2.4 , mtl ^>=2.2.2 || ^>=2.3.1 , monad-control >=1.0.2.3 && <1.1 - , servant >=0.20 && <0.21 + , servant >=0.20.2 && <0.21 hs-source-dirs: src default-language: Haskell2010 ghc-options: -Wall @@ -54,9 +54,9 @@ test-suite example , pipes-safe , servant-pipes , pipes-bytestring >=2.1.6 && <2.2 - , servant >=0.20 && <0.21 - , servant-server >=0.15 && <0.21 - , servant-client >=0.15 && <0.21 + , servant >=0.20.2 && <0.21 + , servant-server >=0.20.2 && <0.21 + , servant-client >=0.20.2 && <0.21 , wai >=3.2.1.2 && <3.3 , warp >=3.2.25 && <3.5 , http-client diff --git a/servant-quickcheck/CHANGELOG.yaml b/servant-quickcheck/CHANGELOG.yaml index bc11d18b6..583db3c02 100644 --- a/servant-quickcheck/CHANGELOG.yaml +++ b/servant-quickcheck/CHANGELOG.yaml @@ -1,4 +1,9 @@ releases: + - version: "0.1.1.0" + changes: + - description: "Add missing LICENSE file to servant-quickcheck" + authors: tchoutri + date: 2024-05-16 - version: "0.1.0.0" changes: - description: "Support servant{-server,-client} up to 0.20, support base up to 4.19, drop support for some older servant and base versions, drop support for stack, drop testing for some older ghc versions" diff --git a/servant-quickcheck/servant-quickcheck.cabal b/servant-quickcheck/servant-quickcheck.cabal index 351ee4359..d6db73fec 100644 --- a/servant-quickcheck/servant-quickcheck.cabal +++ b/servant-quickcheck/servant-quickcheck.cabal @@ -1,6 +1,6 @@ cabal-version: 3.4 name: servant-quickcheck -version: 0.1.0.0 +version: 0.1.1.0 synopsis: QuickCheck entire APIs description: This packages provides QuickCheck properties that are tested across an entire API. @@ -36,7 +36,7 @@ library ghc-options: -Wall -Wcompat build-depends: aeson >=0.8 && <2.3 - , base >=4.9 && <4.21 + , base >=4.14 && <4.21 , base-compat-batteries >=0.10.1 && <0.15 , bytestring >=0.10 && <0.13 , case-insensitive >=1.2 && <1.3 @@ -50,9 +50,9 @@ library , pretty >=1.1 && <1.2 , process >=1.2 && <1.7 , QuickCheck >=2.7 && <2.16 - , servant >=0.18.2 && <0.21 - , servant-client >=0.17 && <0.21 - , servant-server >=0.17 && <0.21 + , servant >=0.20.2 && <0.21 + , servant-client >=0.20.2 && <0.21 + , servant-server >=0.20.2 && <0.21 , split >=0.2 && <0.3 , temporary >=1.2 && <1.4 , text >=1 && <2.2 diff --git a/servant-server/CHANGELOG.md b/servant-server/CHANGELOG.md index af9311a35..944060b21 100644 --- a/servant-server/CHANGELOG.md +++ b/servant-server/CHANGELOG.md @@ -3,6 +3,26 @@ Package versions follow the [Package Versioning Policy](https://pvp.haskell.org/): in A.B.C, bumps to either A or B represent major versions. +0.20.2 +---- + +- Fix build of examples/greet.hs. Add "429 Too Many Requests" error. [#1591](https://github.com/haskell-servant/servant/pull/1591) +- Full query string helpers [#1604](https://github.com/haskell-servant/servant/pull/1604) + This involves a new instance `HasServer (QueryString :> api) context`. +- Add `MkHandler` pattern synonym [#1732](https://github.com/haskell-servant/servant/issues/1732) [#1733](https://github.com/haskell-servant/servant/pull/1733) + + Add a bidirectional pattern synonym to construct `Handler a` values from `IO + (Either ServerError a)` ones, and match in the other direction. +- Add instance `HasServer (EmptyAPI :> api) context` [#1775](https://github.com/haskell-servant/servant/pull/1775) +- Bugfix - CaptureAll produces [""] for empty paths due to trailing slash. [#1243](https://github.com/haskell-servant/servant/issues/1243) [#1516](https://github.com/haskell-servant/servant/pull/1516) + + CaptureAll resulted in `[""]` for empty paths due to trailing slash. Similar + oddities occurred around these edge cases like `"/"` resulted in `[]` correctly, + but `"//"` resulted in `["", ""]`. This patch simply eliminates the first `""` + in the pathinfo list as taken from the wai response. This might break user + code that relies on personal shims to solve the problem, however simply removing their + workarounds should fix their code as the behavior is now sane. + 0.20 ---- diff --git a/servant-server/servant-server.cabal b/servant-server/servant-server.cabal index 31da0e164..24fbe0988 100644 --- a/servant-server/servant-server.cabal +++ b/servant-server/servant-server.cabal @@ -116,7 +116,7 @@ library -- Bundled with GHC: Lower bound to not force re-installs -- text and mtl are bundled starting with GHC-8.4 build-depends: - , base >=4.9 && <4.21 + , base >=4.14 && <4.21 , bytestring >=0.10.8.1 && <0.13 , constraints >=0.2 && <0.15 , containers >=0.5.7.1 && <0.8 @@ -129,7 +129,7 @@ library -- strict dependency as we re-export 'servant' things. build-depends: , http-api-data >=0.4.1 && <0.7 - , servant >=0.20 && <0.21 + , servant >=0.20.2 && <0.21 -- Other dependencies: Lower bound around what is in the latest Stackage LTS. -- Here can be exceptions if we really need features from the newer versions. diff --git a/servant-swagger/CHANGELOG.md b/servant-swagger/CHANGELOG.md index 3f16c16d9..a6cc3ec43 100644 --- a/servant-swagger/CHANGELOG.md +++ b/servant-swagger/CHANGELOG.md @@ -1,3 +1,8 @@ +1.2.1 +----- + +- Add IsIn instance for NamedRoutes [#1707](https://github.com/haskell-servant/servant/pull/1707) + 1.2 --- diff --git a/servant-swagger/servant-swagger.cabal b/servant-swagger/servant-swagger.cabal index 179197815..5f4d340d0 100644 --- a/servant-swagger/servant-swagger.cabal +++ b/servant-swagger/servant-swagger.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: servant-swagger -version: 1.2 +version: 1.2.1 synopsis: Generate a Swagger/OpenAPI/OAS 2.0 specification for your servant API. description: Swagger is a project used to describe and document RESTful APIs. The core of the @@ -49,7 +49,7 @@ source-repository head custom-setup setup-depends: - base >=4.9 && <5, + base >=4.14 && <5, Cabal >= 1.24 && <4, cabal-doctest >=1.0.6 && <1.1 @@ -71,13 +71,13 @@ library hs-source-dirs: src build-depends: aeson >=1.4.2.0 && <3 , aeson-pretty >=0.8.7 && <0.9 - , base >=4.9.1.0 && <5 + , base >=4.14 && <5 , base-compat >=0.10.5 && <0.15 , bytestring >=0.10.8.1 && <0.13 , http-media >=0.7.1.3 && <0.9 , insert-ordered-containers >=0.2.1.0 && <0.3 , lens >=4.17 && <6 - , servant >=0.20 && <0.21 + , servant >=0.20.2 && <0.21 , singleton-bool >=0.1.4 && <0.2 , swagger2 >=2.3.0.1 && <3 , text >=1.2.3.0 && <2.2 diff --git a/servant/CHANGELOG.md b/servant/CHANGELOG.md index 2846e4417..e4e478784 100644 --- a/servant/CHANGELOG.md +++ b/servant/CHANGELOG.md @@ -2,6 +2,40 @@ Package versions follow the [Package Versioning Policy](https://pvp.haskell.org/): in A.B.C, bumps to either A or B represent major versions. +0.20.2 +---- +- Full query string helpers [#1604](https://github.com/haskell-servant/servant/pull/1604) + + This PR introduces `DeepQuery`, a route combinator that implements a pattern commonly known as deep objects. + It builds upon the convention of using `[]` for a list of parameters: + `books?filter[search]=value&filter[author][name]=value`. + The corresponding type would be `DeepQuery "filter" BookQuery :> Get '[JSON] [Book]`. +- Add IsIn instance for NamedRoutes [#1707](https://github.com/haskell-servant/servant/pull/1707) +- Renamed `AtLeastOneFragment` type class to `AtMostOneFragment` [#1727](https://github.com/haskell-servant/servant/pull/1727) + + The previously named `AtLeastOneFragment` type class defined in the + `Servant.API.TypeLevel` module has been renamed to `AtMostOneFragment`, + since the previous name was misleading. +- Use `Header'` in response headers. [#1697](https://github.com/haskell-servant/servant/pull/1697) + + Use `Header'` instead of `Header` in response, so it's possible to provide + `Description`, for example: + + ``` + type PaginationTotalCountHeader = + Header' + '[ Description "Indicates to the client total count of items in collection" + , Optional + , Strict + ] + "Total-Count" + Int + ``` + + Note: if you want to add header with description you should use `addHeader'` + or `noHeader'` which accepts `Header'` with all modifiers. + + 0.20.1 ---- diff --git a/servant/servant.cabal b/servant/servant.cabal index ef96a51e1..cbb344067 100644 --- a/servant/servant.cabal +++ b/servant/servant.cabal @@ -1,6 +1,6 @@ cabal-version: 3.0 name: servant -version: 0.20.1 +version: 0.20.2 synopsis: A family of combinators for defining webservices APIs category: Servant, Web description: @@ -127,7 +127,7 @@ library -- -- note: mtl lower bound is so low because of GHC-7.8 build-depends: - , base >=4.9 && <4.21 + , base >=4.14 && <4.21 , bytestring >=0.10.8.1 && <0.13 , constraints >=0.2 , containers >=0.6 && <0.8