git.iko.soy/typeable/servant
on master help sign in
Merge pull request #1184 from haskell-servant/backport-bouns

Backport bouns

commit6d8a7d6b9006eca115a6f95471d2a57860fa493a authorOleg Grenrus <oleg.grenrus@iki.fi> dateTue 28 May 2019, 17:57 (7 years ago) parent24778da9142c73
30 files changed+124−73
.travis.yml+44−33 cabal.project+12−1 doc/cookbook/basic-auth/basic-auth.cabal+1−1 doc/cookbook/basic-streaming/basic-streaming.cabal+1−1 doc/cookbook/curl-mock/curl-mock.cabal+1−1 doc/cookbook/db-postgres-pool/db-postgres-pool.cabal+1−1 doc/cookbook/db-sqlite-simple/db-sqlite-simple.cabal+1−1 doc/cookbook/file-upload/file-upload.cabal+1−1 doc/cookbook/generic/generic.cabal+1−1 doc/cookbook/hoist-server-with-context/hoist-server-with-context.cabal+1−1 doc/cookbook/https/https.cabal+1−1 doc/cookbook/jwt-and-basic-auth/jwt-and-basic-auth.cabal+1−1 doc/cookbook/pagination/pagination.cabal+1−1 doc/cookbook/sentry/sentry.cabal+1−1 doc/cookbook/structuring-apis/structuring-apis.cabal+1−1 doc/cookbook/testing/testing.cabal+1−1 doc/cookbook/using-custom-monad/using-custom-monad.cabal+1−1 doc/cookbook/using-free-client/using-free-client.cabal+1−1 doc/tutorial/tutorial.cabal+1−1 servant-client-core/servant-client-core.cabal+1−1 servant-client/servant-client.cabal+2−2 servant-conduit/servant-conduit.cabal+1−1 servant-docs/servant-docs.cabal+2−2 servant-foreign/servant-foreign.cabal+1−1 servant-http-streams/servant-http-streams.cabal+2−2 servant-machines/servant-machines.cabal+3−3 servant-pipes/servant-pipes.cabal+1−1 servant-server/servant-server.cabal+5−6 servant/servant.cabal+3−3 servant/src/Servant/Types/SourceT.hs+30
.travis.yml+44−33
@@ -4,7 +4,7 @@
44#
55# For more information, see https://github.com/haskell-CI/haskell-ci
66#
7−# version: 0.3.20190413
7+# version: 0.3.20190521
88#
99language: c
1010dist: xenial
@@ -30,8 +30,8 @@ before_cache:
3030 - rm -rfv $CABALHOME/packages/head.hackage
3131matrix:
3232 include:
33− - compiler: ghc-8.6.4
34− addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.6.4","cabal-install-2.4"]}}
33+ - compiler: ghc-8.6.5
34+ addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.6.5","cabal-install-2.4"]}}
3535 - compiler: ghc-8.4.4
3636 addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.4.4","cabal-install-2.4"]}}
3737 - compiler: ghc-8.2.2
@@ -83,6 +83,7 @@ install:
8383 echo "world-file: $CABALHOME/world" >> $CABALHOME/config
8484 echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config
8585 echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config
86+ echo "installdir: $CABALHOME/bin" >> $CABALHOME/config
8687 echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config
8788 echo "store-dir: $CABALHOME/store" >> $CABALHOME/config
8889 echo "install-dirs user" >> $CABALHOME/config
@@ -110,19 +111,19 @@ install:
110111 echo 'packages: "servant-machines"' >> cabal.project
111112 echo 'packages: "servant-conduit"' >> cabal.project
112113 echo 'packages: "servant-pipes"' >> cabal.project
113− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "doc/cookbook/basic-auth"' >> cabal.project ; fi
114− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "doc/cookbook/curl-mock"' >> cabal.project ; fi
115− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "doc/cookbook/basic-streaming"' >> cabal.project ; fi
116− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "doc/cookbook/db-postgres-pool"' >> cabal.project ; fi
117− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "doc/cookbook/db-sqlite-simple"' >> cabal.project ; fi
118− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "doc/cookbook/file-upload"' >> cabal.project ; fi
119− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "doc/cookbook/generic"' >> cabal.project ; fi
120− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "doc/cookbook/https"' >> cabal.project ; fi
121− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "doc/cookbook/pagination"' >> cabal.project ; fi
122− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "doc/cookbook/testing"' >> cabal.project ; fi
123− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "doc/cookbook/structuring-apis"' >> cabal.project ; fi
124− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "doc/cookbook/using-custom-monad"' >> cabal.project ; fi
125− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "doc/cookbook/using-free-client"' >> cabal.project ; fi
114+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "doc/cookbook/basic-auth"' >> cabal.project ; fi
115+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "doc/cookbook/curl-mock"' >> cabal.project ; fi
116+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "doc/cookbook/basic-streaming"' >> cabal.project ; fi
117+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "doc/cookbook/db-postgres-pool"' >> cabal.project ; fi
118+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "doc/cookbook/db-sqlite-simple"' >> cabal.project ; fi
119+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "doc/cookbook/file-upload"' >> cabal.project ; fi
120+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "doc/cookbook/generic"' >> cabal.project ; fi
121+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "doc/cookbook/https"' >> cabal.project ; fi
122+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "doc/cookbook/pagination"' >> cabal.project ; fi
123+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "doc/cookbook/testing"' >> cabal.project ; fi
124+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "doc/cookbook/structuring-apis"' >> cabal.project ; fi
125+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "doc/cookbook/using-custom-monad"' >> cabal.project ; fi
126+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "doc/cookbook/using-free-client"' >> cabal.project ; fi
126127 - |
127128 echo "constraints: foundation >=0.0.14" >> cabal.project
128129 echo "constraints: memory <0.14.12 || >0.14.12" >> cabal.project
@@ -131,10 +132,15 @@ install:
131132 echo "allow-newer: servant-quickcheck:servant-server" >> cabal.project
132133 echo "allow-newer: servant-quickcheck:hspec" >> cabal.project
133134 echo "allow-newer: servant-quickcheck:http-client" >> cabal.project
134− echo "allow-newer: http-media" >> cabal.project
135+ echo "allow-newer: vault-0.3.1.2:hashable" >> cabal.project
136+ echo "allow-newer: psqueues-0.2.7.1:hashable" >> cabal.project
137+ echo "allow-newer: sqlite-simple-0.4.16.0:semigroups" >> cabal.project
138+ echo "allow-newer: direct-sqlite-2.3.24:semigroups" >> cabal.project
139+ echo "allow-newer: io-streams-1.5.1.0:network" >> cabal.project
140+ echo "allow-newer: openssl-streams-1.2.2.0:network" >> cabal.project
135141 echo "optimization: False" >> cabal.project
136142 echo "write-ghc-environment-files: always" >> cabal.project
137− - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | grep -vE -- '^(cookbook-basic-auth|cookbook-basic-streaming|cookbook-curl-mock|cookbook-db-postgres-pool|cookbook-db-sqlite-simple|cookbook-file-upload|cookbook-generic|cookbook-https|cookbook-pagination|cookbook-structuring-apis|cookbook-testing|cookbook-using-custom-monad|cookbook-using-free-client|servant|servant-client|servant-client-core|servant-conduit|servant-docs|servant-foreign|servant-http-streams|servant-machines|servant-pipes|servant-server|tutorial)$' | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
143+ - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(cookbook-basic-auth|cookbook-basic-streaming|cookbook-curl-mock|cookbook-db-postgres-pool|cookbook-db-sqlite-simple|cookbook-file-upload|cookbook-generic|cookbook-https|cookbook-pagination|cookbook-structuring-apis|cookbook-testing|cookbook-using-custom-monad|cookbook-using-free-client|servant|servant-client|servant-client-core|servant-conduit|servant-docs|servant-foreign|servant-http-streams|servant-machines|servant-pipes|servant-server|tutorial)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
138144 - cat cabal.project || true
139145 - cat cabal.project.local || true
140146 - if [ -f "servant/configure.ac" ]; then (cd "servant" && autoreconf -i); fi
@@ -190,19 +196,19 @@ script:
190196 echo 'packages: "servant-machines-*/*.cabal"' >> cabal.project
191197 echo 'packages: "servant-conduit-*/*.cabal"' >> cabal.project
192198 echo 'packages: "servant-pipes-*/*.cabal"' >> cabal.project
193− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "cookbook-basic-auth-*/*.cabal"' >> cabal.project ; fi
194− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "cookbook-curl-mock-*/*.cabal"' >> cabal.project ; fi
195− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "cookbook-basic-streaming-*/*.cabal"' >> cabal.project ; fi
196− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "cookbook-db-postgres-pool-*/*.cabal"' >> cabal.project ; fi
197− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "cookbook-db-sqlite-simple-*/*.cabal"' >> cabal.project ; fi
198− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "cookbook-file-upload-*/*.cabal"' >> cabal.project ; fi
199− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "cookbook-generic-*/*.cabal"' >> cabal.project ; fi
200− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "cookbook-https-*/*.cabal"' >> cabal.project ; fi
201− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "cookbook-pagination-*/*.cabal"' >> cabal.project ; fi
202− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "cookbook-testing-*/*.cabal"' >> cabal.project ; fi
203− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "cookbook-structuring-apis-*/*.cabal"' >> cabal.project ; fi
204− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "cookbook-using-custom-monad-*/*.cabal"' >> cabal.project ; fi
205− if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80604 ] ; then echo 'packages: "cookbook-using-free-client-*/*.cabal"' >> cabal.project ; fi
199+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "cookbook-basic-auth-*/*.cabal"' >> cabal.project ; fi
200+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "cookbook-curl-mock-*/*.cabal"' >> cabal.project ; fi
201+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "cookbook-basic-streaming-*/*.cabal"' >> cabal.project ; fi
202+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "cookbook-db-postgres-pool-*/*.cabal"' >> cabal.project ; fi
203+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "cookbook-db-sqlite-simple-*/*.cabal"' >> cabal.project ; fi
204+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "cookbook-file-upload-*/*.cabal"' >> cabal.project ; fi
205+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "cookbook-generic-*/*.cabal"' >> cabal.project ; fi
206+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "cookbook-https-*/*.cabal"' >> cabal.project ; fi
207+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "cookbook-pagination-*/*.cabal"' >> cabal.project ; fi
208+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "cookbook-testing-*/*.cabal"' >> cabal.project ; fi
209+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "cookbook-structuring-apis-*/*.cabal"' >> cabal.project ; fi
210+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "cookbook-using-custom-monad-*/*.cabal"' >> cabal.project ; fi
211+ if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "cookbook-using-free-client-*/*.cabal"' >> cabal.project ; fi
206212 - |
207213 echo "constraints: foundation >=0.0.14" >> cabal.project
208214 echo "constraints: memory <0.14.12 || >0.14.12" >> cabal.project
@@ -211,10 +217,15 @@ script:
211217 echo "allow-newer: servant-quickcheck:servant-server" >> cabal.project
212218 echo "allow-newer: servant-quickcheck:hspec" >> cabal.project
213219 echo "allow-newer: servant-quickcheck:http-client" >> cabal.project
214− echo "allow-newer: http-media" >> cabal.project
220+ echo "allow-newer: vault-0.3.1.2:hashable" >> cabal.project
221+ echo "allow-newer: psqueues-0.2.7.1:hashable" >> cabal.project
222+ echo "allow-newer: sqlite-simple-0.4.16.0:semigroups" >> cabal.project
223+ echo "allow-newer: direct-sqlite-2.3.24:semigroups" >> cabal.project
224+ echo "allow-newer: io-streams-1.5.1.0:network" >> cabal.project
225+ echo "allow-newer: openssl-streams-1.2.2.0:network" >> cabal.project
215226 echo "optimization: False" >> cabal.project
216227 echo "write-ghc-environment-files: always" >> cabal.project
217− - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | grep -vE -- '^(cookbook-basic-auth|cookbook-basic-streaming|cookbook-curl-mock|cookbook-db-postgres-pool|cookbook-db-sqlite-simple|cookbook-file-upload|cookbook-generic|cookbook-https|cookbook-pagination|cookbook-structuring-apis|cookbook-testing|cookbook-using-custom-monad|cookbook-using-free-client|servant|servant-client|servant-client-core|servant-conduit|servant-docs|servant-foreign|servant-http-streams|servant-machines|servant-pipes|servant-server|tutorial)$' | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
228+ - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(cookbook-basic-auth|cookbook-basic-streaming|cookbook-curl-mock|cookbook-db-postgres-pool|cookbook-db-sqlite-simple|cookbook-file-upload|cookbook-generic|cookbook-https|cookbook-pagination|cookbook-structuring-apis|cookbook-testing|cookbook-using-custom-monad|cookbook-using-free-client|servant|servant-client|servant-client-core|servant-conduit|servant-docs|servant-foreign|servant-http-streams|servant-machines|servant-pipes|servant-server|tutorial)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
218229 - cat cabal.project || true
219230 - cat cabal.project.local || true
220231 - echo -en 'travis_fold:end:unpack\\r'
cabal.project+12−1
@@ -52,4 +52,15 @@ allow-newer:
5252 servant-quickcheck:hspec,
5353 servant-quickcheck:http-client
5454
55−allow-newer: http-media
55+-- constraints: semigroups ^>=0.19
56+-- constraints: hashable ^>=1.3
57+-- constraints: network ^>=3.1
58+-- constraints: machines ^>=0.7
59+-- constraints: http-media ^>=0.8
60+
61+allow-newer: vault-0.3.1.2:hashable
62+allow-newer: psqueues-0.2.7.1:hashable
63+allow-newer: sqlite-simple-0.4.16.0:semigroups
64+allow-newer: direct-sqlite-2.3.24:semigroups
65+allow-newer: io-streams-1.5.1.0:network
66+allow-newer: openssl-streams-1.2.2.0:network
doc/cookbook/basic-auth/basic-auth.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==8.4.4, GHC==8.6.4
11+tested-with: GHC==8.4.4, GHC==8.6.5
1212
1313executable cookbook-basic-auth
1414 main-is: BasicAuth.lhs
doc/cookbook/basic-streaming/basic-streaming.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==8.4.4, GHC==8.6.4
11+tested-with: GHC==8.4.4, GHC==8.6.5
1212
1313executable cookbook-basic-streaming
1414 main-is: Streaming.lhs
doc/cookbook/curl-mock/curl-mock.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==8.4.4, GHC==8.6.4
11+tested-with: GHC==8.4.4, GHC==8.6.5
1212
1313executable cookbock-curl-mock
1414 main-is: CurlMock.lhs
doc/cookbook/db-postgres-pool/db-postgres-pool.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==8.4.4, GHC==8.6.4
11+tested-with: GHC==8.4.4, GHC==8.6.5
1212
1313executable cookbook-db-postgres-pool
1414 main-is: PostgresPool.lhs
doc/cookbook/db-sqlite-simple/db-sqlite-simple.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==8.4.4, GHC==8.6.4
11+tested-with: GHC==8.4.4, GHC==8.6.5
1212
1313executable cookbook-db-sqlite-simple
1414 main-is: DBConnection.lhs
doc/cookbook/file-upload/file-upload.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==8.4.4, GHC==8.6.4
11+tested-with: GHC==8.4.4, GHC==8.6.5
1212
1313executable cookbook-file-upload
1414 main-is: FileUpload.lhs
doc/cookbook/generic/generic.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==8.4.4, GHC==8.6.4
11+tested-with: GHC==8.4.4, GHC==8.6.5
1212
1313executable cookbook-using-custom-monad
1414 main-is: Generic.lhs
doc/cookbook/hoist-server-with-context/hoist-server-with-context.cabal+1−1
@@ -11,7 +11,7 @@ maintainer: haskell-servant-maintainers@googlegroups.com
1111category: Servant
1212build-type: Simple
1313cabal-version: >=1.10
14−tested-with: GHC==8.4.4, GHC==8.6.4
14+tested-with: GHC==8.4.4, GHC==8.6.5
1515
1616executable cookbook-hoist-server-with-context
1717 main-is: HoistServerWithContext.lhs
doc/cookbook/https/https.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==8.4.4, GHC==8.6.4
11+tested-with: GHC==8.4.4, GHC==8.6.5
1212
1313executable cookbook-https
1414 main-is: Https.lhs
doc/cookbook/jwt-and-basic-auth/jwt-and-basic-auth.cabal+1−1
@@ -11,7 +11,7 @@ maintainer: haskell-servant-maintainers@googlegroups.com
1111category: Servant
1212build-type: Simple
1313cabal-version: >=1.10
14−tested-with: GHC==8.4.4, GHC==8.6.4
14+tested-with: GHC==8.4.4, GHC==8.6.5
1515
1616executable cookbook-jwt-and-basic-auth
1717 main-is: JWTAndBasicAuth.lhs
doc/cookbook/pagination/pagination.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==8.4.4, GHC==8.6.4
11+tested-with: GHC==8.4.4, GHC==8.6.5
1212
1313executable cookbook-pagination
1414 main-is: Pagination.lhs
doc/cookbook/sentry/sentry.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==8.4.4, GHC==8.6.4
11+tested-with: GHC==8.4.4, GHC==8.6.5
1212
1313executable cookbook-sentry
1414 main-is: Sentry.lhs
doc/cookbook/structuring-apis/structuring-apis.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==8.4.4, GHC==8.6.4
11+tested-with: GHC==8.4.4, GHC==8.6.5
1212
1313executable cookbook-structuring-apis
1414 main-is: StructuringApis.lhs
doc/cookbook/testing/testing.cabal+1−1
@@ -10,7 +10,7 @@ maintainer: haskell-servant-maintainers@googlegroups.com
1010category: Servant
1111build-type: Simple
1212cabal-version: >=1.10
13−tested-with: GHC==8.4.4, GHC==8.6.4
13+tested-with: GHC==8.4.4, GHC==8.6.5
1414
1515executable cookbook-testing
1616 main-is: Testing.lhs
doc/cookbook/using-custom-monad/using-custom-monad.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==8.4.4, GHC==8.6.4
11+tested-with: GHC==8.4.4, GHC==8.6.5
1212
1313executable cookbook-using-custom-monad
1414 main-is: UsingCustomMonad.lhs
doc/cookbook/using-free-client/using-free-client.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==8.4.4, GHC==8.6.4
11+tested-with: GHC==8.4.4, GHC==8.6.5
1212
1313executable cookbook-using-free-client
1414 main-is: UsingFreeClient.lhs
doc/tutorial/tutorial.cabal+1−1
@@ -16,7 +16,7 @@ tested-with:
1616 GHC==8.0.2
1717 GHC==8.2.2
1818 GHC==8.4.4
19− GHC==8.6.4
19+ GHC==8.6.5
2020extra-source-files:
2121 static/index.html
2222 static/ui.js
servant-client-core/servant-client-core.cabal+1−1
@@ -21,7 +21,7 @@ tested-with:
2121 GHC ==8.0.2
2222 || ==8.2.2
2323 || ==8.4.4
24− || ==8.6.4
24+ || ==8.6.5
2525
2626extra-source-files:
2727 CHANGELOG.md
servant-client/servant-client.cabal+2−2
@@ -25,7 +25,7 @@ tested-with:
2525 GHC ==8.0.2
2626 || ==8.2.2
2727 || ==8.4.4
28− || ==8.6.4
28+ || ==8.6.5
2929
3030extra-source-files:
3131 CHANGELOG.md
@@ -118,7 +118,7 @@ test-suite spec
118118 entropy >= 0.4.1.3 && < 0.5
119119 , hspec >= 2.6.0 && < 2.8
120120 , HUnit >= 1.6.0.0 && < 1.7
121− , network >= 2.8.0.0 && < 3.1
121+ , network >= 2.8.0.0 && < 3.2
122122 , QuickCheck >= 2.12.6.1 && < 2.14
123123 , servant == 0.16.*
124124 , servant-server == 0.16.*
servant-conduit/servant-conduit.cabal+1−1
@@ -21,7 +21,7 @@ tested-with:
2121 GHC ==8.0.2
2222 || ==8.2.2
2323 || ==8.4.4
24− || ==8.6.4
24+ || ==8.6.5
2525
2626extra-source-files:
2727 CHANGELOG.md
servant-docs/servant-docs.cabal+2−2
@@ -24,7 +24,7 @@ tested-with:
2424 GHC ==8.0.2
2525 || ==8.2.2
2626 || ==8.4.4
27− || ==8.6.4
27+ || ==8.6.5
2828
2929extra-source-files:
3030 CHANGELOG.md
@@ -62,7 +62,7 @@ library
6262 , base-compat >= 0.10.5 && < 0.11
6363 , case-insensitive >= 1.2.0.11 && < 1.3
6464 , control-monad-omega >= 0.3.1 && < 0.4
65− , hashable >= 1.2.7.0 && < 1.3
65+ , hashable >= 1.2.7.0 && < 1.4
6666 , http-media >= 0.7.1.3 && < 0.9
6767 , http-types >= 0.12.2 && < 0.13
6868 , lens >= 4.17 && < 4.18
servant-foreign/servant-foreign.cabal+1−1
@@ -26,7 +26,7 @@ tested-with:
2626 GHC ==8.0.2
2727 || ==8.2.2
2828 || ==8.4.4
29− || ==8.6.4
29+ || ==8.6.5
3030
3131extra-source-files:
3232 CHANGELOG.md
servant-http-streams/servant-http-streams.cabal+2−2
@@ -25,7 +25,7 @@ tested-with:
2525 GHC ==8.0.2
2626 || ==8.2.2
2727 || ==8.4.4
28− || ==8.6.4
28+ || ==8.6.5
2929
3030extra-source-files:
3131 CHANGELOG.md
@@ -119,7 +119,7 @@ test-suite spec
119119 entropy >= 0.4.1.3 && < 0.5
120120 , hspec >= 2.6.0 && < 2.8
121121 , HUnit >= 1.6.0.0 && < 1.7
122− , network >= 2.8.0.0 && < 3.1
122+ , network >= 2.8.0.0 && < 3.2
123123 , QuickCheck >= 2.12.6.1 && < 2.14
124124 , servant == 0.16.*
125125 , servant-server == 0.16.*
servant-machines/servant-machines.cabal+3−3
@@ -1,7 +1,7 @@
11cabal-version: >=1.10
22name: servant-machines
33version: 0.15
4−x-revision: 1
4+x-revision: 2
55
66synopsis: Servant Stream support for machines
77category: Servant, Web, Enumerator
@@ -21,7 +21,7 @@ tested-with:
2121 GHC ==8.0.2
2222 || ==8.2.2
2323 || ==8.4.4
24− || ==8.6.4
24+ || ==8.6.5
2525
2626extra-source-files:
2727 CHANGELOG.md
@@ -35,7 +35,7 @@ library
3535 build-depends:
3636 base >=4.9 && <5
3737 , bytestring >=0.10.8.1 && <0.11
38− , machines >=0.6.4 && <0.7
38+ , machines >=0.6.4 && <0.8
3939 , mtl >=2.2.2 && <2.3
4040 , servant >=0.15 && <0.17
4141 hs-source-dirs: src
servant-pipes/servant-pipes.cabal+1−1
@@ -21,7 +21,7 @@ tested-with:
2121 GHC ==8.0.2
2222 || ==8.2.2
2323 || ==8.4.4
24− || ==8.6.4
24+ || ==8.6.5
2525
2626extra-source-files:
2727 CHANGELOG.md
servant-server/servant-server.cabal+5−6
@@ -1,7 +1,6 @@
11cabal-version: >=1.10
22name: servant-server
3−version: 0.16
4−x-revision: 1
3+version: 0.16.1
54
65synopsis: A family of combinators for defining webservices APIs and serving them
76category: Servant, Web
@@ -28,7 +27,7 @@ tested-with:
2827 GHC ==8.0.2
2928 || ==8.2.2
3029 || ==8.4.4
31− || ==8.6.4
30+ || ==8.6.5
3231
3332extra-source-files:
3433 CHANGELOG.md
@@ -80,8 +79,8 @@ library
8079 -- Servant dependencies
8180 -- strict dependency as we re-export 'servant' things.
8281 build-depends:
83− servant >= 0.16 && < 0.17.1
84− , http-api-data >= 0.4 && < 0.4.1
82+ servant >= 0.16.1 && < 0.16.2
83+ , http-api-data >= 0.4.1 && < 0.4.2
8584
8685 -- Other dependencies: Lower bound around what is in the latest Stackage LTS.
8786 -- Here can be exceptions if we really need features from the newer versions.
@@ -93,7 +92,7 @@ library
9392 , http-types >= 0.12.2 && < 0.13
9493 , network-uri >= 2.6.1.0 && < 2.8
9594 , monad-control >= 1.0.2.3 && < 1.1
96− , network >= 2.8 && < 3.1
95+ , network >= 2.8 && < 3.2
9796 , string-conversions >= 0.4.0.1 && < 0.5
9897 , resourcet >= 1.2.2 && < 1.3
9998 , tagged >= 0.8.6 && < 0.9
servant/servant.cabal+3−3
@@ -1,6 +1,6 @@
11cabal-version: >=1.10
22name: servant
3−version: 0.16.0.1
3+version: 0.16.1
44
55synopsis: A family of combinators for defining webservices APIs
66category: Servant, Web
@@ -24,7 +24,7 @@ tested-with:
2424 GHC ==8.0.2
2525 || ==8.2.2
2626 || ==8.4.4
27− || ==8.6.4
27+ || ==8.6.5
2828
2929extra-source-files:
3030 CHANGELOG.md
@@ -98,7 +98,7 @@ library
9898 -- We depend (heavily) on the API of these packages:
9999 -- i.e. re-export, or allow using without direct dependency
100100 build-depends:
101− http-api-data >= 0.4 && < 0.4.1
101+ http-api-data >= 0.4.1 && < 0.4.2
102102 , singleton-bool >= 0.1.4 && < 0.1.5
103103
104104 -- Other dependencies: Lower bound around what is in the latest Stackage LTS.
servant/src/Servant/Types/SourceT.hs+30
@@ -89,6 +89,20 @@ instance MFunctor SourceT where
8989 hoist f (SourceT m) = SourceT $ \k -> k $
9090 Effect $ f $ fmap (hoist f) $ m return
9191
92+-- | >>> source "xy" <> source "z" :: SourceT Identity Char
93+-- fromStepT (Effect (Identity (Yield 'x' (Yield 'y' (Yield 'z' Stop)))))
94+--
95+instance Functor m => Semigroup (SourceT m a) where
96+ SourceT withL <> SourceT withR = SourceT $ \ret ->
97+ withL $ \l ->
98+ withR $ \r ->
99+ ret $ l <> r
100+
101+-- | >>> mempty :: SourceT Maybe Int
102+-- fromStepT (Effect (Just Stop))
103+instance Functor m => Monoid (SourceT m a) where
104+ mempty = fromStepT mempty
105+
92106-- | Doesn't generate 'Error' constructors. 'SourceT' doesn't shrink.
93107instance (QC.Arbitrary a, Monad m) => QC.Arbitrary (SourceT m a) where
94108 arbitrary = fromStepT <$> QC.arbitrary
@@ -150,6 +164,22 @@ instance MFunctor StepT where
150164 go (Yield x s) = Yield x (go s)
151165 go (Effect ms) = Effect (f (fmap go ms))
152166
167+instance Functor m => Semigroup (StepT m a) where
168+ Stop <> r = r
169+ Error err <> _ = Error err
170+ Skip s <> r = Skip (s <> r)
171+ Yield x s <> r = Yield x (s <> r)
172+ Effect ms <> r = Effect ((<> r) <$> ms)
173+
174+-- | >>> mempty :: StepT [] Int
175+-- Stop
176+--
177+-- >>> mempty :: StepT Identity Int
178+-- Stop
179+--
180+instance Functor m => Monoid (StepT m a) where
181+ mempty = Stop
182+
153183-- | Doesn't generate 'Error' constructors.
154184instance (QC.Arbitrary a, Monad m) => QC.Arbitrary (StepT m a) where
155185 arbitrary = QC.sized arb where