Skip to content

Commit e185017

Browse files
committed
Add changelogs to other packages
1 parent f75583d commit e185017

File tree

5 files changed

+128
-6
lines changed

5 files changed

+128
-6
lines changed

servant-client-core/CHANGELOG.md

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,50 @@
44
0.14
55
----
66

7-
- Add a `hoistClientMonad` method to the `HasClient` typeclass, for
8-
changing the monad in which client functions run.
7+
- `Stream` takes a status code argument
8+
9+
```diff
10+
-Stream method framing ctype a
11+
+Stream method status framing ctype a
12+
```
13+
14+
([#966](https://github.com/haskell-servant/servant/pull/966)
15+
[#972](https://github.com/haskell-servant/servant/pull/972))
16+
17+
- `ToStreamGenerator` definition changed, so it's possible to write an instance
18+
for conduits.
19+
20+
```diff
21+
-class ToStreamGenerator f a where
22+
- toStreamGenerator :: f a -> StreamGenerator a
23+
+class ToStreamGenerator a b | a -> b where
24+
+ toStreamGenerator :: a -> StreamGenerator b
25+
```
26+
27+
([#959](https://github.com/haskell-servant/servant/pull/959))
28+
29+
- Added `NoFraming` streaming strategy
30+
([#959](https://github.com/haskell-servant/servant/pull/959))
31+
32+
- *servant-client-core* Free `Client` implementation.
33+
Useful for testing `HasClient` instances.
34+
([#920](https://github.com/haskell-servant/servant/pull/920))
35+
36+
- *servant-client-core* Add `hoistClient` to `HasClient`.
37+
Just like `hoistServer` allows us to change the monad in which request handlers
38+
of a web application live in, we also have `hoistClient` for changing the monad
39+
in which *client functions* live.
40+
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).
941
([#936](https://github.com/haskell-servant/servant/pull/936))
1042

43+
iF you have own combinators, you'll need to define a new method of
44+
`HasClient` class, for example:
45+
46+
```haskell
47+
type Client m (MyCombinator :> api) = MyValue :> Client m api
48+
hoistClientMonad pm _ nt cl = hoistClientMonad pm (Proxy :: Proxy api) nt . cl
49+
```
50+
1151
0.13.0.1
1252
--------
1353

servant-client/CHANGELOG.md

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,45 @@
44
0.14
55
----
66

7-
- Add `hoistClient` for changing the monad in which
8-
client functions run.
7+
- `Stream` takes a status code argument
8+
9+
```diff
10+
-Stream method framing ctype a
11+
+Stream method status framing ctype a
12+
```
13+
14+
([#966](https://github.com/haskell-servant/servant/pull/966)
15+
[#972](https://github.com/haskell-servant/servant/pull/972))
16+
17+
- `ToStreamGenerator` definition changed, so it's possible to write an instance
18+
for conduits.
19+
20+
```diff
21+
-class ToStreamGenerator f a where
22+
- toStreamGenerator :: f a -> StreamGenerator a
23+
+class ToStreamGenerator a b | a -> b where
24+
+ toStreamGenerator :: a -> StreamGenerator b
25+
```
26+
27+
([#959](https://github.com/haskell-servant/servant/pull/959))
28+
29+
- Added `NoFraming` streaming strategy
30+
([#959](https://github.com/haskell-servant/servant/pull/959))
31+
32+
- *servant-client-core* Add `hoistClient` to `HasClient`.
33+
Just like `hoistServer` allows us to change the monad in which request handlers
34+
of a web application live in, we also have `hoistClient` for changing the monad
35+
in which *client functions* live.
36+
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).
937
([#936](https://github.com/haskell-servant/servant/pull/936))
1038

39+
- *servant-client* Add more constructors to `RequestBody`, including
40+
`RequestBodyStream`.
41+
*Note:* we are looking for http-library agnostic API,
42+
so the might change again soon.
43+
Tell us which constructors are useful for you!
44+
([#913](https://github.com/haskell-servant/servant/pull/913))
45+
1146
0.13.0.1
1247
--------
1348

servant-foreign/servant-foreign.cabal

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
name: servant-foreign
22
version: 0.11.1
3+
x-revision: 1
34
synopsis: Helpers for generating clients for servant APIs in any programming language
45
description:
56
Helper types and functions for generating client functions for servant APIs in any programming language

servant-server/CHANGELOG.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,52 @@
11
[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-server/CHANGELOG.md)
22
[Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
33

4+
0.14
5+
----
6+
7+
- `Stream` takes a status code argument
8+
9+
```diff
10+
-Stream method framing ctype a
11+
+Stream method status framing ctype a
12+
```
13+
14+
([#966](https://github.com/haskell-servant/servant/pull/966)
15+
[#972](https://github.com/haskell-servant/servant/pull/972))
16+
17+
- `ToStreamGenerator` definition changed, so it's possible to write an instance
18+
for conduits.
19+
20+
```diff
21+
-class ToStreamGenerator f a where
22+
- toStreamGenerator :: f a -> StreamGenerator a
23+
+class ToStreamGenerator a b | a -> b where
24+
+ toStreamGenerator :: a -> StreamGenerator b
25+
```
26+
27+
([#959](https://github.com/haskell-servant/servant/pull/959))
28+
29+
- Added `NoFraming` streaming strategy
30+
([#959](https://github.com/haskell-servant/servant/pull/959))
31+
32+
- *servant-server* File serving in polymorphic monad.
33+
i.e. Generalised types of `serveDirectoryFileServer` etc functions in
34+
`Servant.Utils.StaticFiles`
35+
([#953](https://github.com/haskell-servant/servant/pull/953))
36+
37+
- *servant-server* `ReqBody` content type check is recoverable.
38+
This allows writing APIs like:
39+
40+
```haskell
41+
ReqBody '[JSON] Int :> Post '[PlainText] Int
42+
:<|> ReqBody '[PlainText] Int :> Post '[PlainText] Int
43+
```
44+
45+
which is useful when handlers are subtly different,
46+
for example may do less work.
47+
([#937](https://github.com/haskell-servant/servant/pull/937))
48+
49+
450
0.13.0.1
551
--------
652

servant/CHANGELOG.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@
3030
- Added `NoFraming` streaming strategy
3131
([#959](https://github.com/haskell-servant/servant/pull/959))
3232

33-
- *servant-client* Free `Client` implementation.
33+
- *servant-client-core* Free `Client` implementation.
3434
Useful for testing `HasClient` instances.
3535
([#920](https://github.com/haskell-servant/servant/pull/920))
3636

37-
- *servant-client* Add `hoistClient` to `HasClient`.
37+
- *servant-client-core* Add `hoistClient` to `HasClient`.
3838
Just like `hoistServer` allows us to change the monad in which request handlers
3939
of a web application live in, we also have `hoistClient` for changing the monad
4040
in which *client functions* live.

0 commit comments

Comments
 (0)