git.iko.soy/typeable/servant
on master help sign in
Update other changelogs
commitb519014f96d49911e864f48f7fb57ddaa03c51cd authorOleg Grenrus <oleg.grenrus@iki.fi> dateThu 23 Jan 2020, 13:43 (7 years ago) parent8fc47ed
6 files changed+276
servant-client-core/CHANGELOG.md+39 servant-client/CHANGELOG.md+48 servant-docs/CHANGELOG.md+40 servant-foreign/CHANGELOG.md+63 servant-http-streams/CHANGELOG.md+41 servant-server/CHANGELOG.md+45
servant-client-core/CHANGELOG.md+39
@@ -1,6 +1,45 @@
11[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-client-core/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+### Other changes
34+
35+- *servant-client* *servant-client-core* *servant-http-streams* Fix Verb with headers checking content type differently [#1200](https://github.com/haskell-servant/servant/issues/1200) [#1204](https://github.com/haskell-servant/servant/pull/1204)
36+
37+ For `Verb`s with response `Headers`, the implementation didn't check
38+ for the content-type of the response. Now it does.
39+
40+- *servant-client* *servant-http-streams* `HasClient` instance for `Stream` with `Headers` [#1170](https://github.com/haskell-servant/servant/issues/1170) [#1197](https://github.com/haskell-servant/servant/pull/1197)
41+- *servant-client* Redact the authorization header in Show and exceptions [#1238](https://github.com/haskell-servant/servant/pull/1238)
42+
4430.16
544----
645
servant-client/CHANGELOG.md+48
@@ -1,6 +1,54 @@
11[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-client/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-client* Added a function to create Client.Request in ClientEnv [#1213](https://github.com/haskell-servant/servant/pull/1213) [#1255](https://github.com/haskell-servant/servant/pull/1255)
34+
35+ The new member `makeClientRequest` of `ClientEnv` is used to create
36+ `http-client` `Request` from `servant-client-core` `Request`.
37+ This functionality can be used for example to set
38+ dynamic timeouts for each request.
39+
40+### Other changes
41+
42+- *servant-client* *servant-client-core* *servant-http-streams* Fix Verb with headers checking content type differently [#1200](https://github.com/haskell-servant/servant/issues/1200) [#1204](https://github.com/haskell-servant/servant/pull/1204)
43+
44+ For `Verb`s with response `Headers`, the implementation didn't check
45+ for the content-type of the response. Now it does.
46+
47+- *servant-client* *servant-http-streams* `HasClient` instance for `Stream` with `Headers` [#1170](https://github.com/haskell-servant/servant/issues/1170) [#1197](https://github.com/haskell-servant/servant/pull/1197)
48+- *servant-client* Redact the authorization header in Show and exceptions [#1238](https://github.com/haskell-servant/servant/pull/1238)
49+
50+
51+
4520.16.0.1
553--------
654
servant-docs/CHANGELOG.md+40
@@ -1,6 +1,46 @@
11[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-docs/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.2
5+----
6+
7+
8+- 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)
9+
10+ The `NoContent` API endpoints should now use `NoContentVerb` combinator.
11+ The API type changes are usually of the kind
12+
13+ ```diff
14+ - :<|> PostNoContent '[JSON] NoContent
15+ + :<|> PostNoContent
16+ ```
17+
18+ i.e. one doesn't need to specify the content-type anymore. There is no content.
19+
20+- `Capture` can be `Lenient` [#1155](https://github.com/haskell-servant/servant/issues/1155) [#1156](https://github.com/haskell-servant/servant/pull/1156)
21+
22+ You can specify a lenient capture as
23+
24+ ```haskell
25+ :<|> "capture-lenient" :> Capture' '[Lenient] "foo" Int :> GET
26+ ```
27+
28+ which will make the capture always succeed. Handlers will be of the
29+ type `Either String CapturedType`, where `Left err` represents
30+ the possible parse failure.
31+
32+- *servant-docs* Merge documentation from duplicate routes [#1240](https://github.com/haskell-servant/servant/issues/1240) [#1241](https://github.com/haskell-servant/servant/pull/1241)
33+
34+ Servant supports defining the same route multiple times with different
35+ content-types and result-types, but servant-docs was only documenting
36+ the first of copy of such duplicated routes. It now combines the
37+ documentation from all the copies.
38+
39+ Unfortunately, it is not yet possible for the documentation to specify
40+ multiple status codes.
41+
42+- *servant-docs* Prevent race-conditions in testing [#1194](https://github.com/haskell-servant/servant/pull/1194)
43+
4440.11.4
545------
646
servant-foreign/CHANGELOG.md+63
@@ -1,6 +1,69 @@
11[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-foreign/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.15.1
5+------
6+
7+* Support `servant-0.17`
8+
9+0.15
10+----
11+
12+- *servant-foreign* Add support so `HasForeign` can be implemented for
13+ `MultipartForm` from [`servant-multipart`](http://hackage.haskell.org/package/servant-multipart)
14+ [#1035](https://github.com/haskell-servant/servant/pull/1035)
15+
16+- Drop support for GHC older than 8.0
17+ [#1008](https://github.com/haskell-servant/servant/pull/1008)
18+ [#1009](https://github.com/haskell-servant/servant/pull/1009)
19+
20+
21+0.11.1
22+------
23+
24+- Add missing `Semigroup` instances
25+
26+0.11
27+----
28+
29+### Breaking changes
30+
31+- *servant* Add `Servant.API.Modifiers`
32+ ([#873](https://github.com/haskell-servant/servant/pull/873))
33+- Make foreign client Header arguments have the representation of 'Maybe' in those languages
34+ ([#843](https://github.com/haskell-servant/servant/pull/843))
35+
36+0.10.2
37+------
38+
39+### Changes
40+
41+* Add instances for `Description` and `Summary` combinators
42+ ([#767](https://github.com/haskell-servant/servant/pull/767))
43+* Derive Data for all types
44+ ([#809](https://github.com/haskell-servant/servant/pull/809))
45+
46+0.10.1
47+------
48+
49+### Changes
50+
51+* Don't drop samples in `HasDocs ReqBody` instance
52+ ([#755](https://github.com/haskell-servant/servant/pull/755/files)).
53+ *Breaking change in an `Internal` module*.
54+
55+0.10
56+----
57+
58+### Breaking changes
59+
60+* Do not apply JavaScript specific mangling to the names.
61+ ([#191](https://github.com/haskell-servant/servant/issues/191))
62+
63+0.7.1
64+-----
65+
66+* Support GHC 8.0
4670.15
568----
669
servant-http-streams/CHANGELOG.md+41
@@ -1,6 +1,47 @@
11 [The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-http-streams/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+### Other changes
34+
35+- *servant-client* *servant-client-core* *servant-http-streams* Fix Verb with headers checking content type differently [#1200](https://github.com/haskell-servant/servant/issues/1200) [#1204](https://github.com/haskell-servant/servant/pull/1204)
36+
37+ For `Verb`s with response `Headers`, the implementation didn't check
38+ for the content-type of the response. Now it does.
39+
40+- *servant-client* *servant-http-streams* `HasClient` instance for `Stream` with `Headers` [#1170](https://github.com/haskell-servant/servant/issues/1170) [#1197](https://github.com/haskell-servant/servant/pull/1197)
41+- *servant-client* Redact the authorization header in Show and exceptions [#1238](https://github.com/haskell-servant/servant/pull/1238)
42+
43+
44+
4450.16.0.1
546--------
647
servant-server/CHANGELOG.md+45
@@ -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