servant/servant-client/CHANGELOG.md
2018-06-18 17:12:35 +03:00

164 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[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)
0.14
----
- `Stream` takes a status code argument
```diff
-Stream method framing ctype a
+Stream method status framing ctype a
```
([#966](https://github.com/haskell-servant/servant/pull/966)
[#972](https://github.com/haskell-servant/servant/pull/972))
- `ToStreamGenerator` definition changed, so it's possible to write an instance
for conduits.
```diff
-class ToStreamGenerator f a where
- toStreamGenerator :: f a -> StreamGenerator a
+class ToStreamGenerator a b | a -> b where
+ toStreamGenerator :: a -> StreamGenerator b
```
([#959](https://github.com/haskell-servant/servant/pull/959))
- Added `NoFraming` streaming strategy
([#959](https://github.com/haskell-servant/servant/pull/959))
- *servant-client-core* Add `hoistClient` to `HasClient`.
Just like `hoistServer` allows us to change the monad in which request handlers
of a web application live in, we also have `hoistClient` for changing the monad
in which *client functions* live.
Read [tutorial section for more information](https://haskell-servant.readthedocs.io/en/release-0.14/tutorial/Client.html#changing-the-monad-the-client-functions-live-in).
([#936](https://github.com/haskell-servant/servant/pull/936))
- *servant-client* Add more constructors to `RequestBody`, including
`RequestBodyStream`.
*Note:* we are looking for http-library agnostic API,
so the might change again soon.
Tell us which constructors are useful for you!
([#913](https://github.com/haskell-servant/servant/pull/913))
0.13.0.1
--------
- Support `base-compat-0.10`
0.13
----
- Streaming endpoint support.
([#836](https://github.com/haskell-servant/servant/pull/836))
- *servant* Add `Servant.API.Modifiers`
([#873](https://github.com/haskell-servant/servant/pull/873))
- *servant-client* Support `http-client`s `CookieJar`
([#897](https://github.com/haskell-servant/servant/pull/897)
[#883](https://github.com/haskell-servant/servant/pull/883))
0.12.0.1
--------
- Send `Accept` header.
([#858](https://github.com/haskell-servant/servant/issues/858))
0.12
----
- Factored out into `servant-client-core` all the functionality that was
independent of the `http-client` backend.
0.11
----
### Other changes
- Path components are escaped
([#696](https://github.com/haskell-servant/servant/pull/696))
- `Req` `reqPath` field changed from `String` to `BS.Builder`
([#696](https://github.com/haskell-servant/servant/pull/696))
- Include `Req` in failure errors
([#740](https://github.com/haskell-servant/servant/pull/740))
0.10
-----
### Breaking changes
There shouldn't be breaking changes. Released as a part of `servant` suite.
### Other changes
* Add MonadBase and MonadBaseControl instances for ClientM
([#663](https://github.com/haskell-servant/servant/issues/663))
* client asks for any content-type in Accept contentTypes non-empty list
([#615](https://github.com/haskell-servant/servant/pull/615))
* Add `ClientLike` class that matches client functions generated using `client`
with client data structure.
([#640](https://github.com/haskell-servant/servant/pull/640))
* Allow direct use of 'RequestBody'
([#661](https://github.com/haskell-servant/servant/pull/661))
0.9.1.1
-------
* Add MonadThrow and MonadCatch instances for ClientM
0.9
---
* BACKWARDS INCOMPATIBLE: `client` now returns a ClientM which is a Reader for
BasicEnv. BasicEnv comprises the HttpManager and BaseUrl that have had to be
passed to each method returned by `client`.
0.7.1
-----
* Support GHC 8.0
* `ServantError` has an `Eq` instance now.
0.6
---
* `client` no longer takes `BaseUrl` and `Manager` arguments. Instead, each function returned by `client` requires these two arguments.
0.5
---
* Use the `text` package instead of `String`.
* Support for the `HttpVersion`, `IsSecure`, `RemoteHost` and `Vault` combinators
* Added support for `path` on `BaseUrl`.
* `client` now takes an explicit `Manager` argument.
* Use `http-api-data` instead of `Servant.Common.Text`
* Client functions now consider any 2xx successful.
* Remove matrix params.
* Added support for Basic authentication
* Add generalized authentication support via the `AuthClientData` type family and
`AuthenticateReq` data type
0.4.1
-----
* The `HasClient` instance for `Delete cts ()` now does not care at all about content types provided.
0.4
---
* `Delete` now is like `Get`, `Post`, `Put`, and `Patch` and returns a response body
* Support content-type aware combinators and `Accept`/`Content-type` headers
* Added a lot of tests
* Support multiple concurrent threads
* Use `ServantError` to report Errors instead of `String`
* Make the clients for `Raw` endpoints return the whole `Response` value (to be able to access response headers for example)
* Support for PATCH
* Make () instances expect No Content status code, and not try to decode body.
* Add support for response headers
0.2.2
-----
* Add TLS support
* Add matrix parameter support