Merge pull request #1082 from phadej/changelog-0.15b

Changelog 0.15b
This commit is contained in:
Oleg Grenrus 2018-11-13 17:55:18 +02:00 committed by GitHub
commit e3e5d2b230
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
39 changed files with 386 additions and 190 deletions

View File

@ -71,7 +71,7 @@ install:
- grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'
- "printf 'packages: \"servant\" \"servant-client\" \"servant-client-core\" \"servant-docs\" \"servant-foreign\" \"servant-server\" \"doc/tutorial\" \"servant-machines\" \"servant-conduit\" \"servant-pipes\" \"doc/cookbook/basic-auth\" \"doc/cookbook/curl-mock\" \"doc/cookbook/basic-streaming\" \"doc/cookbook/db-postgres-pool\" \"doc/cookbook/db-sqlite-simple\" \"doc/cookbook/file-upload\" \"doc/cookbook/generic\" \"doc/cookbook/hoist-server-with-context\" \"doc/cookbook/https\" \"doc/cookbook/jwt-and-basic-auth\" \"doc/cookbook/sentry\" \"doc/cookbook/testing\" \"doc/cookbook/structuring-apis\" \"doc/cookbook/using-custom-monad\" \"doc/cookbook/using-free-client\"\\n' > cabal.project"
- "echo 'constraints: foundation >=0.0.14,memory <0.14.12 || >0.14.12' >> cabal.project"
- "echo 'allow-newer: servant-js:base, servant-pagination:servant, servant-pagination:servant-server,servant-multipart:servant, servant-multipart:servant-server,servant-quickcheck:servant, servant-quickcheck:servant-client, servant-quickcheck:servant-server,servant-auth-server:servant, servant-auth-server:servant-server,servant-js:servant, servant-js:servant-foreign,servant-quickcheck:hspec' >> cabal.project"
- "echo 'allow-newer: servant-js:base, servant-pagination:servant, servant-pagination:servant-server,servant-multipart:servant, servant-multipart:servant-server,servant-quickcheck:servant, servant-quickcheck:servant-client, servant-quickcheck:servant-server,servant-auth-server:servant, servant-auth-server:servant-server, servant-auth-server:http-api-data,servant-js:servant, servant-js:servant-foreign,servant-quickcheck:hspec' >> cabal.project"
- touch cabal.project.local
- "if ! $NOINSTALLEDCONSTRAINTS; then for pkg in $($HCPKG list --simple-output); do echo $pkg | grep -vw -- servant | grep -vw -- servant-client | grep -vw -- servant-client-core | grep -vw -- servant-docs | grep -vw -- servant-foreign | grep -vw -- servant-server | grep -vw -- tutorial | grep -vw -- servant-machines | grep -vw -- servant-conduit | grep -vw -- servant-pipes | grep -vw -- cookbook-basic-auth | grep -vw -- cookbook-curl-mock | grep -vw -- cookbook-basic-streaming | grep -vw -- cookbook-db-postgres-pool | grep -vw -- cookbook-db-sqlite-simple | grep -vw -- cookbook-file-upload | grep -vw -- cookbook-generic | grep -vw -- cookbook-hoist-server-with-context | grep -vw -- cookbook-https | grep -vw -- cookbook-jwt-and-basic-auth | grep -vw -- cookbook-sentry | grep -vw -- cookbook-testing | grep -vw -- cookbook-structuring-apis | grep -vw -- cookbook-using-custom-monad | grep -vw -- cookbook-using-free-client | sed 's/^/constraints: /' | sed 's/-[^-]*$/ installed/' >> cabal.project.local; done; fi"
- cat cabal.project || true
@ -168,7 +168,7 @@ script:
- find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;
- "printf 'packages: servant-*/*.cabal servant-client-*/*.cabal servant-client-core-*/*.cabal servant-docs-*/*.cabal servant-foreign-*/*.cabal servant-server-*/*.cabal tutorial-*/*.cabal servant-machines-*/*.cabal servant-conduit-*/*.cabal servant-pipes-*/*.cabal cookbook-basic-auth-*/*.cabal cookbook-curl-mock-*/*.cabal cookbook-basic-streaming-*/*.cabal cookbook-db-postgres-pool-*/*.cabal cookbook-db-sqlite-simple-*/*.cabal cookbook-file-upload-*/*.cabal cookbook-generic-*/*.cabal cookbook-hoist-server-with-context-*/*.cabal cookbook-https-*/*.cabal cookbook-jwt-and-basic-auth-*/*.cabal cookbook-sentry-*/*.cabal cookbook-testing-*/*.cabal cookbook-structuring-apis-*/*.cabal cookbook-using-custom-monad-*/*.cabal cookbook-using-free-client-*/*.cabal\\n' > cabal.project"
- "echo 'constraints: foundation >=0.0.14,memory <0.14.12 || >0.14.12' >> cabal.project"
- "echo 'allow-newer: servant-js:base, servant-pagination:servant, servant-pagination:servant-server,servant-multipart:servant, servant-multipart:servant-server,servant-quickcheck:servant, servant-quickcheck:servant-client, servant-quickcheck:servant-server,servant-auth-server:servant, servant-auth-server:servant-server,servant-js:servant, servant-js:servant-foreign,servant-quickcheck:hspec' >> cabal.project"
- "echo 'allow-newer: servant-js:base, servant-pagination:servant, servant-pagination:servant-server,servant-multipart:servant, servant-multipart:servant-server,servant-quickcheck:servant, servant-quickcheck:servant-client, servant-quickcheck:servant-server,servant-auth-server:servant, servant-auth-server:servant-server, servant-auth-server:http-api-data,servant-js:servant, servant-js:servant-foreign,servant-quickcheck:hspec' >> cabal.project"
- touch cabal.project.local
- "if ! $NOINSTALLEDCONSTRAINTS; then for pkg in $($HCPKG list --simple-output); do echo $pkg | grep -vw -- servant | grep -vw -- servant-client | grep -vw -- servant-client-core | grep -vw -- servant-docs | grep -vw -- servant-foreign | grep -vw -- servant-server | grep -vw -- tutorial | grep -vw -- servant-machines | grep -vw -- servant-conduit | grep -vw -- servant-pipes | grep -vw -- cookbook-basic-auth | grep -vw -- cookbook-curl-mock | grep -vw -- cookbook-basic-streaming | grep -vw -- cookbook-db-postgres-pool | grep -vw -- cookbook-db-sqlite-simple | grep -vw -- cookbook-file-upload | grep -vw -- cookbook-generic | grep -vw -- cookbook-hoist-server-with-context | grep -vw -- cookbook-https | grep -vw -- cookbook-jwt-and-basic-auth | grep -vw -- cookbook-sentry | grep -vw -- cookbook-testing | grep -vw -- cookbook-structuring-apis | grep -vw -- cookbook-using-custom-monad | grep -vw -- cookbook-using-free-client | sed 's/^/constraints: /' | sed 's/-[^-]*$/ installed/' >> cabal.project.local; done; fi"
- cat cabal.project || true

