servant-http-streams 0.16.0.1 → 0.17
raw patch · 3 files changed
+49/−8 lines, 3 filesdep ~servantdep ~servant-client-coredep ~servant-serverPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: servant, servant-client-core, servant-server
API changes (from Hackage documentation)
Files
- CHANGELOG.md +41/−0
- servant-http-streams.cabal +6/−6
- test/Servant/ClientSpec.hs +2/−2
CHANGELOG.md view
@@ -1,6 +1,47 @@ [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.17+----++### Significant changes++- Add NoContentVerb [#1028](https://github.com/haskell-servant/servant/issues/1028) [#1219](https://github.com/haskell-servant/servant/pull/1219) [#1228](https://github.com/haskell-servant/servant/pull/1228)++ The `NoContent` API endpoints should now use `NoContentVerb` combinator.+ The API type changes are usually of the kind++ ```diff+ - :<|> PostNoContent '[JSON] NoContent+ + :<|> PostNoContent+ ```++ i.e. one doesn't need to specify the content-type anymore. There is no content.++- `Capture` can be `Lenient` [#1155](https://github.com/haskell-servant/servant/issues/1155) [#1156](https://github.com/haskell-servant/servant/pull/1156)++ You can specify a lenient capture as++ ```haskell+ :<|> "capture-lenient" :> Capture' '[Lenient] "foo" Int :> GET+ ```++ which will make the capture always succeed. Handlers will be of the+ type `Either String CapturedType`, where `Left err` represents+ the possible parse failure.++### Other changes++- *servant-client* *servant-client-core* *servant-http-streams* Fix Verb with headers checking content type differently [#1200](https://github.com/haskell-servant/servant/issues/1200) [#1204](https://github.com/haskell-servant/servant/pull/1204)++ For `Verb`s with response `Headers`, the implementation didn't check+ for the content-type of the response. Now it does.++- *servant-client* *servant-http-streams* `HasClient` instance for `Stream` with `Headers` [#1170](https://github.com/haskell-servant/servant/issues/1170) [#1197](https://github.com/haskell-servant/servant/pull/1197)+- *servant-client* Redact the authorization header in Show and exceptions [#1238](https://github.com/haskell-servant/servant/pull/1238)+++ 0.16.0.1 --------
servant-http-streams.cabal view
@@ -1,6 +1,6 @@ cabal-version: >=1.10 name: servant-http-streams-version: 0.16.0.1+version: 0.17 synopsis: Automatic derivation of querying functions for servant category: Servant, Web@@ -25,7 +25,7 @@ || ==8.2.2 || ==8.4.4 || ==8.6.5- || ==8.8.1+ || ==8.8.2 extra-source-files: CHANGELOG.md@@ -59,8 +59,8 @@ -- Servant dependencies. -- Strict dependency on `servant-client-core` as we re-export things. build-depends:- servant == 0.16.*- , servant-client-core >= 0.16 && <0.16.1+ servant == 0.17.*+ , servant-client-core >= 0.17 && <0.17.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.@@ -121,8 +121,8 @@ , HUnit >= 1.6.0.0 && < 1.7 , network >= 2.8.0.0 && < 3.2 , QuickCheck >= 2.12.6.1 && < 2.14- , servant == 0.16.*- , servant-server == 0.16.*+ , servant == 0.17.*+ , servant-server == 0.17.* , tdigest >= 0.2 && < 0.3 build-tool-depends:
test/Servant/ClientSpec.hs view
@@ -115,7 +115,7 @@ type Api = Get '[JSON] Person :<|> "get" :> Get '[JSON] Person- :<|> "deleteEmpty" :> DeleteNoContent '[JSON] NoContent+ :<|> "deleteEmpty" :> DeleteNoContent :<|> "capture" :> Capture "name" String :> Get '[JSON,FormUrlEncoded] Person :<|> "captureAll" :> CaptureAll "names" String :> Get '[JSON] [Person] :<|> "body" :> ReqBody '[FormUrlEncoded,JSON] Person :> Post '[JSON] Person@@ -131,7 +131,7 @@ ReqBody '[JSON] [(String, [Rational])] :> Get '[JSON] (String, Maybe Int, Bool, [(String, [Rational])]) :<|> "headers" :> Get '[JSON] (Headers TestHeaders Bool)- :<|> "deleteContentType" :> DeleteNoContent '[JSON] NoContent+ :<|> "deleteContentType" :> DeleteNoContent :<|> "redirectWithCookie" :> Raw :<|> "empty" :> EmptyAPI