Merge pull request #1517 from haskell-servant/prepare-0.19
Prepare 0.19 release
This commit is contained in:
commit
e98ae8adba
22 changed files with 222 additions and 36 deletions
|
@ -71,6 +71,9 @@ allow-newer: servant-pagination-2.2.2:servant
|
||||||
allow-newer: servant-pagination-2.2.2:servant-server
|
allow-newer: servant-pagination-2.2.2:servant-server
|
||||||
|
|
||||||
allow-newer: servant-js:servant
|
allow-newer: servant-js:servant
|
||||||
|
allow-newer: servant-multipart:servant
|
||||||
|
allow-newer: servant-multipart:servant-server
|
||||||
|
allow-newer: servant-multipart-api:servant
|
||||||
|
|
||||||
-- ghc 9
|
-- ghc 9
|
||||||
allow-newer: tdigest:base
|
allow-newer: tdigest:base
|
||||||
|
|
|
@ -35,8 +35,8 @@ library
|
||||||
, bytestring >= 0.10.6.0 && < 0.11
|
, bytestring >= 0.10.6.0 && < 0.11
|
||||||
, containers >= 0.5.6.2 && < 0.7
|
, containers >= 0.5.6.2 && < 0.7
|
||||||
, servant-auth == 0.4.*
|
, servant-auth == 0.4.*
|
||||||
, servant >= 0.13 && < 0.19
|
, servant >= 0.13 && < 0.20
|
||||||
, servant-client-core >= 0.13 && < 0.19
|
, servant-client-core >= 0.13 && < 0.20
|
||||||
|
|
||||||
exposed-modules:
|
exposed-modules:
|
||||||
Servant.Auth.Client
|
Servant.Auth.Client
|
||||||
|
@ -69,7 +69,7 @@ test-suite spec
|
||||||
, http-client >= 0.5.13.1 && < 0.8
|
, http-client >= 0.5.13.1 && < 0.8
|
||||||
, http-types >= 0.12.2 && < 0.13
|
, http-types >= 0.12.2 && < 0.13
|
||||||
, servant-auth-server >= 0.4.2.0 && < 0.5
|
, servant-auth-server >= 0.4.2.0 && < 0.5
|
||||||
, servant-server >= 0.13 && < 0.19
|
, servant-server >= 0.13 && < 0.20
|
||||||
, time >= 1.5.0.1 && < 1.13
|
, time >= 1.5.0.1 && < 1.13
|
||||||
, transformers >= 0.4.2.0 && < 0.6
|
, transformers >= 0.4.2.0 && < 0.6
|
||||||
, wai >= 3.2.1.2 && < 3.3
|
, wai >= 3.2.1.2 && < 3.3
|
||||||
|
|
|
@ -37,7 +37,7 @@ library
|
||||||
build-depends:
|
build-depends:
|
||||||
base >= 4.10 && < 4.16
|
base >= 4.10 && < 4.16
|
||||||
, servant-docs >= 0.11.2 && < 0.12
|
, servant-docs >= 0.11.2 && < 0.12
|
||||||
, servant >= 0.13 && < 0.19
|
, servant >= 0.13 && < 0.20
|
||||||
, servant-auth == 0.4.*
|
, servant-auth == 0.4.*
|
||||||
, lens >= 4.16.1 && <5.1
|
, lens >= 4.16.1 && <5.1
|
||||||
exposed-modules:
|
exposed-modules:
|
||||||
|
|
|
@ -46,9 +46,9 @@ library
|
||||||
, memory >= 0.14.16 && < 0.17
|
, memory >= 0.14.16 && < 0.17
|
||||||
, monad-time >= 0.3.1.0 && < 0.4
|
, monad-time >= 0.3.1.0 && < 0.4
|
||||||
, mtl >= 2.2.2 && < 2.3
|
, mtl >= 2.2.2 && < 2.3
|
||||||
, servant >= 0.13 && < 0.19
|
, servant >= 0.13 && < 0.20
|
||||||
, servant-auth == 0.4.*
|
, servant-auth == 0.4.*
|
||||||
, servant-server >= 0.13 && < 0.19
|
, servant-server >= 0.13 && < 0.20
|
||||||
, tagged >= 0.8.4 && < 0.9
|
, tagged >= 0.8.4 && < 0.9
|
||||||
, text >= 1.2.3.0 && < 1.3
|
, text >= 1.2.3.0 && < 1.3
|
||||||
, time >= 1.5.0.1 && < 1.10
|
, time >= 1.5.0.1 && < 1.10
|
||||||
|
|
|
@ -35,7 +35,7 @@ library
|
||||||
, text >= 1.2.3.0 && < 1.3
|
, text >= 1.2.3.0 && < 1.3
|
||||||
, servant-swagger >= 1.1.5 && < 2
|
, servant-swagger >= 1.1.5 && < 2
|
||||||
, swagger2 >= 2.2.2 && < 3
|
, swagger2 >= 2.2.2 && < 3
|
||||||
, servant >= 0.13 && < 0.19
|
, servant >= 0.13 && < 0.20
|
||||||
, servant-auth == 0.4.*
|
, servant-auth == 0.4.*
|
||||||
, lens >= 4.16.1 && < 5.1
|
, lens >= 4.16.1 && < 5.1
|
||||||
if impl(ghc >= 9)
|
if impl(ghc >= 9)
|
||||||
|
|
|
@ -38,7 +38,7 @@ library
|
||||||
, aeson >= 1.3.1.1 && < 3
|
, aeson >= 1.3.1.1 && < 3
|
||||||
, jose >= 0.7.0.0 && < 0.10
|
, jose >= 0.7.0.0 && < 0.10
|
||||||
, lens >= 4.16.1 && < 5.1
|
, lens >= 4.16.1 && < 5.1
|
||||||
, servant >= 0.15 && < 0.19
|
, servant >= 0.15 && < 0.20
|
||||||
, text >= 1.2.3.0 && < 1.3
|
, text >= 1.2.3.0 && < 1.3
|
||||||
, unordered-containers >= 0.2.9.0 && < 0.3
|
, unordered-containers >= 0.2.9.0 && < 0.3
|
||||||
exposed-modules:
|
exposed-modules:
|
||||||
|
|
|
@ -1,6 +1,35 @@
|
||||||
[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-client-core/CHANGELOG.md)
|
[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-client-core/CHANGELOG.md)
|
||||||
[Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
|
[Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
|
||||||
|
|
||||||
|
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.19
|
||||||
|
----
|
||||||
|
|
||||||
|
### Significant changes
|
||||||
|
|
||||||
|
- Drop support for GHC < 8.6.
|
||||||
|
- Support GHC 9.0 (GHC 9.2 should work as well, but isn't fully tested yet).
|
||||||
|
- Support Aeson 2 ([#1475](https://github.com/haskell-servant/servant/pull/1475)).
|
||||||
|
- Add `NamedRoutes` combinator, making support for records first-class in Servant
|
||||||
|
([#1388](https://github.com/haskell-servant/servant/pull/1388)).
|
||||||
|
- Add custom type errors for partially applied combinators
|
||||||
|
([#1289](https://github.com/haskell-servant/servant/pull/1289),
|
||||||
|
[#1486](https://github.com/haskell-servant/servant/pull/1486)).
|
||||||
|
- *servant-client* / *servant-client*: Fix erroneous behavior, where only 2XX
|
||||||
|
status codes would be considered successful, irrelevant of the status
|
||||||
|
parameter specified by the verb combinator.
|
||||||
|
([#1469](https://github.com/haskell-servant/servant/pull/1469))
|
||||||
|
- *servant-client* / *servant-client-core*: Fix `Show` instance for
|
||||||
|
`Servant.Client.Core.Request`.
|
||||||
|
- *servant-client* / *servant-client-core*: Allow passing arbitrary binary data
|
||||||
|
in Query parameters.
|
||||||
|
([#1432](https://github.com/haskell-servant/servant/pull/1432)).
|
||||||
|
|
||||||
|
### Other changes
|
||||||
|
|
||||||
|
- Various version bumps.
|
||||||
|
|
||||||
0.18.3
|
0.18.3
|
||||||
------
|
------
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
cabal-version: 2.2
|
cabal-version: 2.2
|
||||||
name: servant-client-core
|
name: servant-client-core
|
||||||
version: 0.18.3
|
version: 0.19
|
||||||
|
|
||||||
synopsis: Core functionality and class for client function generation for servant APIs
|
synopsis: Core functionality and class for client function generation for servant APIs
|
||||||
category: Servant, Web
|
category: Servant, Web
|
||||||
|
@ -65,7 +65,7 @@ library
|
||||||
|
|
||||||
-- Servant dependencies
|
-- Servant dependencies
|
||||||
build-depends:
|
build-depends:
|
||||||
servant >= 0.18.3 && <0.19
|
servant >= 0.19
|
||||||
|
|
||||||
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
|
-- 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.
|
-- Here can be exceptions if we really need features from the newer versions.
|
||||||
|
|
|
@ -56,8 +56,8 @@ library
|
||||||
|
|
||||||
-- strict, as we re-export stuff
|
-- strict, as we re-export stuff
|
||||||
build-depends:
|
build-depends:
|
||||||
servant >=0.16 && <0.17
|
servant >=0.16 && <0.20
|
||||||
, servant-client-core >=0.16 && <0.16.1
|
, servant-client-core >=0.16 && <0.20
|
||||||
|
|
||||||
hs-source-dirs: src
|
hs-source-dirs: src
|
||||||
default-language: Haskell2010
|
default-language: Haskell2010
|
||||||
|
|
|
@ -1,6 +1,35 @@
|
||||||
[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-client/CHANGELOG.md)
|
[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-client/CHANGELOG.md)
|
||||||
[Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
|
[Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
|
||||||
|
|
||||||
|
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.19
|
||||||
|
----
|
||||||
|
|
||||||
|
### Significant changes
|
||||||
|
|
||||||
|
- Drop support for GHC < 8.6.
|
||||||
|
- Support GHC 9.0 (GHC 9.2 should work as well, but isn't fully tested yet).
|
||||||
|
- Support Aeson 2 ([#1475](https://github.com/haskell-servant/servant/pull/1475)).
|
||||||
|
- Add `NamedRoutes` combinator, making support for records first-class in Servant
|
||||||
|
([#1388](https://github.com/haskell-servant/servant/pull/1388)).
|
||||||
|
- Add custom type errors for partially applied combinators
|
||||||
|
([#1289](https://github.com/haskell-servant/servant/pull/1289),
|
||||||
|
[#1486](https://github.com/haskell-servant/servant/pull/1486)).
|
||||||
|
- *servant-client* / *servant-client*: Fix erroneous behavior, where only 2XX
|
||||||
|
status codes would be considered successful, irrelevant of the status
|
||||||
|
parameter specified by the verb combinator.
|
||||||
|
([#1469](https://github.com/haskell-servant/servant/pull/1469))
|
||||||
|
- *servant-client* / *servant-client-core*: Fix `Show` instance for
|
||||||
|
`Servant.Client.Core.Request`.
|
||||||
|
- *servant-client* / *servant-client-core*: Allow passing arbitrary binary data
|
||||||
|
in Query parameters.
|
||||||
|
([#1432](https://github.com/haskell-servant/servant/pull/1432)).
|
||||||
|
|
||||||
|
### Other changes
|
||||||
|
|
||||||
|
- Various version bumps.
|
||||||
|
|
||||||
0.18.3
|
0.18.3
|
||||||
------
|
------
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
cabal-version: 2.2
|
cabal-version: 2.2
|
||||||
name: servant-client
|
name: servant-client
|
||||||
version: 0.18.3
|
version: 0.19
|
||||||
|
|
||||||
synopsis: Automatic derivation of querying functions for servant
|
synopsis: Automatic derivation of querying functions for servant
|
||||||
category: Servant, Web
|
category: Servant, Web
|
||||||
|
@ -58,8 +58,8 @@ library
|
||||||
-- Servant dependencies.
|
-- Servant dependencies.
|
||||||
-- Strict dependency on `servant-client-core` as we re-export things.
|
-- Strict dependency on `servant-client-core` as we re-export things.
|
||||||
build-depends:
|
build-depends:
|
||||||
servant == 0.18.*
|
servant >= 0.18 && < 0.20
|
||||||
, servant-client-core >= 0.18.3 && <0.18.4
|
, servant-client-core >= 0.19 && < 0.19.1
|
||||||
|
|
||||||
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
|
-- 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.
|
-- Here can be exceptions if we really need features from the newer versions.
|
||||||
|
@ -128,8 +128,8 @@ test-suite spec
|
||||||
, HUnit >= 1.6.0.0 && < 1.7
|
, HUnit >= 1.6.0.0 && < 1.7
|
||||||
, network >= 2.8.0.0 && < 3.2
|
, network >= 2.8.0.0 && < 3.2
|
||||||
, QuickCheck >= 2.12.6.1 && < 2.15
|
, QuickCheck >= 2.12.6.1 && < 2.15
|
||||||
, servant == 0.18.*
|
, servant == 0.19.*
|
||||||
, servant-server == 0.18.*
|
, servant-server == 0.19.*
|
||||||
, tdigest >= 0.2 && < 0.3
|
, tdigest >= 0.2 && < 0.3
|
||||||
|
|
||||||
build-tool-depends:
|
build-tool-depends:
|
||||||
|
|
|
@ -33,7 +33,7 @@ library
|
||||||
, conduit >=1.3.1 && <1.4
|
, conduit >=1.3.1 && <1.4
|
||||||
, mtl >=2.2.2 && <2.3
|
, mtl >=2.2.2 && <2.3
|
||||||
, resourcet >=1.2.2 && <1.3
|
, resourcet >=1.2.2 && <1.3
|
||||||
, servant >=0.15 && <0.19
|
, servant >=0.15 && <0.20
|
||||||
, unliftio-core >=0.1.2.0 && <0.3
|
, unliftio-core >=0.1.2.0 && <0.3
|
||||||
hs-source-dirs: src
|
hs-source-dirs: src
|
||||||
default-language: Haskell2010
|
default-language: Haskell2010
|
||||||
|
@ -54,8 +54,8 @@ test-suite example
|
||||||
, resourcet
|
, resourcet
|
||||||
, servant
|
, servant
|
||||||
, servant-conduit
|
, servant-conduit
|
||||||
, servant-server >=0.15 && <0.19
|
, servant-server >=0.15 && <0.20
|
||||||
, servant-client >=0.15 && <0.19
|
, servant-client >=0.15 && <0.20
|
||||||
, wai >=3.2.1.2 && <3.3
|
, wai >=3.2.1.2 && <3.3
|
||||||
, warp >=3.2.25 && <3.4
|
, warp >=3.2.25 && <3.4
|
||||||
, http-client
|
, http-client
|
||||||
|
|
|
@ -47,7 +47,7 @@ library
|
||||||
|
|
||||||
-- Servant dependencies
|
-- Servant dependencies
|
||||||
build-depends:
|
build-depends:
|
||||||
servant >= 0.18 && <0.19
|
servant >= 0.18 && <0.20
|
||||||
|
|
||||||
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
|
-- 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.
|
-- Here can be exceptions if we really need features from the newer versions.
|
||||||
|
|
|
@ -46,7 +46,7 @@ library
|
||||||
|
|
||||||
-- Servant dependencies
|
-- Servant dependencies
|
||||||
build-depends:
|
build-depends:
|
||||||
servant >=0.18 && <0.19
|
servant >=0.18 && <0.20
|
||||||
|
|
||||||
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
|
-- 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.
|
-- Here can be exceptions if we really need features from the newer versions.
|
||||||
|
|
|
@ -54,8 +54,8 @@ library
|
||||||
-- Servant dependencies.
|
-- Servant dependencies.
|
||||||
-- Strict dependency on `servant-client-core` as we re-export things.
|
-- Strict dependency on `servant-client-core` as we re-export things.
|
||||||
build-depends:
|
build-depends:
|
||||||
servant == 0.18.*
|
servant >= 0.18 && < 0.20
|
||||||
, servant-client-core >= 0.18.3 && <0.18.4
|
, servant-client-core >= 0.18.3 && <0.20
|
||||||
|
|
||||||
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
|
-- 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.
|
-- 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
|
, HUnit >= 1.6.0.0 && < 1.7
|
||||||
, network >= 2.8.0.0 && < 3.2
|
, network >= 2.8.0.0 && < 3.2
|
||||||
, QuickCheck >= 2.12.6.1 && < 2.15
|
, QuickCheck >= 2.12.6.1 && < 2.15
|
||||||
, servant == 0.18.*
|
, servant == 0.19.*
|
||||||
, servant-server == 0.18.*
|
, servant-server == 0.19.*
|
||||||
, tdigest >= 0.2 && < 0.3
|
, tdigest >= 0.2 && < 0.3
|
||||||
|
|
||||||
build-tool-depends:
|
build-tool-depends:
|
||||||
|
|
|
@ -32,7 +32,7 @@ library
|
||||||
, bytestring >=0.10.8.1 && <0.12
|
, bytestring >=0.10.8.1 && <0.12
|
||||||
, machines >=0.6.4 && <0.8
|
, machines >=0.6.4 && <0.8
|
||||||
, mtl >=2.2.2 && <2.3
|
, mtl >=2.2.2 && <2.3
|
||||||
, servant >=0.15 && <0.19
|
, servant >=0.15 && <0.20
|
||||||
hs-source-dirs: src
|
hs-source-dirs: src
|
||||||
default-language: Haskell2010
|
default-language: Haskell2010
|
||||||
ghc-options: -Wall
|
ghc-options: -Wall
|
||||||
|
@ -51,8 +51,8 @@ test-suite example
|
||||||
, servant
|
, servant
|
||||||
, machines
|
, machines
|
||||||
, servant-machines
|
, servant-machines
|
||||||
, servant-server >=0.15 && <0.19
|
, servant-server >=0.15 && <0.20
|
||||||
, servant-client >=0.15 && <0.19
|
, servant-client >=0.15 && <0.20
|
||||||
, wai >=3.2.1.2 && <3.3
|
, wai >=3.2.1.2 && <3.3
|
||||||
, warp >=3.2.25 && <3.4
|
, warp >=3.2.25 && <3.4
|
||||||
, http-client
|
, http-client
|
||||||
|
|
|
@ -34,7 +34,7 @@ library
|
||||||
, pipes-safe >=2.3.1 && <2.4
|
, pipes-safe >=2.3.1 && <2.4
|
||||||
, mtl >=2.2.2 && <2.3
|
, mtl >=2.2.2 && <2.3
|
||||||
, monad-control >=1.0.2.3 && <1.1
|
, monad-control >=1.0.2.3 && <1.1
|
||||||
, servant >=0.15 && <0.19
|
, servant >=0.15 && <0.20
|
||||||
hs-source-dirs: src
|
hs-source-dirs: src
|
||||||
default-language: Haskell2010
|
default-language: Haskell2010
|
||||||
ghc-options: -Wall
|
ghc-options: -Wall
|
||||||
|
@ -55,8 +55,8 @@ test-suite example
|
||||||
, pipes-safe
|
, pipes-safe
|
||||||
, servant-pipes
|
, servant-pipes
|
||||||
, pipes-bytestring >=2.1.6 && <2.2
|
, pipes-bytestring >=2.1.6 && <2.2
|
||||||
, servant-server >=0.15 && <0.19
|
, servant-server >=0.15 && <0.20
|
||||||
, servant-client >=0.15 && <0.19
|
, servant-client >=0.15 && <0.20
|
||||||
, wai >=3.2.1.2 && <3.3
|
, wai >=3.2.1.2 && <3.3
|
||||||
, warp >=3.2.25 && <3.4
|
, warp >=3.2.25 && <3.4
|
||||||
, http-client
|
, http-client
|
||||||
|
|
|
@ -1,6 +1,22 @@
|
||||||
[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-server/CHANGELOG.md)
|
[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-server/CHANGELOG.md)
|
||||||
[Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
|
[Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
|
||||||
|
|
||||||
|
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.19
|
||||||
|
----
|
||||||
|
|
||||||
|
### Significant changes
|
||||||
|
|
||||||
|
- Drop support for GHC < 8.6.
|
||||||
|
- Support GHC 9.0 (GHC 9.2 should work as well, but isn't fully tested yet).
|
||||||
|
- Support Aeson 2 ([#1475](https://github.com/haskell-servant/servant/pull/1475)).
|
||||||
|
- Add `NamedRoutes` combinator, making support for records first-class in Servant
|
||||||
|
([#1388](https://github.com/haskell-servant/servant/pull/1388)).
|
||||||
|
- Add custom type errors for partially applied combinators
|
||||||
|
([#1289](https://github.com/haskell-servant/servant/pull/1289),
|
||||||
|
[#1486](https://github.com/haskell-servant/servant/pull/1486)).
|
||||||
|
|
||||||
0.18.3
|
0.18.3
|
||||||
------
|
------
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
cabal-version: 2.2
|
cabal-version: 2.2
|
||||||
name: servant-server
|
name: servant-server
|
||||||
version: 0.18.3
|
version: 0.19
|
||||||
|
|
||||||
synopsis: A family of combinators for defining webservices APIs and serving them
|
synopsis: A family of combinators for defining webservices APIs and serving them
|
||||||
category: Servant, Web
|
category: Servant, Web
|
||||||
|
@ -72,7 +72,7 @@ library
|
||||||
-- Servant dependencies
|
-- Servant dependencies
|
||||||
-- strict dependency as we re-export 'servant' things.
|
-- strict dependency as we re-export 'servant' things.
|
||||||
build-depends:
|
build-depends:
|
||||||
servant >= 0.18.3 && < 0.18.4
|
servant >= 0.19
|
||||||
, http-api-data >= 0.4.1 && < 0.4.4
|
, http-api-data >= 0.4.1 && < 0.4.4
|
||||||
|
|
||||||
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
|
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
|
||||||
|
|
|
@ -77,7 +77,7 @@ library
|
||||||
, http-media >=0.7.1.3 && <0.9
|
, http-media >=0.7.1.3 && <0.9
|
||||||
, insert-ordered-containers >=0.2.1.0 && <0.3
|
, insert-ordered-containers >=0.2.1.0 && <0.3
|
||||||
, lens >=4.17 && <6
|
, lens >=4.17 && <6
|
||||||
, servant >=0.18.1 && <0.19
|
, servant >=0.18.1 && <0.20
|
||||||
, singleton-bool >=0.1.4 && <0.2
|
, singleton-bool >=0.1.4 && <0.2
|
||||||
, swagger2 >=2.3.0.1 && <3
|
, swagger2 >=2.3.0.1 && <3
|
||||||
, text >=1.2.3.0 && <1.3
|
, text >=1.2.3.0 && <1.3
|
||||||
|
|
|
@ -1,5 +1,114 @@
|
||||||
[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
|
[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
|
||||||
|
|
||||||
|
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.19
|
||||||
|
----
|
||||||
|
|
||||||
|
### Significant changes
|
||||||
|
|
||||||
|
- Drop support for GHC < 8.6.
|
||||||
|
- Support GHC 9.0 (GHC 9.2 should work as well, but isn't fully tested yet).
|
||||||
|
- Support Aeson 2 ([#1475](https://github.com/haskell-servant/servant/pull/1475)).
|
||||||
|
- Add `NamedRoutes` combinator, making support for records first-class in Servant
|
||||||
|
([#1388](https://github.com/haskell-servant/servant/pull/1388)).
|
||||||
|
|
||||||
|
Users can now directly mark part as an API as defined by a record, instead of
|
||||||
|
using `(:<|>)` to combine routes. Concretely, the anonymous:
|
||||||
|
|
||||||
|
```haskell
|
||||||
|
type API =
|
||||||
|
"version" :> Get '[JSON] String :<|>
|
||||||
|
"products" :> Get '[JSON] [Product]
|
||||||
|
```
|
||||||
|
|
||||||
|
can be replaced with the explicitly-named:
|
||||||
|
|
||||||
|
```haskell
|
||||||
|
type API = NamedRoutes NamedAPI
|
||||||
|
data NamedAPI mode = NamedAPI
|
||||||
|
{ version :: mode :- "version" :> Get '[JSON] String
|
||||||
|
, products :: mode :- "products" :> Get '[JSON] [Product]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
`NamedRoutes` builds upon `servant-generic`, but improves usability by freeing
|
||||||
|
users from the need to perform `toServant` / `fromServant` conversions
|
||||||
|
manually. Serving `NamedRoutes NamedAPI` is now done directly by providing a
|
||||||
|
record of handlers, and servant generates clients directly as records as well.
|
||||||
|
In particular, it makes it much more practical to work with nested hierarchies
|
||||||
|
of named routes.
|
||||||
|
|
||||||
|
Two convenience functions, `(//)` and `(/:)`, have been added to make the
|
||||||
|
usage of named route hierarchies more pleasant:
|
||||||
|
|
||||||
|
```haskell
|
||||||
|
rootClient :: RootApi (AsClientT ClientM)
|
||||||
|
rootClient = client (Proxy @API)
|
||||||
|
|
||||||
|
hello :: String -> ClientM String
|
||||||
|
hello name = rootClient // hello /: name
|
||||||
|
|
||||||
|
endpointClient :: ClientM Person
|
||||||
|
endpointClient = client // subApi /: "foobar123" // endpoint
|
||||||
|
|
||||||
|
type Api = NamedRoutes RootApi
|
||||||
|
|
||||||
|
data RootApi mode = RootApi
|
||||||
|
{ subApi :: mode :- Capture "token" String :> NamedRoutes SubApi
|
||||||
|
, hello :: mode :- Capture "name" String :> Get '[JSON] String
|
||||||
|
, …
|
||||||
|
} deriving Generic
|
||||||
|
|
||||||
|
data SubApi mode = SubApi
|
||||||
|
{ endpoint :: mode :- Get '[JSON] Person
|
||||||
|
, …
|
||||||
|
} deriving Generic
|
||||||
|
```
|
||||||
|
|
||||||
|
- Add custom type errors for partially applied combinators
|
||||||
|
([#1289](https://github.com/haskell-servant/servant/pull/1289),
|
||||||
|
[#1486](https://github.com/haskell-servant/servant/pull/1486)).
|
||||||
|
|
||||||
|
For example, forgetting to document the expected type for a query parameter,
|
||||||
|
as in:
|
||||||
|
|
||||||
|
``` haskell
|
||||||
|
type API = QueryParam "param" :> Get '[JSON] NoContent
|
||||||
|
```
|
||||||
|
|
||||||
|
will raise to the following error when trying to serve the API:
|
||||||
|
|
||||||
|
```
|
||||||
|
• There is no instance for HasServer (QueryParam'
|
||||||
|
'[Optional, Strict] "param" :> ...)
|
||||||
|
QueryParam' '[Optional, Strict] "1" expects 1 more arguments
|
||||||
|
```
|
||||||
|
|
||||||
|
As a consequence of this change, unsaturated types are now forbidden before `(:>)`.
|
||||||
|
|
||||||
|
- Add a `HeadNoContent` verb ([#1502](https://github.com/haskell-servant/servant/pull/1502)).
|
||||||
|
|
||||||
|
- *servant-client* / *servant-client*: Fix erroneous behavior, where only 2XX
|
||||||
|
status codes would be considered successful, irrelevant of the status
|
||||||
|
parameter specified by the verb combinator.
|
||||||
|
([#1469](https://github.com/haskell-servant/servant/pull/1469))
|
||||||
|
|
||||||
|
- *servant-client* / *servant-client-core*: Fix `Show` instance for
|
||||||
|
`Servant.Client.Core.Request`.
|
||||||
|
|
||||||
|
|
||||||
|
- *servant-client* / *servant-client-core*: Allow passing arbitrary binary data
|
||||||
|
in Query parameters.
|
||||||
|
([#1432](https://github.com/haskell-servant/servant/pull/1432)).
|
||||||
|
|
||||||
|
### Other changes
|
||||||
|
|
||||||
|
- Various bit rotten cookbooks have been updated and re-introduced on
|
||||||
|
`haskell-servant.github.io`.
|
||||||
|
|
||||||
|
- Various version bumps.
|
||||||
|
|
||||||
0.18.3
|
0.18.3
|
||||||
------
|
------
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
cabal-version: 2.2
|
cabal-version: 2.2
|
||||||
name: servant
|
name: servant
|
||||||
version: 0.18.3
|
version: 0.19
|
||||||
|
|
||||||
synopsis: A family of combinators for defining webservices APIs
|
synopsis: A family of combinators for defining webservices APIs
|
||||||
category: Servant, Web
|
category: Servant, Web
|
||||||
|
|
Loading…
Reference in a new issue