on master help sign in
Add changelog for 0.14
commit6b45942b90ce9f4f6dbc726f6436c65a75271d33 authorOleg Grenrus <oleg.grenrus@iki.fi> dateTue 12 Jun 2018, 18:05 (8 years ago) parentcc273f2
1 file changed+111
servant/CHANGELOG.md+111
servant/CHANGELOG.md+111
@@ -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+
31140.13.0.1
4115--------
5116