Package Release Info

ghc-servant-0.19-bp154.1.17

Update Info: Base Release
Available in Package Hub : 15 SP4

platforms

AArch64
ppc64le
s390x
x86-64

subpackages

ghc-servant
ghc-servant-devel

Change Logs

* Wed Feb 02 2022 Peter Simons <psimons@suse.com>
- Update servant to version 0.19.
  Package versions follow the [Package Versioning Policy](https://pvp.haskell.org/): in A.B.C, bumps to either A or B represent major versions.
  0.19
  - ---
  [#]## Significant changes
  - Drop support for GHC < 8.6.
  - Support GHC 9.0 (GHC 9.2 should work as well, but isn't fully tested yet).
  - Support Aeson 2 ([#1475](https://github.com/haskell-servant/servant/pull/1475)),
    which fixes a [DOS vulnerability](https://github.com/haskell/aeson/issues/864)
    related to hash collisions.
  - Add `NamedRoutes` combinator, making support for records first-class in Servant
    ([#1388](https://github.com/haskell-servant/servant/pull/1388)).
    Users can now directly mark part as an API as defined by a record, instead of
    using `(:<|>)` to combine routes. Concretely, the anonymous:
    ```haskell
    type API =
    "version" :> Get '[JSON] String :<|>
    "products" :> Get '[JSON] [Product]
    ```
    can be replaced with the explicitly-named:
    ```haskell
    type API = NamedRoutes NamedAPI
    data NamedAPI mode = NamedAPI
    { version :: mode :- "version" :> Get '[JSON] String
    , products :: mode :- "products" :> Get '[JSON] [Product]
    }
    ```
    `NamedRoutes` builds upon `servant-generic`, but improves usability by freeing
    users from the need to perform `toServant` / `fromServant` conversions
    manually. Serving `NamedRoutes NamedAPI` is now done directly by providing a
    record of handlers, and servant generates clients directly as records as well.
    In particular, it makes it much more practical to work with nested hierarchies
    of named routes.
    Two convenience functions, `(//)` and `(/:)`, have been added to make the
    usage of named route hierarchies more pleasant:
    ```haskell
    rootClient :: RootApi (AsClientT ClientM)
    rootClient = client (Proxy @API)
    hello :: String -> ClientM String
    hello name = rootClient // hello /: name
    endpointClient :: ClientM Person
    endpointClient = client // subApi /: "foobar123" // endpoint
    type Api = NamedRoutes RootApi
    data RootApi mode = RootApi
    { subApi :: mode :- Capture "token" String :> NamedRoutes SubApi
    , hello :: mode :- Capture "name" String :> Get '[JSON] String
    , …
    } deriving Generic
    data SubApi mode = SubApi
    { endpoint :: mode :- Get '[JSON] Person
    , …
    } deriving Generic
    ```
  - Add custom type errors for partially applied combinators
    ([#1289](https://github.com/haskell-servant/servant/pull/1289),
    [#1486](https://github.com/haskell-servant/servant/pull/1486)).
    For example, forgetting to document the expected type for a query parameter,
    as in:
    ``` haskell
    type API = QueryParam "param" :> Get '[JSON] NoContent
    ```
    will raise to the following error when trying to serve the API:
    ```
    • There is no instance for HasServer (QueryParam'
    '[Optional, Strict] "param" :> ...)
    QueryParam' '[Optional, Strict] "1" expects 1 more arguments
    ```
    As a consequence of this change, unsaturated types are now forbidden before `(:>)`.
  - Add a `HeadNoContent` verb ([#1502](https://github.com/haskell-servant/servant/pull/1502)).
  - *servant-client* / *servant-client-core* / *servant-http-streams*:
    Fix erroneous behavior, where only 2XX status codes would be considered
    successful, irrelevant of the status parameter specified by the verb
    combinator. ([#1469](https://github.com/haskell-servant/servant/pull/1469))
  - *servant-client* / *servant-client-core*: Fix `Show` instance for
    `Servant.Client.Core.Request`.
  - *servant-client* / *servant-client-core*: Allow passing arbitrary binary data
    in Query parameters.
    ([#1432](https://github.com/haskell-servant/servant/pull/1432)).
  - *servant-docs*: Generate sample cURL requests
    ([#1401](https://github.com/haskell-servant/servant/pull/1401/files)).
    Breaking change: requires sample header values to be supplied with `headers`.
  [#]## Other changes
  - Various bit rotten cookbooks have been updated and re-introduced on
    [docs.servant.dev](https://docs.servant.dev).
  - Various version bumps.
* Tue Sep 07 2021 Ond?ej Súkup <mimi.vx@gmail.com>
- relax constraints on base-compat
* Tue Aug 17 2021 Ond?ej Súkup <mimi.vx@gmail.com>
- relax constraints on transformers-compat
* Thu Jun 24 2021 psimons@suse.com
- Update servant to version 0.18.3.
  0.18.3
  - -----
  [#]## Significant changes
  - Add response header support to UVerb (#1420).
  - Use Capture Description if available (#1423).
  [#]## Other changes
  - Support GHC-9.0.1.
  - Bump `bytestring`, `attoparsec`, `hspec` and `singleton-bool` dependencies.
* Sat May 15 2021 psimons@suse.com
- Update servant to version 0.18.2 revision 1.
  Upstream has revised the Cabal build instructions on Hackage.
* Tue Apr 06 2021 Ond?ej Súkup <mimi.vx@gmail.com>
- relax overconstrained deps on singleton-bool
* Thu Mar 25 2021 Ond?ej Súkup <mimi.vx@gmail.com>
- relax dep on attoparsec
* Tue Jan 19 2021 Ond?ej Súkup <mimi.vx@gmail.com>
- relax dep on http-api-data
* Thu Dec 17 2020 Ond?ej Súkup <mimi.vx@gmail.com>
- disable %{ix86} build
* Wed Dec 09 2020 psimons@suse.com
- Add servant at version 0.18.2.
Version: 0.11-bp150.1.3
* Thu Aug 03 2017 psimons@suse.com
- Updated with latest spec-cleaner version 0.9.8-8-geadfbbf.
* Thu Jul 27 2017 psimons@suse.com
- Update to version 0.11 revision 1.
* Sun Feb 12 2017 psimons@suse.com
- Update to version 0.9.1.1 revision 1 with cabal2obs.
* Thu Sep 15 2016 psimons@suse.com
- Update to version 0.8.1 revision 0 with cabal2obs.
* Sun Jul 10 2016 psimons@suse.com
- Update to version 0.7.1 revision 0 with cabal2obs.