git.iko.soy/typeable/servant
on servant-0.12.1 help sign in
143 lines 5.6 kB history raw
1[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-server/CHANGELOG.md)
2[Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
40.12
5----
7### Breaking changes
9* Added `hoistServer` member to the `HasServer` class, which is `HasServer`
10 specific `enter`.
11 ([#804](https://github.com/haskell-servant/servant/pull/804))
130.11
14----
16### Breaking changes
18* Changed `HasServer` instances for `Header` to throw 400 when parsing fails
19 ([#724](https://github.com/haskell-servant/servant/pull/724))
20* Added `headersD` block to `Delayed`
21 ([#724](https://github.com/haskell-servant/servant/pull/724))
23### Other changes
25* Add `err418`, `err422` error codes
26 ([#739](https://github.com/haskell-servant/servant/pull/739))
280.10
29----
31### Breaking changes
33* `Handler` is now an abstract datatype. Migration hint: change `throwE` to `throwError`.
34 ([#641](https://github.com/haskell-servant/servant/issues/641))
36* Changed `HasServer` instances for `QueryParam` and `QueryParam` to throw 400
37 when parsing fails
38 ([#649](https://github.com/haskell-servant/servant/pull/649))
40### Other changes
42* Added `paramsD` block to `Delayed`
44* Add `err422` Unprocessable Entity
45 ([#646](https://github.com/haskell-servant/servant/pull/646))
47* Deprecate `serveDirectory` and introduce `serveDirectoryFileServer`,
48 `serveDirectoryWebApp`, `serveDirectoryWebAppLookup`, `serveDirectoryEmbedded`
49 and `serveDirectoryWith` which offer 4 default options and a more flexible
50 one for serving static files.
51 ([#658](https://github.com/haskell-servant/servant/pull/658))
53* `DelayedIO` is an instance of `MonadResource`, allowing safe resource handling.
54 ([#622](https://github.com/haskell-servant/servant/pull/622)
55 , [#674](https://github.com/haskell-servant/servant/pull/674)
56 , [#675](https://github.com/haskell-servant/servant/pull/675))
580.7.1
59------
61* Remove module `Servant.Server.Internal.Enter` (https://github.com/haskell-servant/servant/pull/478)
62* Support GHC 8.0
640.7
65---
67* The `Router` type has been changed. Static router tables should now
68 be properly shared between requests, drastically increasing the
69 number of situations where servers will be able to route requests
70 efficiently. Functions `layout` and `layoutWithContext` have been
71 added to visualize the router layout for debugging purposes. Test
72 cases for expected router layouts have been added.
73* If an endpoint is discovered to have a non-matching "accept header",
74 this is now a recoverable rather than a fatal failure, allowing
75 different endpoints for the same route, but with different content
76 types to be specified modularly.
77* Export `throwError` from module `Servant`
78* Add `Handler` type synonym
800.6.1
81-----
83* If servers use the `BasicAuth` combinator and receive requests with missing or
84 invalid credentials, the resulting error responses (401 and 403) could be
85 overwritten by subsequent alternative routes. Now `BasicAuth` uses `FailFatal`
86 and the error responses can't be overwritten anymore.
880.6
89---
91* Query parameters that can't be parsed result in a `400` (was `404`).
930.5
94---
96* Add `Config` machinery (https://github.com/haskell-servant/servant/pull/327).
97 This is a breaking change, as the signatures of both `route`, `serve` and the
98 typeclass `HasServer` now take an additional parameter.
99* Support for the `HttpVersion`, `IsSecure`, `RemoteHost` and `Vault` combinators
100* Drop `EitherT` in favor of `ExceptT`
101* Use `http-api-data` instead of `Servant.Common.Text`
102* Remove matrix params.
103* Remove `RouteMismatch`.
104* Redefined constructors of `RouteResult`.
105* Added `Delayed` and related functions (`addMethodCheck`, `addAcceptCheck`, `addBodyCheck`, `runDelayed`)
106* Added support for Basic Authentication
107* Add generalized authentication support via the `AuthServerData` type family and `AuthHandler` handler
1090.4.1
110-----
111* Bump attoparsec upper bound to < 0.14
112* Bump wai-app-static upper bound to < 3.2
113* Bump either upper bound to < 4.5
1150.4
116---
117* `Delete` now is like `Get`, `Post`, `Put`, and `Patch` and returns a response body
118* Add a `RouteMismatch` constructor for arbitrary HTTP response codes (https://github.com/haskell-servant/servant-server/pull/22)
119* Add support for the `Patch` combinator
120* Support for `Accept`/`Content-type` headers and for the content-type aware combinators in *servant-0.4*
121* Export `toApplication` from `Servant.Server` (https://github.com/haskell-servant/servant-server/pull/29)
122* Support other Monads than just `EitherT (Int, String) IO` (https://github.com/haskell-servant/servant-server/pull/21)
123* Make methods return status code 204 if they return () (https://github.com/haskell-servant/servant-server/issues/28)
124* Add server support for response headers
125* Use `ServantErr` instead of `(Int,String)` in `EitherT` handlers
126* Add `errXXX` functions for HTTP errors with sensible default reason strings
127* Add `enter` function for applying natural transformations to handlers
1290.2.4
130-----
131* Added support for matrix parameters, see e.g. http://www.w3.org/DesignIssues/MatrixURIs.html
132* Add support for serializing based on Accept header
133 (https://github.com/haskell-servant/servant-server/issues/9)
134* Ignore trailing slashes
135 (https://github.com/haskell-servant/servant-server/issues/5)
1380.2.3
139-----
141* Fix consuming request body issue
142 (https://github.com/haskell-servant/servant/issues/3)
143* Make code sample in Servant.Server complete