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-js:servant
|
||||
allow-newer: servant-multipart:servant
|
||||
allow-newer: servant-multipart:servant-server
|
||||
allow-newer: servant-multipart-api:servant
|
||||
|
||||
-- ghc 9
|
||||
allow-newer: tdigest:base
|
||||
|
|
|
@ -35,8 +35,8 @@ library
|
|||
, bytestring >= 0.10.6.0 && < 0.11
|
||||
, containers >= 0.5.6.2 && < 0.7
|
||||
, servant-auth == 0.4.*
|
||||
, servant >= 0.13 && < 0.19
|
||||
, servant-client-core >= 0.13 && < 0.19
|
||||
, servant >= 0.13 && < 0.20
|
||||
, servant-client-core >= 0.13 && < 0.20
|
||||
|
||||
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.19
|
||||
, servant-server >= 0.13 && < 0.20
|
||||
, time >= 1.5.0.1 && < 1.13
|
||||
, transformers >= 0.4.2.0 && < 0.6
|
||||
, wai >= 3.2.1.2 && < 3.3
|
||||
|
|
|
@ -37,7 +37,7 @@ library
|
|||
build-depends:
|
||||
base >= 4.10 && < 4.16
|
||||
, servant-docs >= 0.11.2 && < 0.12
|
||||
, servant >= 0.13 && < 0.19
|
||||
, servant >= 0.13 && < 0.20
|
||||
, servant-auth == 0.4.*
|
||||
, lens >= 4.16.1 && <5.1
|
||||
exposed-modules:
|
||||
|
|
|
@ -46,9 +46,9 @@ library
|
|||
, memory >= 0.14.16 && < 0.17
|
||||
, monad-time >= 0.3.1.0 && < 0.4
|
||||
, mtl >= 2.2.2 && < 2.3
|
||||
, servant >= 0.13 && < 0.19
|
||||
, servant >= 0.13 && < 0.20
|
||||
, servant-auth == 0.4.*
|
||||
, servant-server >= 0.13 && < 0.19
|
||||
, servant-server >= 0.13 && < 0.20
|
||||
, tagged >= 0.8.4 && < 0.9
|
||||
, text >= 1.2.3.0 && < 1.3
|
||||
, time >= 1.5.0.1 && < 1.10
|
||||
|
|
|
@ -35,7 +35,7 @@ library
|
|||
, text >= 1.2.3.0 && < 1.3
|
||||
, servant-swagger >= 1.1.5 && < 2
|
||||
, swagger2 >= 2.2.2 && < 3
|
||||
, servant >= 0.13 && < 0.19
|
||||
, servant >= 0.13 && < 0.20
|
||||
, servant-auth == 0.4.*
|
||||
, lens >= 4.16.1 && < 5.1
|
||||
if impl(ghc >= 9)
|
||||
|
|
|
@ -38,7 +38,7 @@ library
|
|||
, aeson >= 1.3.1.1 && < 3
|
||||
, jose >= 0.7.0.0 && < 0.10
|
||||
, lens >= 4.16.1 && < 5.1
|
||||
, servant >= 0.15 && < 0.19
|
||||
, servant >= 0.15 && < 0.20
|
||||
, text >= 1.2.3.0 && < 1.3
|
||||
, unordered-containers >= 0.2.9.0 && < 0.3
|
||||
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)
|
||||
[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
|
||||
------
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
cabal-version: 2.2
|
||||
name: servant-client-core
|
||||
version: 0.18.3
|
||||
version: 0.19
|
||||
|
||||
synopsis: Core functionality and class for client function generation for servant APIs
|
||||
category: Servant, Web
|
||||
|
@ -65,7 +65,7 @@ library
|
|||
|
||||
-- Servant dependencies
|
||||
build-depends:
|
||||
servant >= 0.18.3 && <0.19
|
||||
servant >= 0.19
|
||||
|
||||
-- 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.
|
||||
|
|
|
@ -56,8 +56,8 @@ library
|
|||
|
||||
-- strict, as we re-export stuff
|
||||
build-depends:
|
||||
servant >=0.16 && <0.17
|
||||
, servant-client-core >=0.16 && <0.16.1
|
||||
servant >=0.16 && <0.20
|
||||
, servant-client-core >=0.16 && <0.20
|
||||
|
||||
hs-source-dirs: src
|
||||
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)
|
||||
[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
|
||||
------
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
cabal-version: 2.2
|
||||
name: servant-client
|
||||
version: 0.18.3
|
||||
version: 0.19
|
||||
|
||||
synopsis: Automatic derivation of querying functions for servant
|
||||
category: Servant, Web
|
||||
|
@ -58,8 +58,8 @@ library
|
|||
-- Servant dependencies.
|
||||
-- Strict dependency on `servant-client-core` as we re-export things.
|
||||
build-depends:
|
||||
servant == 0.18.*
|
||||
, servant-client-core >= 0.18.3 && <0.18.4
|
||||
servant >= 0.18 && < 0.20
|
||||
, servant-client-core >= 0.19 && < 0.19.1
|
||||
|
||||
-- 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.
|
||||
|
@ -128,8 +128,8 @@ test-suite spec
|
|||
, HUnit >= 1.6.0.0 && < 1.7
|
||||
, network >= 2.8.0.0 && < 3.2
|
||||
, QuickCheck >= 2.12.6.1 && < 2.15
|
||||
, servant == 0.18.*
|
||||
, servant-server == 0.18.*
|
||||
, servant == 0.19.*
|
||||
, servant-server == 0.19.*
|
||||
, tdigest >= 0.2 && < 0.3
|
||||
|
||||
build-tool-depends:
|
||||
|
|
|
@ -33,7 +33,7 @@ library
|
|||
, conduit >=1.3.1 && <1.4
|
||||
, mtl >=2.2.2 && <2.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
|
||||
hs-source-dirs: src
|
||||
default-language: Haskell2010
|
||||
|
@ -54,8 +54,8 @@ test-suite example
|
|||
, resourcet
|
||||
, servant
|
||||
, servant-conduit
|
||||
, servant-server >=0.15 && <0.19
|
||||
, servant-client >=0.15 && <0.19
|
||||
, servant-server >=0.15 && <0.20
|
||||
, servant-client >=0.15 && <0.20
|
||||
, wai >=3.2.1.2 && <3.3
|
||||
, warp >=3.2.25 && <3.4
|
||||
, http-client
|
||||
|
|
|
@ -47,7 +47,7 @@ library
|
|||
|
||||
-- Servant dependencies
|
||||
build-depends:
|
||||
servant >= 0.18 && <0.19
|
||||
servant >= 0.18 && <0.20
|
||||
|
||||
-- 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.
|
||||
|
|
|
@ -46,7 +46,7 @@ library
|
|||
|
||||
-- Servant dependencies
|
||||
build-depends:
|
||||
servant >=0.18 && <0.19
|
||||
servant >=0.18 && <0.20
|
||||
|
||||
-- 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.
|
||||
|
|
|
@ -54,8 +54,8 @@ library
|
|||
-- Servant dependencies.
|
||||
-- Strict dependency on `servant-client-core` as we re-export things.
|
||||
build-depends:
|
||||
servant == 0.18.*
|
||||
, servant-client-core >= 0.18.3 && <0.18.4
|
||||
servant >= 0.18 && < 0.20
|
||||
, servant-client-core >= 0.18.3 && <0.20
|
||||
|
||||
-- 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.2
|
||||
, QuickCheck >= 2.12.6.1 && < 2.15
|
||||
, servant == 0.18.*
|
||||
, servant-server == 0.18.*
|
||||
, servant == 0.19.*
|
||||
, servant-server == 0.19.*
|
||||
, tdigest >= 0.2 && < 0.3
|
||||
|
||||
build-tool-depends:
|
||||
|
|
|
@ -32,7 +32,7 @@ library
|
|||
, bytestring >=0.10.8.1 && <0.12
|
||||
, machines >=0.6.4 && <0.8
|
||||
, mtl >=2.2.2 && <2.3
|
||||
, servant >=0.15 && <0.19
|
||||
, servant >=0.15 && <0.20
|
||||
hs-source-dirs: src
|
||||
default-language: Haskell2010
|
||||
ghc-options: -Wall
|
||||
|
@ -51,8 +51,8 @@ test-suite example
|
|||
, servant
|
||||
, machines
|
||||
, servant-machines
|
||||
, servant-server >=0.15 && <0.19
|
||||
, servant-client >=0.15 && <0.19
|
||||
, servant-server >=0.15 && <0.20
|
||||
, servant-client >=0.15 && <0.20
|
||||
, wai >=3.2.1.2 && <3.3
|
||||
, warp >=3.2.25 && <3.4
|
||||
, http-client
|
||||
|
|
|
@ -34,7 +34,7 @@ library
|
|||
, pipes-safe >=2.3.1 && <2.4
|
||||
, mtl >=2.2.2 && <2.3
|
||||
, monad-control >=1.0.2.3 && <1.1
|
||||
, servant >=0.15 && <0.19
|
||||
, servant >=0.15 && <0.20
|
||||
hs-source-dirs: src
|
||||
default-language: Haskell2010
|
||||
ghc-options: -Wall
|
||||
|
@ -55,8 +55,8 @@ test-suite example
|
|||
, pipes-safe
|
||||
, servant-pipes
|
||||
, pipes-bytestring >=2.1.6 && <2.2
|
||||
, servant-server >=0.15 && <0.19
|
||||
, servant-client >=0.15 && <0.19
|
||||
, servant-server >=0.15 && <0.20
|
||||
, servant-client >=0.15 && <0.20
|
||||
, wai >=3.2.1.2 && <3.3
|
||||
, warp >=3.2.25 && <3.4
|
||||
, 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)
|
||||
[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
|
||||
------
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
cabal-version: 2.2
|
||||
name: servant-server
|
||||
version: 0.18.3
|
||||
version: 0.19
|
||||
|
||||
synopsis: A family of combinators for defining webservices APIs and serving them
|
||||
category: Servant, Web
|
||||
|
@ -72,7 +72,7 @@ library
|
|||
-- Servant dependencies
|
||||
-- strict dependency as we re-export 'servant' things.
|
||||
build-depends:
|
||||
servant >= 0.18.3 && < 0.18.4
|
||||
servant >= 0.19
|
||||
, http-api-data >= 0.4.1 && < 0.4.4
|
||||
|
||||
-- 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
|
||||
, insert-ordered-containers >=0.2.1.0 && <0.3
|
||||
, lens >=4.17 && <6
|
||||
, servant >=0.18.1 && <0.19
|
||||
, servant >=0.18.1 && <0.20
|
||||
, singleton-bool >=0.1.4 && <0.2
|
||||
, swagger2 >=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)
|
||||
|
||||
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
|
||||
------
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
cabal-version: 2.2
|
||||
name: servant
|
||||
version: 0.18.3
|
||||
version: 0.19
|
||||
|
||||
synopsis: A family of combinators for defining webservices APIs
|
||||
category: Servant, Web
|
||||
|
|
Loading…
Reference in a new issue