@@ -11,7 +11,7 @@
11 [#1077](https://github.com/haskell-servant/servant/pull/1077)
11 [#1077](https://github.com/haskell-servant/servant/pull/1077)
13 The streaming functionality (`Servant.API.Stream`) is refactored to use
13 The streaming functionality (`Servant.API.Stream`) is refactored to use
14− `servant` own `SourceIO` type (see `Servant.Types.SourceT` documentation),
14+ `servant`'s own `SourceIO` type (see `Servant.Types.SourceT` documentation),
15 which replaces both `StreamGenerator` and `ResultStream` types.
15 which replaces both `StreamGenerator` and `ResultStream` types.
17 New conversion type-classes are `ToSourceIO` and `FromSourceIO`
17 New conversion type-classes are `ToSourceIO` and `FromSourceIO`
@@ -58,32 +58,45 @@
59 This change shouldn't affect you, if you don't use streaming endpoints.
59 This change shouldn't affect you, if you don't use streaming endpoints.
61+- *servant-client-core* Related to the previous:
62+ `streamingResponse` is removed from `RunClient`.
63+ We have a new type-class:
66+ class RunClient m => RunStreamingClient m where
67+ withStreamingRequest :: Request -> (StreamingResponse -> IO a) -> m a
61- Drop support for GHC older than 8.0
70- Drop support for GHC older than 8.0
62 [#1008](https://github.com/haskell-servant/servant/pull/1008)
71 [#1008](https://github.com/haskell-servant/servant/pull/1008)
63 [#1009](https://github.com/haskell-servant/servant/pull/1009)
72 [#1009](https://github.com/haskell-servant/servant/pull/1009)
65−- `ComprehensiveAPI` is a part of public API in `Servant.Test.ComprehensiveAPI`` module.
74+- *servant* `ComprehensiveAPI` is a part of public API in `Servant.Test.ComprehensiveAPI` module.
66 This API type is used to verify that libraries implement all core combinators.
75 This API type is used to verify that libraries implement all core combinators.
67 Now we won't change this type between major versions.
76 Now we won't change this type between major versions.
68 (This has been true for some time already).
77 (This has been true for some time already).
69 [#1070](https://github.com/haskell-servant/servant/pull/1070)
78 [#1070](https://github.com/haskell-servant/servant/pull/1070)
71−- Remove `Servant.Utils.Enter` module
80+- *servant* Remove `Servant.Utils.Enter` module
72 (deprecated in `servant-0.12` in favour of `hoistServer`)
81 (deprecated in `servant-0.12` in favour of `hoistServer`)
73 [#996](https://github.com/haskell-servant/servant/pull/996)
82 [#996](https://github.com/haskell-servant/servant/pull/996)
84+- *servant-foreign* Add support so `HasForeign` can be implemented for
85+ `MultipartForm` from [`servant-multipart`](http://hackage.haskell.org/package/servant-multipart)
86+ [#1035](https://github.com/haskell-servant/servant/pull/1035)
75### Other changes
88### Other changes
77- *servant-client-core* Add `NFData (GenResponse a)` and `NFData ServantError` instances.
90- *servant-client-core* Add `NFData (GenResponse a)` and `NFData ServantError` instances.
78 [#1076](https://github.com/haskell-servant/servant/pull/1076)
91 [#1076](https://github.com/haskell-servant/servant/pull/1076)
93+- *servant* NewlineFraming encodes newline after each element (i.e last)
94+ [#1079](https://github.com/haskell-servant/servant/pull/1079)
95+ [#1011](https://github.com/haskell-servant/servant/issues/1011)
80- *servant* Add `lookupResponseHeader :: ... => Headers headers r -> ResponseHeader h a`
97- *servant* Add `lookupResponseHeader :: ... => Headers headers r -> ResponseHeader h a`
81 [#1064](https://github.com/haskell-servant/servant/pull/1064)
98 [#1064](https://github.com/haskell-servant/servant/pull/1064)
83−- *servant-foreign* Add support so `HasForeign` can be implemented for
84− `MultipartForm` from [`servant-multipart`](http://hackage.haskell.org/package/servant-multipart)
85− [#1035](https://github.com/haskell-servant/servant/pull/1035)
87- *servant-server* Add `MonadMask Handler`
100- *servant-server* Add `MonadMask Handler`
88 [#1068](https://github.com/haskell-servant/servant/pull/1068)
101 [#1068](https://github.com/haskell-servant/servant/pull/1068)
@@ -102,7 +115,7 @@
102- *servant-client-core* Add `aeson` and `Lift BaseUrl` instances
115- *servant-client-core* Add `aeson` and `Lift BaseUrl` instances
103 [#1037](https://github.com/haskell-servant/servant/pull/1037)
116 [#1037](https://github.com/haskell-servant/servant/pull/1037)
105−- Add `ToSourceIO (NonEmpty a)` instance
118+- *servant* Add `ToSourceIO (NonEmpty a)` instance
106 [#988](https://github.com/haskell-servant/servant/pull/988)
119 [#988](https://github.com/haskell-servant/servant/pull/988)
108- Development process improvements
121- Development process improvements