@@ -1,6 +1,51 @@
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.17
5+----
6+
7+### Significant changes
8+
9+- Add NoContentVerb [#1028](https://github.com/haskell-servant/servant/issues/1028) [#1219](https://github.com/haskell-servant/servant/pull/1219) [#1228](https://github.com/haskell-servant/servant/pull/1228)
10+
11+ The `NoContent` API endpoints should now use `NoContentVerb` combinator.
12+ The API type changes are usually of the kind
13+
14+ ```diff
15+ - :<|> PostNoContent '[JSON] NoContent
16+ + :<|> PostNoContent
17+ ```
18+
19+ i.e. one doesn't need to specify the content-type anymore. There is no content.
20+
21+- `Capture` can be `Lenient` [#1155](https://github.com/haskell-servant/servant/issues/1155) [#1156](https://github.com/haskell-servant/servant/pull/1156)
22+
23+ You can specify a lenient capture as
24+
25+ ```haskell
26+ :<|> "capture-lenient" :> Capture' '[Lenient] "foo" Int :> GET
27+ ```
28+
29+ which will make the capture always succeed. Handlers will be of the
30+ type `Either String CapturedType`, where `Left err` represents
31+ the possible parse failure.
32+
33+- *servant-server* use queryString to parse QueryParam, QueryParams and QueryFlag [#1249](https://github.com/haskell-servant/servant/pull/1249) [#1262](https://github.com/haskell-servant/servant/pull/1262)
34+
35+ Some APIs need query parameters rewriting, e.g. in order to support
36+ for multiple casing (camel, snake, etc) or something to that effect.
37+
38+ This could be easily achieved by using WAI Middleware and modyfing
39+ request's `Query`. But QueryParam, QueryParams and QueryFlag use
40+ `rawQueryString`. By using `queryString` rather then `rawQueryString`
41+ we can enable such rewritings.
42+
43+- *servant* *servant-server* Make packages `build-type: Simple` [#1263](https://github.com/haskell-servant/servant/pull/1263)
44+
45+ We used `build-type: Custom`, but it's problematic e.g.
46+ for cross-compiling. The benefit is small, as the doctests
47+ can be run other ways too (though not so conviniently).
48+
4490.16.2
550------
651