Skip to content

Commit c793d37

Browse files
authored
Merge pull request #977 from phadej/changelog-0.14
Add changelog for 0.14
2 parents cc273f2 + 6b45942 commit c793d37

File tree

1 file changed

+111
-0
lines changed

1 file changed

+111
-0
lines changed

servant/CHANGELOG.md

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,116 @@
11
[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
22

3+
0.14
4+
----
5+
6+
### Signifacant changes
7+
8+
- `Stream` takes a status code argument
9+
10+
```diff
11+
-Stream method framing ctype a
12+
+Stream method status framing ctype a
13+
```
14+
15+
([#966](https://github.com/haskell-servant/servant/pull/966)
16+
[#972](https://github.com/haskell-servant/servant/pull/972))
17+
18+
- `ToStreamGenerator` definition changed, so it's possible to write an instance
19+
for conduits.
20+
21+
```diff
22+
-class ToStreamGenerator f a where
23+
- toStreamGenerator :: f a -> StreamGenerator a
24+
+class ToStreamGenerator a b | a -> b where
25+
+ toStreamGenerator :: a -> StreamGenerator b
26+
```
27+
28+
([#959](https://github.com/haskell-servant/servant/pull/959))
29+
30+
- Added `NoFraming` streaming strategy
31+
([#959](https://github.com/haskell-servant/servant/pull/959))
32+
33+
- *servant-client* Free `Client` implementation.
34+
Useful for testing `HasClient` instances.
35+
([#920](https://github.com/haskell-servant/servant/pull/920))
36+
37+
- *servant-client* Add `hoistClient` to `HasClient`.
38+
Just like `hoistServer` allows us to change the monad in which request handlers
39+
of a web application live in, we also have `hoistClient` for changing the monad
40+
in which *client functions* live. Read [tutorial section for more information](#link).
41+
([#936](https://github.com/haskell-servant/servant/pull/936))
42+
43+
- *servant* Add `safeLink' :: (Link -> a) -> ... -> MkLink endpoint a`,
44+
which allows to create helpers returning something else than `Link`.
45+
([#968](https://github.com/haskell-servant/servant/pull/968))
46+
47+
- *servant-server* File serving in polymorphic monad.
48+
i.e. Generalised types of `serveDirectoryFileServer` etc functions in
49+
`Servant.Utils.StaticFiles`
50+
([#953](https://github.com/haskell-servant/servant/pull/953))
51+
52+
- *servant-server* `ReqBody` content type check is recoverable.
53+
This allows writing APIs like:
54+
55+
```haskell
56+
ReqBody '[JSON] Int :> Post '[PlainText] Int
57+
:<|> ReqBody '[PlainText] Int :> Post '[PlainText] Int
58+
```
59+
60+
which is useful when handlers are subtly different,
61+
for example may do less work.
62+
([#937](https://github.com/haskell-servant/servant/pull/937))
63+
64+
- *servant-client* Add more constructors to `RequestBody`, including
65+
`RequestBodyStream`.
66+
*Note:* we are looking for http-library agnostic API,
67+
so the might change again soon.
68+
Tell us which constructors are useful for you!
69+
([#913](https://github.com/haskell-servant/servant/pull/913))
70+
71+
### Other changes
72+
73+
- `GetHeaders` instances implemented without `OverlappingInstances`
74+
([#971](https://github.com/haskell-servant/servant/pull/971))
75+
76+
- Added tests or enabled tests
77+
([#975](https://github.com/haskell-servant/servant/pull/975))
78+
79+
- Add [pagination cookbook recipe](#link)
80+
([#946](https://github.com/haskell-servant/servant/pull/946))
81+
82+
- Add [`servant-flatten` cookbook recipe](#link)
83+
([#929](https://github.com/haskell-servant/servant/pull/929))
84+
85+
- Dependency updates
86+
([#900](https://github.com/haskell-servant/servant/pull/900)
87+
[#919](https://github.com/haskell-servant/servant/pull/919)
88+
[#924](https://github.com/haskell-servant/servant/pull/924)
89+
[#943](https://github.com/haskell-servant/servant/pull/943)
90+
[#964](https://github.com/haskell-servant/servant/pull/964)
91+
[#967](https://github.com/haskell-servant/servant/pull/967)
92+
[#976](https://github.com/haskell-servant/servant/pull/976))
93+
94+
- Documentation updates
95+
[#963](https://github.com/haskell-servant/servant/pull/963)
96+
[#960](https://github.com/haskell-servant/servant/pull/960)
97+
[#908](https://github.com/haskell-servant/servant/pull/908)
98+
[#958](https://github.com/haskell-servant/servant/pull/958)
99+
[#948](https://github.com/haskell-servant/servant/pull/948)
100+
[#928](https://github.com/haskell-servant/servant/pull/928)
101+
[#921](https://github.com/haskell-servant/servant/pull/921))
102+
103+
- Development process improvements
104+
([#680](https://github.com/haskell-servant/servant/pull/680)
105+
[#917](https://github.com/haskell-servant/servant/pull/917)
106+
[#923](https://github.com/haskell-servant/servant/pull/923)
107+
[#961](https://github.com/haskell-servant/servant/pull/961)
108+
[#973](https://github.com/haskell-servant/servant/pull/973))
109+
110+
### Note
111+
112+
(VIM) Regular-expression to link PR numbers: `s/\v#(\d+)/[#\1](https:\/\/github.com\/haskell-servant\/servant/pull\/\1)/`
113+
3114
0.13.0.1
4115
--------
5116

0 commit comments

Comments
 (0)