View File

@ -41,6 +41,6 @@ allow-newer:
servant-pagination:servant, servant-pagination:servant-server,
servant-multipart:servant, servant-multipart:servant-server,
servant-quickcheck:servant, servant-quickcheck:servant-client, servant-quickcheck:servant-server,
servant-auth-server:servant, servant-auth-server:servant-server,
servant-auth-server:servant, servant-auth-server:servant-server, servant-auth-server:http-api-data,
servant-js:servant, servant-js:servant-foreign,
servant-quickcheck:hspec

View File

@ -1,13 +0,0 @@
dependencies:
- name: servant
path: ../../servant
- name: servant-server
path: ../../servant-server
- name: servant-client
path: ../../servant-client
- name: servant-js
path: ../../servant-js
- name: servant-docs
path: ../../servant-docs
- name: servant-foreign
path: ../../servant-foreign

View File

@ -1,6 +1,81 @@
[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-client-core/CHANGELOG.md)
[Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
0.15
----
- Streaming refactoring.
[#991](https://github.com/haskell-servant/servant/pull/991)
[#1076](https://github.com/haskell-servant/servant/pull/1076)
[#1077](https://github.com/haskell-servant/servant/pull/1077)
The streaming functionality (`Servant.API.Stream`) is refactored to use
`servant`'s own `SourceIO` type (see `Servant.Types.SourceT` documentation),
which replaces both `StreamGenerator` and `ResultStream` types.
New conversion type-classes are `ToSourceIO` and `FromSourceIO`
(replacing `ToStreamGenerator` and `BuildFromStream`).
There are instances for *conduit*, *pipes* and *machines* in new packages:
[servant-conduit](https://hackage.haskell.org/package/servant-conduit)
[servant-pipes](https://hackage.haskell.org/package/servant-pipes) and
[servant-machines](https://hackage.haskell.org/package/servant-machines)
respectively.
Writing new framing strategies is simpler. Check existing strategies for examples.
This change shouldn't affect you, if you don't use streaming endpoints.
- *servant-client* Separate streaming client.
[#1066](https://github.com/haskell-servant/servant/pull/1066)
We now have two `http-client` based clients,
in `Servant.Client` and `Servant.Client.Streaming`.
Their API is the same, except for
- `Servant.Client` **cannot** request `Stream` endpoints.
- `Servant.Client` is *run* by direct
`runClientM :: ClientM a -> ClientEnv -> IO (Either ServantError a)`
- `Servant.Client.Streaming` **can** request `Stream` endpoints.
- `Servant.Client.Streaming` is *used* by CPSised
`withClientM :: ClientM a -> ClientEnv -> (Either ServantError a -> IO b) -> IO b`
To access `Stream` endpoints use `Servant.Client.Streaming` with
`withClientM`; otherwise you can continue using `Servant.Client` with `runClientM`.
You can use both too, `ClientEnv` and `BaseUrl` types are same for both.
**Note:** `Servant.Client.Streaming` doesn't *stream* non-`Stream` endpoints.
Requesting ordinary `Verb` endpoints (e.g. `Get`) will block until
the whole response is received.
There is `Servant.Client.Streaming.runClientM` function, but it has
restricted type. `NFData a` constraint prevents using it with
`SourceT`, `Conduit` etc. response types.
```haskell
runClientM :: NFData a => ClientM a -> ClientEnv -> IO (Either ServantError a)
```
This change shouldn't affect you, if you don't use streaming endpoints.
- *servant-client-core* Related to the previous:
`streamingResponse` is removed from `RunClient`.
We have a new type-class:
```haskell
class RunClient m => RunStreamingClient m where
withStreamingRequest :: Request -> (StreamingResponse -> IO a) -> m a
```
- Drop support for GHC older than 8.0
[#1008](https://github.com/haskell-servant/servant/pull/1008)
[#1009](https://github.com/haskell-servant/servant/pull/1009)
- *servant-client-core* Add `NFData (GenResponse a)` and `NFData ServantError` instances.
[#1076](https://github.com/haskell-servant/servant/pull/1076)
- *servant-client-core* Add `aeson` and `Lift BaseUrl` instances
[#1037](https://github.com/haskell-servant/servant/pull/1037)
0.14.1
------

View File

@ -1,4 +1,4 @@
Copyright (c) 2017, Servant Contributors
Copyright (c) 2017-2018, Servant Contributors
All rights reserved.

View File

@ -1,27 +1,30 @@
cabal-version: >=1.10
name: servant-client-core
version: 0.15
synopsis: Core functionality and class for client function generation for servant APIs
category: Servant, Web
description:
This library provides backend-agnostic generation of client functions. For
more information, see the README.
homepage: http://haskell-servant.readthedocs.org/
bug-reports: http://github.com/haskell-servant/servant/issues
license: BSD3
license-file: LICENSE
author: Servant Contributors
maintainer: haskell-servant-maintainers@googlegroups.com
homepage: http://haskell-servant.readthedocs.org/
bug-reports: http://github.com/haskell-servant/servant/issues
cabal-version: >=1.10
copyright: 2014-2016 Zalora South East Asia Pte Ltd, 2016-2017 Servant Contributors
category: Web
copyright: 2014-2016 Zalora South East Asia Pte Ltd, 2016-2018 Servant Contributors
build-type: Simple
tested-with:
GHC ==8.0.2
|| ==8.2.2
|| ==8.4.4
|| ==8.6.2
extra-source-files:
CHANGELOG.md
README.md
tested-with:
GHC==8.0.2
GHC==8.2.2
GHC==8.4.4
GHC==8.6.2
source-repository head
type: git
@ -68,7 +71,6 @@ library
, exceptions >= 0.10.0 && < 0.11
, free >= 5.1 && < 5.2
, generics-sop >= 0.4.0.1 && < 0.5
, http-api-data >= 0.3.10 && < 0.4
, http-media >= 0.7.1.3 && < 0.8
, http-types >= 0.12.2 && < 0.13
, network-uri >= 2.6.1.0 && < 2.7

View File

@ -40,7 +40,7 @@ import Network.HTTP.Media
import Network.HTTP.Types
(Header, HeaderName, HttpVersion (..), Method, QueryItem,
Status (..), http11, methodGet)
import Web.HttpApiData
import Servant.API
(ToHttpApiData, toEncodedUrlPiece, toHeader)
-- | A type representing possible errors in a request

View File

@ -1,4 +1,4 @@
Copyright (c) 2014-2016, Zalora South East Asia Pte Ltd, Servant Contributors
Copyright (c) 2014-2016, Zalora South East Asia Pte Ltd, 2016-2018 Servant Contributors
All rights reserved.

View File

@ -1,6 +1,9 @@
cabal-version: >=1.10
name: servant-client-ghcjs
version: 0.14
synopsis: automatical derivation of querying functions for servant webservices for ghcjs
synopsis: Automatic derivation of querying functions for servant webservices for GHCJS
category: Servant, Web
description:
This library lets you automatically derive Haskell functions that
let you query each endpoint of a <http://hackage.haskell.org/package/servant servant> webservice.
@ -8,20 +11,22 @@ description:
See <http://haskell-servant.readthedocs.org/en/stable/tutorial/Client.html the client section of the tutorial>.
.
<https://github.com/haskell-servant/servant/blob/master/servant-client/CHANGELOG.md CHANGELOG>
homepage: http://haskell-servant.readthedocs.org/
bug-reports: http://github.com/haskell-servant/servant/issues
license: BSD3
license-file: LICENSE
author: Servant Contributors
maintainer: haskell-servant-maintainers@googlegroups.com
copyright: 2014-2016 Zalora South East Asia Pte Ltd, 2016-2017 Servant Contributors
category: Servant, Web
copyright: 2014-2016 Zalora South East Asia Pte Ltd, 2016-2018 Servant Contributors
build-type: Simple
cabal-version: >=1.10
tested-with: GHC >= 7.8
homepage: http://haskell-servant.readthedocs.org/
Bug-reports: http://github.com/haskell-servant/servant/issues
tested-with:
GHC >= 7.8
extra-source-files:
CHANGELOG.md
README.md
source-repository head
type: git
location: http://github.com/haskell-servant/servant.git

View File

@ -1,5 +0,0 @@
dependencies:
- name: servant
path: ../servant
- name: servant-server
path: ../servant-server

View File

@ -1,6 +1,72 @@
[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-client/CHANGELOG.md)
[Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
0.15
----
- Streaming refactoring.
[#991](https://github.com/haskell-servant/servant/pull/991)
[#1076](https://github.com/haskell-servant/servant/pull/1076)
[#1077](https://github.com/haskell-servant/servant/pull/1077)
The streaming functionality (`Servant.API.Stream`) is refactored to use
`servant`'s own `SourceIO` type (see `Servant.Types.SourceT` documentation),
which replaces both `StreamGenerator` and `ResultStream` types.
New conversion type-classes are `ToSourceIO` and `FromSourceIO`
(replacing `ToStreamGenerator` and `BuildFromStream`).
There are instances for *conduit*, *pipes* and *machines* in new packages:
[servant-conduit](https://hackage.haskell.org/package/servant-conduit)
[servant-pipes](https://hackage.haskell.org/package/servant-pipes) and
[servant-machines](https://hackage.haskell.org/package/servant-machines)
respectively.
Writing new framing strategies is simpler. Check existing strategies for examples.
This change shouldn't affect you, if you don't use streaming endpoints.
- *servant-client* Separate streaming client.
[#1066](https://github.com/haskell-servant/servant/pull/1066)
We now have two `http-client` based clients,
in `Servant.Client` and `Servant.Client.Streaming`.
Their API is the same, except for
- `Servant.Client` **cannot** request `Stream` endpoints.
- `Servant.Client` is *run* by direct
`runClientM :: ClientM a -> ClientEnv -> IO (Either ServantError a)`
- `Servant.Client.Streaming` **can** request `Stream` endpoints.
- `Servant.Client.Streaming` is *used* by CPSised
`withClientM :: ClientM a -> ClientEnv -> (Either ServantError a -> IO b) -> IO b`
To access `Stream` endpoints use `Servant.Client.Streaming` with
`withClientM`; otherwise you can continue using `Servant.Client` with `runClientM`.
You can use both too, `ClientEnv` and `BaseUrl` types are same for both.
**Note:** `Servant.Client.Streaming` doesn't *stream* non-`Stream` endpoints.
Requesting ordinary `Verb` endpoints (e.g. `Get`) will block until
the whole response is received.
There is `Servant.Client.Streaming.runClientM` function, but it has
restricted type. `NFData a` constraint prevents using it with
`SourceT`, `Conduit` etc. response types.
```haskell
runClientM :: NFData a => ClientM a -> ClientEnv -> IO (Either ServantError a)
```
This change shouldn't affect you, if you don't use streaming endpoints.
- Drop support for GHC older than 8.0
[#1008](https://github.com/haskell-servant/servant/pull/1008)
[#1009](https://github.com/haskell-servant/servant/pull/1009)
- *servant-client-core* Add `NFData (GenResponse a)` and `NFData ServantError` instances.
[#1076](https://github.com/haskell-servant/servant/pull/1076)
*servant-client-core* Add `aeson` and `Lift BaseUrl` instances
[#1037](https://github.com/haskell-servant/servant/pull/1037)
0.14
----

View File

@ -1,4 +1,4 @@
Copyright (c) 2014-2016, Zalora South East Asia Pte Ltd, Servant Contributors
Copyright (c) 2014-2016, Zalora South East Asia Pte Ltd, 2016-2018 Servant Contributors
All rights reserved.

View File

@ -1,6 +1,9 @@
cabal-version: >=1.10
name: servant-client
version: 0.15
synopsis: automatical derivation of querying functions for servant webservices
synopsis: Automatic derivation of querying functions for servant
category: Servant, Web
description:
This library lets you derive automatically Haskell functions that
let you query each endpoint of a <http://hackage.haskell.org/package/servant servant> webservice.
@ -8,24 +11,25 @@ description:
See <http://haskell-servant.readthedocs.org/en/stable/tutorial/Client.html the client section of the tutorial>.
.
<https://github.com/haskell-servant/servant/blob/master/servant-client/CHANGELOG.md CHANGELOG>
homepage: http://haskell-servant.readthedocs.org/
bug-reports: http://github.com/haskell-servant/servant/issues
license: BSD3
license-file: LICENSE
author: Servant Contributors
maintainer: haskell-servant-maintainers@googlegroups.com
copyright: 2014-2016 Zalora South East Asia Pte Ltd, 2016-2017 Servant Contributors
category: Servant, Web
copyright: 2014-2016 Zalora South East Asia Pte Ltd, 2016-2018 Servant Contributors
build-type: Simple
cabal-version: >=1.10
tested-with:
GHC==8.0.2
GHC==8.2.2
GHC==8.4.4
GHC==8.6.2
homepage: http://haskell-servant.readthedocs.org/
Bug-reports: http://github.com/haskell-servant/servant/issues
GHC ==8.0.2
|| ==8.2.2
|| ==8.4.4
|| ==8.6.2
extra-source-files:
CHANGELOG.md
README.md
source-repository head
type: git
location: http://github.com/haskell-servant/servant.git
@ -54,7 +58,7 @@ library
-- Strict dependency on `servant-client-core` as we re-export things.
build-depends:
servant == 0.15.*
, servant-client-core == 0.15
, servant-client-core >= 0.15 && <0.15.1
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
-- Here can be exceptions if we really need features from the newer versions.

View File

@ -1,5 +0,0 @@
dependencies:
- name: servant
path: ../servant
- name: servant-server
path: ../servant-server

View File

@ -1,16 +1,4 @@
0.10
0.15
----
* `EncodeOpts` and `DecodeOpts` merged into just `EncodeOpts`.
* Add `TabSeparatedOpts` for `text/tab-separated-values`.
0.9
---
* Refactorerd `CSV`' type.
0.8
---
* Removed DefaultEncodeOpts and DefaultDecodeOpts in favor of a single
(new) DefaultOpts
- First release with support for `servant-0.15` `Stream` refactoring.

View File

@ -1,23 +1,30 @@
cabal-version: >=1.10
name: servant-conduit
version: 1
version: 0.15
synopsis: Servant Stream support for conduit.
category: Servant, Web, Enumerator
description: Servant Stream support for conduit.
.
Provides 'ToSourceIO' and 'FromSourceIO' instances for 'ConduitT'.
homepage: http://haskell-servant.readthedocs.org/
bug-reports: http://github.com/haskell-servant/servant/issues
license: BSD3
license-file: LICENSE
author: Servant Contributors
maintainer: haskell-servant-maintainers@googlegroups.com
copyright: 2018 Servant Contributors
category: Web, Servant, Enumerator
build-type: Simple
cabal-version: >=1.10
bug-reports: http://github.com/haskell-servant/servant-conduit/issues
tested-with:
GHC ==8.0.2
|| ==8.2.2
|| ==8.4.4
|| ==8.6.2
extra-source-files:
CHANGELOG.md
source-repository head
type: git
location: http://github.com/haskell-servant/servant-conduit.git

View File

@ -6,9 +6,7 @@
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}
-- | TBW
--
-- This module exports 'ToSourceIO' and 'FromSourceIO' instances.
-- | This module exports 'ToSourceIO' and 'FromSourceIO' for 'ConduitT' instances.
module Servant.Conduit (
ConduitToSourceIO (..),
) where

View File

@ -1,6 +1,12 @@
[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-docs/CHANGELOG.md)
[Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
0.11.3
------
- Support `servant-0.15`
- Instances for 'Stream' and 'StreamBody'
0.11.2
------

View File

@ -1,4 +1,4 @@
Copyright (c) 2014-2016, Zalora South East Asia Pte Ltd, Servant Contributors
Copyright (c) 2014-2016, Zalora South East Asia Pte Ltd, 2016-2018 Servant Contributors
All rights reserved.

View File

@ -1,27 +1,30 @@
cabal-version: >=1.10
name: servant-docs
version: 0.11.3
synopsis: generate API docs for your servant webservice
category: Servant, Web
description:
Library for generating API docs from a servant API definition.
.
Runnable example <https://github.com/haskell-servant/servant/blob/master/servant-docs/example/greet.hs here>.
.
<https://github.com/haskell-servant/servant/blob/master/servant-docs/CHANGELOG.md CHANGELOG>
homepage: http://haskell-servant.readthedocs.org/
bug-reports: http://github.com/haskell-servant/servant/issues
license: BSD3
license-file: LICENSE
author: Servant Contributors
maintainer: haskell-servant-maintainers@googlegroups.com
copyright: 2014-2016 Zalora South East Asia Pte Ltd, Servant Contributors
category: Servant, Web
copyright: 2014-2016 Zalora South East Asia Pte Ltd, 2016-2018 Servant Contributors
build-type: Simple
cabal-version: >=1.10
tested-with:
GHC==8.0.2
GHC==8.2.2
GHC==8.4.4
GHC==8.6.2
homepage: http://haskell-servant.readthedocs.org/
Bug-reports: http://github.com/haskell-servant/servant/issues
GHC ==8.0.2
|| ==8.2.2
|| ==8.4.4
|| ==8.6.2
extra-source-files:
CHANGELOG.md
README.md

View File

@ -1,3 +0,0 @@
dependencies:
- name: servant
path: ../servant

View File

@ -1,6 +1,18 @@
[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-foreign/CHANGELOG.md)
[Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
0.15
----
- *servant-foreign* Add support so `HasForeign` can be implemented for
`MultipartForm` from [`servant-multipart`](http://hackage.haskell.org/package/servant-multipart)
[#1035](https://github.com/haskell-servant/servant/pull/1035)
- Drop support for GHC older than 8.0
[#1008](https://github.com/haskell-servant/servant/pull/1008)
[#1009](https://github.com/haskell-servant/servant/pull/1009)
0.11.1
------

View File

@ -1,4 +1,4 @@
Copyright (c) 2014-2016, Zalora South East Asia Pte Ltd, Servant Contributors
Copyright (c) 2014-2016, Zalora South East Asia Pte Ltd, 2016-2018 Servant Contributors
All rights reserved.

View File

@ -1,6 +1,9 @@
cabal-version: >=1.10
name: servant-foreign
version: 0.15
synopsis: Helpers for generating clients for servant APIs in any programming language
category: Servant, Web
description:
Helper types and functions for generating client functions for servant APIs in any programming language
.
@ -9,23 +12,24 @@ description:
See the servant-js package for an example
.
<https://github.com/haskell-servant/servant/blob/master/servant-foreign/CHANGELOG.md CHANGELOG>
homepage: http://haskell-servant.readthedocs.org/
bug-reports: http://github.com/haskell-servant/servant/issues
license: BSD3
license-file: LICENSE
author: Servant Contributors
maintainer: haskell-servant-maintainers@googlegroups.com
copyright: 2015-2016 Servant Contributors
category: Servant, Web
copyright: 2015-2018 Servant Contributors
build-type: Simple
cabal-version: >=1.10
tested-with:
GHC ==8.0.2
|| ==8.2.2
|| ==8.4.4
|| ==8.6.2
extra-source-files:
CHANGELOG.md
README.md
bug-reports: http://github.com/haskell-servant/servant/issues
tested-with:
GHC==8.0.2
GHC==8.2.2
GHC==8.4.4
GHC==8.6.2
source-repository head
type: git

View File

@ -1,3 +0,0 @@
dependencies:
- name: servant
path: ../servant

View File

@ -1,16 +1,4 @@
0.10
0.15
----
* `EncodeOpts` and `DecodeOpts` merged into just `EncodeOpts`.
* Add `TabSeparatedOpts` for `text/tab-separated-values`.
0.9
---
* Refactorerd `CSV`' type.
0.8
---
* Removed DefaultEncodeOpts and DefaultDecodeOpts in favor of a single
(new) DefaultOpts
- First release with support for `servant-0.15` `Stream` refactoring.

View File

@ -1,23 +1,30 @@
cabal-version: >=1.10
name: servant-machines
version: 1
version: 0.15
synopsis: Servant Stream support for machines
category: Servant, Web, Enumerator
description: Servant Stream support for machines.
.
Provides 'ToSourceIO' and 'FromSourceIO' instances for 'MachineT'.
homepage: http://haskell-servant.readthedocs.org/
bug-reports: http://github.com/haskell-servant/servant/issues
license: BSD3
license-file: LICENSE
author: Servant Contributors
maintainer: haskell-servant-maintainers@googlegroups.com
copyright: 2018 Servant Contributors
category: Web, Servant, Enumerator
build-type: Simple
cabal-version: >=1.10
bug-reports: http://github.com/haskell-servant/servant-machines/issues
tested-with:
GHC ==8.0.2
|| ==8.2.2
|| ==8.4.4
|| ==8.6.2
extra-source-files:
CHANGELOG.md
source-repository head
type: git
location: http://github.com/haskell-servant/servant-machines.git

View File

@ -5,9 +5,7 @@
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}
-- | TBW
--
-- This module exports 'ToSourceIO' and 'FromSourceIO' instances.
-- | This module exports 'ToSourceIO' and 'FromSourceIO' for 'MachineT' instances.
module Servant.Machines (
MachineToSourceIO (..),
) where

View File

@ -1,16 +1,4 @@
0.10
0.15
----
* `EncodeOpts` and `DecodeOpts` merged into just `EncodeOpts`.
* Add `TabSeparatedOpts` for `text/tab-separated-values`.
0.9
---
* Refactorerd `CSV`' type.
0.8
---
* Removed DefaultEncodeOpts and DefaultDecodeOpts in favor of a single
(new) DefaultOpts
- First release with support for `servant-0.15` `Stream` refactoring.

View File

@ -1,23 +1,30 @@
name: servant-pipes
version: 1
version: 0.15
cabal-version: >=1.10
synopsis: Servant Stream support for pipes
category: Servant, Web, Pipes
description: Servant Stream support for pipes.
.
Provides 'ToSourceIO' and 'FromSourceIO' instances for 'Proxy' and 'SafeT'.
homepage: http://haskell-servant.readthedocs.org/
bug-reports: http://github.com/haskell-servant/servant/issues
license: BSD3
license-file: LICENSE
author: Servant Contributors
maintainer: haskell-servant-maintainers@googlegroups.com
copyright: 2018 Servant Contributors
category: Web, Servant, Pipes
build-type: Simple
cabal-version: >=1.10
bug-reports: http://github.com/haskell-servant/servant-pipes/issues
tested-with:
GHC ==8.0.2
|| ==8.2.2
|| ==8.4.4
|| ==8.6.2
extra-source-files:
CHANGELOG.md
source-repository head
type: git
location: http://github.com/haskell-servant/servant-pipes.git

View File

@ -6,9 +6,7 @@
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}
-- | TBW
--
-- This module exports 'ToSourceIO' and 'FromSourceIO' instances.
-- | This module exports 'ToSourceIO' and 'FromSourceIO' for 'Proxy' and 'SafeT' instances.
module Servant.Pipes (
PipesToSourceIO (..),
) where

View File

@ -1,6 +1,56 @@
[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-server/CHANGELOG.md)
[Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
0.15
----
- Streaming refactoring.
[#991](https://github.com/haskell-servant/servant/pull/991)
[#1076](https://github.com/haskell-servant/servant/pull/1076)
[#1077](https://github.com/haskell-servant/servant/pull/1077)
The streaming functionality (`Servant.API.Stream`) is refactored to use
`servant`'s own `SourceIO` type (see `Servant.Types.SourceT` documentation),
which replaces both `StreamGenerator` and `ResultStream` types.
New conversion type-classes are `ToSourceIO` and `FromSourceIO`
(replacing `ToStreamGenerator` and `BuildFromStream`).
There are instances for *conduit*, *pipes* and *machines* in new packages:
[servant-conduit](https://hackage.haskell.org/package/servant-conduit)
[servant-pipes](https://hackage.haskell.org/package/servant-pipes) and
[servant-machines](https://hackage.haskell.org/package/servant-machines)
respectively.
Writing new framing strategies is simpler. Check existing strategies for examples.
This change shouldn't affect you, if you don't use streaming endpoints.
- Drop support for GHC older than 8.0
[#1008](https://github.com/haskell-servant/servant/pull/1008)
[#1009](https://github.com/haskell-servant/servant/pull/1009)
- *servant* NewlineFraming encodes newline after each element (i.e last)
[#1079](https://github.com/haskell-servant/servant/pull/1079)
[#1011](https://github.com/haskell-servant/servant/issues/1011)
- *servant* Add `lookupResponseHeader :: ... => Headers headers r -> ResponseHeader h a`
[#1064](https://github.com/haskell-servant/servant/pull/1064)
- *servant-server* Add `MonadMask Handler`
[#1068](https://github.com/haskell-servant/servant/pull/1068)
- *servant* Export `GetHeaders'`
[#1052](https://github.com/haskell-servant/servant/pull/1052)
- *servant* Add `Bitraversable` and other `Bi-` instances for `:<|>`
[#1032](https://github.com/haskell-servant/servant/pull/1032)
- *servant* Add `PutCreated` method type alias
[#1024](https://github.com/haskell-servant/servant/pull/1024)
- *servant* Add `ToSourceIO (NonEmpty a)` instance
[#988](https://github.com/haskell-servant/servant/pull/988)
0.14.1
------

View File

@ -1,4 +1,4 @@
Copyright (c) 2014-2016, Zalora South East Asia Pte Ltd, Servant Contributors
Copyright (c) 2014-2016, Zalora South East Asia Pte Ltd, 2016-2018 Servant Contributors
All rights reserved.

View File

@ -1,6 +1,9 @@
cabal-version: >=1.10
name: servant-server
version: 0.15
synopsis: A family of combinators for defining webservices APIs and serving them
category: Servant, Web
description:
A family of combinators for defining webservices APIs and serving them
.
@ -11,21 +14,21 @@ description:
a webserver that serves this API, using this package.
.
<https://github.com/haskell-servant/servant/blob/master/servant-server/CHANGELOG.md CHANGELOG>
homepage: http://haskell-servant.readthedocs.org/
Bug-reports: http://github.com/haskell-servant/servant/issues
bug-reports: http://github.com/haskell-servant/servant/issues
license: BSD3
license-file: LICENSE
author: Servant Contributors
maintainer: haskell-servant-maintainers@googlegroups.com
copyright: 2014-2016 Zalora South East Asia Pte Ltd, Servant Contributors
category: Servant, Web
copyright: 2014-2016 Zalora South East Asia Pte Ltd, 2016-2018 Servant Contributors
build-type: Custom
cabal-version: >=1.10
tested-with:
GHC==8.0.2
GHC==8.2.2
GHC==8.4.4
GHC==8.6.2
GHC ==8.0.2
|| ==8.2.2
|| ==8.4.4
|| ==8.6.2
extra-source-files:
CHANGELOG.md
README.md
@ -62,17 +65,19 @@ library
-- Bundled with GHC: Lower bound to not force re-installs
-- text and mtl are bundled starting with GHC-8.4
build-depends:
base >= 4.9 && < 4.13
, bytestring >= 0.10.8.1 && < 0.11
, containers >= 0.5.7.1 && < 0.7
, mtl >= 2.2.2 && < 2.3
, text >= 1.2.3.0 && < 1.3
, transformers >= 0.5.2.0 && < 0.6
, filepath >= 1.4.1.1 && < 1.5
base >= 4.9 && < 4.13
, bytestring >= 0.10.8.1 && < 0.11
, containers >= 0.5.7.1 && < 0.7
, mtl >= 2.2.2 && < 2.3
, text >= 1.2.3.0 && < 1.3
, transformers >= 0.5.2.0 && < 0.6
, filepath >= 1.4.1.1 && < 1.5
-- Servant dependencies
-- strict dependency as we re-export 'servant' things.
build-depends:
servant >= 0.15 && < 0.16
servant >= 0.15 && < 0.15.1
, http-api-data >= 0.4 && < 0.4.1
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
-- Here can be exceptions if we really need features from the newer versions.
@ -80,7 +85,6 @@ library
base-compat >= 0.10.5 && < 0.11
, base64-bytestring >= 1.0.0.1 && < 1.1
, exceptions >= 0.10.0 && < 0.11
, http-api-data >= 0.3.10 && < 0.4
, http-media >= 0.7.1.3 && < 0.8
, http-types >= 0.12.2 && < 0.13
, network-uri >= 2.6.1.0 && < 2.7

View File

@ -1,3 +0,0 @@
dependencies:
- name: servant
path: ../servant

View File

@ -11,7 +11,7 @@
[#1077](https://github.com/haskell-servant/servant/pull/1077)
The streaming functionality (`Servant.API.Stream`) is refactored to use
`servant` own `SourceIO` type (see `Servant.Types.SourceT` documentation),
`servant`'s own `SourceIO` type (see `Servant.Types.SourceT` documentation),
which replaces both `StreamGenerator` and `ResultStream` types.
New conversion type-classes are `ToSourceIO` and `FromSourceIO`
@ -58,32 +58,45 @@
This change shouldn't affect you, if you don't use streaming endpoints.
- *servant-client-core* Related to the previous:
`streamingResponse` is removed from `RunClient`.
We have a new type-class:
```haskell
class RunClient m => RunStreamingClient m where
withStreamingRequest :: Request -> (StreamingResponse -> IO a) -> m a
```
- Drop support for GHC older than 8.0
[#1008](https://github.com/haskell-servant/servant/pull/1008)
[#1009](https://github.com/haskell-servant/servant/pull/1009)
- `ComprehensiveAPI` is a part of public API in `Servant.Test.ComprehensiveAPI`` module.
- *servant* `ComprehensiveAPI` is a part of public API in `Servant.Test.ComprehensiveAPI` module.
This API type is used to verify that libraries implement all core combinators.
Now we won't change this type between major versions.
(This has been true for some time already).
[#1070](https://github.com/haskell-servant/servant/pull/1070)
- Remove `Servant.Utils.Enter` module
- *servant* Remove `Servant.Utils.Enter` module
(deprecated in `servant-0.12` in favour of `hoistServer`)
[#996](https://github.com/haskell-servant/servant/pull/996)
- *servant-foreign* Add support so `HasForeign` can be implemented for
`MultipartForm` from [`servant-multipart`](http://hackage.haskell.org/package/servant-multipart)
[#1035](https://github.com/haskell-servant/servant/pull/1035)
### Other changes
- *servant-client-core* Add `NFData (GenResponse a)` and `NFData ServantError` instances.
[#1076](https://github.com/haskell-servant/servant/pull/1076)
- *servant* NewlineFraming encodes newline after each element (i.e last)
[#1079](https://github.com/haskell-servant/servant/pull/1079)
[#1011](https://github.com/haskell-servant/servant/issues/1011)
- *servant* Add `lookupResponseHeader :: ... => Headers headers r -> ResponseHeader h a`
[#1064](https://github.com/haskell-servant/servant/pull/1064)
- *servant-foreign* Add support so `HasForeign` can be implemented for
`MultipartForm` from [`servant-multipart`](http://hackage.haskell.org/package/servant-multipart)
[#1035](https://github.com/haskell-servant/servant/pull/1035)
- *servant-server* Add `MonadMask Handler`
[#1068](https://github.com/haskell-servant/servant/pull/1068)
@ -102,7 +115,7 @@
- *servant-client-core* Add `aeson` and `Lift BaseUrl` instances
[#1037](https://github.com/haskell-servant/servant/pull/1037)
- Add `ToSourceIO (NonEmpty a)` instance
- *servant* Add `ToSourceIO (NonEmpty a)` instance
[#988](https://github.com/haskell-servant/servant/pull/988)
- Development process improvements

View File

@ -1,4 +1,4 @@
Copyright (c) 2014-2016, Zalora South East Asia Pte Ltd, Servant Contributors
Copyright (c) 2014-2016, Zalora South East Asia Pte Ltd, 2016-2018 Servant Contributors
All rights reserved.

View File

@ -21,10 +21,10 @@ copyright: 2014-2016 Zalora South East Asia Pte Ltd, 2016-2018 Servant
build-type: Custom
tested-with:
GHC==8.0.2
GHC==8.2.2
GHC==8.4.4
GHC==8.6.2
GHC ==8.0.2
|| ==8.2.2
|| ==8.4.4
|| ==8.6.2
extra-source-files:
CHANGELOG.md
@ -88,11 +88,18 @@ library
--
-- note: mtl lower bound is so low because of GHC-7.8
build-depends:
base >= 4.9 && < 4.13
, bytestring >= 0.10.8.1 && < 0.11
, mtl >= 2.2.2 && < 2.3
, transformers >= 0.5.2.0 && < 0.6
, text >= 1.2.3.0 && < 1.3
base >= 4.9 && < 4.13
, bytestring >= 0.10.8.1 && < 0.11
, mtl >= 2.2.2 && < 2.3
, transformers >= 0.5.2.0 && < 0.6
, text >= 1.2.3.0 && < 1.3
-- We depend (heavily) on the API of these packages:
-- i.e. re-export, or allow using without direct dependency
build-depends:
http-api-data >= 0.4 && < 0.4.1
, singleton-bool >= 0.1.4 && < 0.1.5
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
-- Here can be exceptions if we really need features from the newer versions.
@ -102,13 +109,11 @@ library
, attoparsec >= 0.13.2.2 && < 0.14
, bifunctors >= 5.5.3 && < 5.6
, case-insensitive >= 1.2.0.11 && < 1.3
, http-api-data >= 0.3.10 && < 0.4
, http-media >= 0.7.1.3 && < 0.8
, http-types >= 0.12.2 && < 0.13
, mmorph >= 1.1.2 && < 1.2
, network-uri >= 2.6.1.0 && < 2.7
, QuickCheck >= 2.12.6.1 && <2.13
, singleton-bool >= 0.1.4 && < 0.2
, string-conversions >= 0.4.0.1 && < 0.5
, tagged >= 0.8.6 && < 0.9
, vault >= 0.3.1.2 && < 0.4

View File

@ -22,7 +22,7 @@ extra-deps:
- hspec-2.6.0
- hspec-core-2.6.0
- hspec-discover-2.6.0
- http-api-data-0.3.10
- http-api-data-0.4
- http-media-0.7.1.3
- network-2.8.0.0
- pipes-safe-2.3.1