diff --git a/.travis.yml b/.travis.yml index 9435a3b12..125cc9956 100644 --- a/.travis.yml +++ b/.travis.yml @@ -46,6 +46,9 @@ matrix: - compiler: "ghc-8.2.2" # env: TEST=--disable-tests BENCH=--disable-benchmarks addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.2.2], sources: [hvr-ghc]}} + - compiler: "ghc-8.4.1" + # env: TEST=--disable-tests BENCH=--disable-benchmarks + addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.4.1], sources: [hvr-ghc]}} before_install: - HC=${CC} @@ -70,9 +73,9 @@ install: - rm -fv cabal.project cabal.project.local - "if [ $HCNUMVER -ge 70800 ]; then sed -i.bak 's/-- ghc-options:.*/ghc-options: -j2/' ${HOME}/.cabal/config; fi" - 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\" \"doc/cookbook/db-postgres-pool\" \"doc/cookbook/jwt-and-basic-auth\" \"doc/cookbook/db-sqlite-simple\" \"doc/cookbook/basic-auth\" \"doc/cookbook/https\" \"doc/cookbook/structuring-apis\" \"doc/cookbook/using-custom-monad\" \"doc/cookbook/file-upload\"\\n' > cabal.project" + - "printf 'packages: \"servant\" \"servant-client\" \"servant-client-core\" \"servant-docs\" \"servant-foreign\" \"servant-server\" \"doc/tutorial\" \"doc/cookbook/https\" \"doc/cookbook/structuring-apis\" \"doc/cookbook/using-custom-monad\" \"doc/cookbook/file-upload\"\\n' > cabal.project" - "echo 'constraints: foundation >=0.0.14,memory <0.14.12 || >0.14.12' >> cabal.project" - - "echo 'allow-newer: servant-js:servant,servant-js:servant-foreign,servant-auth-server:http-types,servant-multipart:lens,servant-multipart:resourcet,servant-multipart:servant,servant-multipart:servant-server,servant-auth-server:servant-server' >> cabal.project" + - "echo 'allow-newer: servant-js:servant,servant-js:servant-foreign,servant-auth-server:http-types,servant-multipart:lens,servant-multipart:resourcet,servant-multipart:servant,servant-multipart:servant-server,servant-auth-server:servant-server, http-media:base' >> cabal.project" - cat cabal.project - if [ -f "servant/configure.ac" ]; then (cd "servant" && autoreconf -i); @@ -95,18 +98,6 @@ install: - if [ -f "doc/tutorial/configure.ac" ]; then (cd "doc/tutorial" && autoreconf -i); fi - - if [ -f "doc/cookbook/db-postgres-pool/configure.ac" ]; then - (cd "doc/cookbook/db-postgres-pool" && autoreconf -i); - fi - - if [ -f "doc/cookbook/jwt-and-basic-auth/configure.ac" ]; then - (cd "doc/cookbook/jwt-and-basic-auth" && autoreconf -i); - fi - - if [ -f "doc/cookbook/db-sqlite-simple/configure.ac" ]; then - (cd "doc/cookbook/db-sqlite-simple" && autoreconf -i); - fi - - if [ -f "doc/cookbook/basic-auth/configure.ac" ]; then - (cd "doc/cookbook/basic-auth" && autoreconf -i); - fi - if [ -f "doc/cookbook/https/configure.ac" ]; then (cd "doc/cookbook/https" && autoreconf -i); fi @@ -120,7 +111,7 @@ install: (cd "doc/cookbook/file-upload" && autoreconf -i); fi - rm -f cabal.project.freeze - - rm -rf "servant"/.ghc.environment.* "servant-client"/.ghc.environment.* "servant-client-core"/.ghc.environment.* "servant-docs"/.ghc.environment.* "servant-foreign"/.ghc.environment.* "servant-server"/.ghc.environment.* "doc/tutorial"/.ghc.environment.* "doc/cookbook/db-postgres-pool"/.ghc.environment.* "doc/cookbook/jwt-and-basic-auth"/.ghc.environment.* "doc/cookbook/db-sqlite-simple"/.ghc.environment.* "doc/cookbook/basic-auth"/.ghc.environment.* "doc/cookbook/https"/.ghc.environment.* "doc/cookbook/structuring-apis"/.ghc.environment.* "doc/cookbook/using-custom-monad"/.ghc.environment.* "doc/cookbook/file-upload"/.ghc.environment.* "servant"/dist "servant-client"/dist "servant-client-core"/dist "servant-docs"/dist "servant-foreign"/dist "servant-server"/dist "doc/tutorial"/dist "doc/cookbook/db-postgres-pool"/dist "doc/cookbook/jwt-and-basic-auth"/dist "doc/cookbook/db-sqlite-simple"/dist "doc/cookbook/basic-auth"/dist "doc/cookbook/https"/dist "doc/cookbook/structuring-apis"/dist "doc/cookbook/using-custom-monad"/dist "doc/cookbook/file-upload"/dist + - rm -rf .ghc.environment.* "servant"/dist "servant-client"/dist "servant-client-core"/dist "servant-docs"/dist "servant-foreign"/dist "servant-server"/dist "doc/tutorial"/dist "doc/cookbook/https"/dist "doc/cookbook/structuring-apis"/dist "doc/cookbook/using-custom-monad"/dist "doc/cookbook/file-upload"/dist - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX) # Here starts the actual work to be performed for the package under test; @@ -135,22 +126,18 @@ script: - (cd "servant-foreign" && cabal sdist) - (cd "servant-server" && cabal sdist) - (cd "doc/tutorial" && cabal sdist) - - (cd "doc/cookbook/db-postgres-pool" && cabal sdist) - - (cd "doc/cookbook/jwt-and-basic-auth" && cabal sdist) - - (cd "doc/cookbook/db-sqlite-simple" && cabal sdist) - - (cd "doc/cookbook/basic-auth" && cabal sdist) - (cd "doc/cookbook/https" && cabal sdist) - (cd "doc/cookbook/structuring-apis" && cabal sdist) - (cd "doc/cookbook/using-custom-monad" && cabal sdist) - (cd "doc/cookbook/file-upload" && cabal sdist) - echo -en 'travis_fold:end:sdist\\r' - echo Unpacking... && echo -en 'travis_fold:start:unpack\\r' - - mv "servant"/dist/servant-*.tar.gz "servant-client"/dist/servant-client-*.tar.gz "servant-client-core"/dist/servant-client-core-*.tar.gz "servant-docs"/dist/servant-docs-*.tar.gz "servant-foreign"/dist/servant-foreign-*.tar.gz "servant-server"/dist/servant-server-*.tar.gz "doc/tutorial"/dist/tutorial-*.tar.gz "doc/cookbook/db-postgres-pool"/dist/cookbook-db-postgres-pool-*.tar.gz "doc/cookbook/jwt-and-basic-auth"/dist/cookbook-jwt-and-basic-auth-*.tar.gz "doc/cookbook/db-sqlite-simple"/dist/cookbook-db-sqlite-simple-*.tar.gz "doc/cookbook/basic-auth"/dist/cookbook-basic-auth-*.tar.gz "doc/cookbook/https"/dist/cookbook-https-*.tar.gz "doc/cookbook/structuring-apis"/dist/cookbook-structuring-apis-*.tar.gz "doc/cookbook/using-custom-monad"/dist/cookbook-using-custom-monad-*.tar.gz "doc/cookbook/file-upload"/dist/cookbook-file-upload-*.tar.gz ${DISTDIR}/ + - mv "servant"/dist/servant-*.tar.gz "servant-client"/dist/servant-client-*.tar.gz "servant-client-core"/dist/servant-client-core-*.tar.gz "servant-docs"/dist/servant-docs-*.tar.gz "servant-foreign"/dist/servant-foreign-*.tar.gz "servant-server"/dist/servant-server-*.tar.gz "doc/tutorial"/dist/tutorial-*.tar.gz "doc/cookbook/https"/dist/cookbook-https-*.tar.gz "doc/cookbook/structuring-apis"/dist/cookbook-structuring-apis-*.tar.gz "doc/cookbook/using-custom-monad"/dist/cookbook-using-custom-monad-*.tar.gz "doc/cookbook/file-upload"/dist/cookbook-file-upload-*.tar.gz ${DISTDIR}/ - cd ${DISTDIR} || false - 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 cookbook-db-postgres-pool-*/*.cabal cookbook-jwt-and-basic-auth-*/*.cabal cookbook-db-sqlite-simple-*/*.cabal cookbook-basic-auth-*/*.cabal cookbook-https-*/*.cabal cookbook-structuring-apis-*/*.cabal cookbook-using-custom-monad-*/*.cabal cookbook-file-upload-*/*.cabal\\n' > cabal.project" + - "printf 'packages: servant-*/*.cabal servant-client-*/*.cabal servant-client-core-*/*.cabal servant-docs-*/*.cabal servant-foreign-*/*.cabal servant-server-*/*.cabal tutorial-*/*.cabal cookbook-https-*/*.cabal cookbook-structuring-apis-*/*.cabal cookbook-using-custom-monad-*/*.cabal cookbook-file-upload-*/*.cabal\\n' > cabal.project" - "echo 'constraints: foundation >=0.0.14,memory <0.14.12 || >0.14.12' >> cabal.project" - - "echo 'allow-newer: servant-js:servant,servant-js:servant-foreign,servant-auth-server:http-types,servant-multipart:lens,servant-multipart:resourcet,servant-multipart:servant,servant-multipart:servant-server,servant-auth-server:servant-server' >> cabal.project" + - "echo 'allow-newer: servant-js:servant,servant-js:servant-foreign,servant-auth-server:http-types,servant-multipart:lens,servant-multipart:resourcet,servant-multipart:servant,servant-multipart:servant-server,servant-auth-server:servant-server, http-media:base' >> cabal.project" - cat cabal.project - echo -en 'travis_fold:end:unpack\\r' diff --git a/cabal.project b/cabal.project index a1d015591..0dc908019 100644 --- a/cabal.project +++ b/cabal.project @@ -5,7 +5,18 @@ packages: servant/ servant-foreign/ servant-server/ doc/tutorial/ - doc/cookbook/*/*.cabal + + -- doc/cookbook/*/*.cabal + + -- doc/cookbook/db-postgres-pool + -- doc/cookbook/jwt-and-basic-auth + -- doc/cookbook/db-sqlite-simple + -- doc/cookbook/basic-auth + doc/cookbook/https + doc/cookbook/structuring-apis + doc/cookbook/using-custom-monad + doc/cookbook/file-upload + allow-newer: servant-js:servant, @@ -21,3 +32,6 @@ constraints: -- see https://github.com/haskell-infra/hackage-trustees/issues/119 foundation >=0.0.14, memory <0.14.12 || >0.14.12 + +allow-newer: + http-media:base diff --git a/doc/cookbook/file-upload/file-upload.cabal b/doc/cookbook/file-upload/file-upload.cabal index 66b346a4c..77d82712e 100644 --- a/doc/cookbook/file-upload/file-upload.cabal +++ b/doc/cookbook/file-upload/file-upload.cabal @@ -8,7 +8,7 @@ author: Servant Contributors maintainer: haskell-servant-maintainers@googlegroups.com build-type: Simple cabal-version: >=1.10 -tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2 +tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.1 executable cookbook-file-upload main-is: FileUpload.lhs diff --git a/doc/cookbook/https/https.cabal b/doc/cookbook/https/https.cabal index bec9273c6..5a859ef89 100644 --- a/doc/cookbook/https/https.cabal +++ b/doc/cookbook/https/https.cabal @@ -8,7 +8,7 @@ author: Servant Contributors maintainer: haskell-servant-maintainers@googlegroups.com build-type: Simple cabal-version: >=1.10 -tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2 +tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.1 executable cookbook-https main-is: Https.lhs diff --git a/doc/cookbook/structuring-apis/structuring-apis.cabal b/doc/cookbook/structuring-apis/structuring-apis.cabal index b2a9985c6..37e527d5e 100644 --- a/doc/cookbook/structuring-apis/structuring-apis.cabal +++ b/doc/cookbook/structuring-apis/structuring-apis.cabal @@ -8,7 +8,7 @@ author: Servant Contributors maintainer: haskell-servant-maintainers@googlegroups.com build-type: Simple cabal-version: >=1.10 -tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2 +tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.1 executable cookbook-structuring-apis main-is: StructuringApis.lhs diff --git a/doc/cookbook/using-custom-monad/using-custom-monad.cabal b/doc/cookbook/using-custom-monad/using-custom-monad.cabal index 216f1cf6e..df95bf005 100644 --- a/doc/cookbook/using-custom-monad/using-custom-monad.cabal +++ b/doc/cookbook/using-custom-monad/using-custom-monad.cabal @@ -8,7 +8,7 @@ author: Servant Contributors maintainer: haskell-servant-maintainers@googlegroups.com build-type: Simple cabal-version: >=1.10 -tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2 +tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.1 executable cookbook-using-custom-monad main-is: UsingCustomMonad.lhs diff --git a/doc/tutorial/tutorial.cabal b/doc/tutorial/tutorial.cabal index 18f867386..4637541e2 100644 --- a/doc/tutorial/tutorial.cabal +++ b/doc/tutorial/tutorial.cabal @@ -13,10 +13,11 @@ maintainer: haskell-servant-maintainers@googlegroups.com build-type: Simple cabal-version: >=1.10 tested-with: - GHC==7.8.4 - GHC==7.10.3 - GHC==8.0.2 - GHC==8.2.2 + GHC==7.8.4, + GHC==7.10.3, + GHC==8.0.2, + GHC==8.2.2, + GHC==8.4.1 extra-source-files: static/index.html static/ui.js @@ -34,7 +35,7 @@ library -- Packages `servant` depends on. -- We don't need to specify bounds here as this package is never released. build-depends: - base >= 4.7 && <4.11 + base >= 4.7 && <4.12 , aeson , aeson-compat , attoparsec diff --git a/servant-client-core/servant-client-core.cabal b/servant-client-core/servant-client-core.cabal index 5d0ce62f6..864d17868 100644 --- a/servant-client-core/servant-client-core.cabal +++ b/servant-client-core/servant-client-core.cabal @@ -19,10 +19,11 @@ extra-source-files: CHANGELOG.md README.md tested-with: - GHC==7.8.4 - GHC==7.10.3 - GHC==8.0.2 - GHC==8.2.2 + GHC==7.8.4, + GHC==7.10.3, + GHC==8.0.2, + GHC==8.2.2, + GHC==8.4.1 source-repository head type: git @@ -45,7 +46,7 @@ library -- -- note: mtl lower bound is so low because of GHC-7.8 build-depends: - base >= 4.7 && < 4.11 + base >= 4.7 && < 4.12 , bytestring >= 0.10.4.0 && < 0.11 , containers >= 0.5.5.1 && < 0.6 , mtl >= 2.1 && < 2.3 @@ -64,7 +65,7 @@ library build-depends: base-compat >= 0.9.3 && < 0.10 , base64-bytestring >= 1.0.0.1 && < 1.1 - , exceptions >= 0.8.3 && < 0.9 + , exceptions >= 0.8.3 && < 0.11 , generics-sop >= 0.3.1.0 && < 0.4 , http-api-data >= 0.3.7.1 && < 0.4 , http-media >= 0.7.1.1 && < 0.8 @@ -95,8 +96,8 @@ test-suite spec -- Additonal dependencies build-depends: deepseq >= 1.3.0.2 && <1.5 - , hspec >= 2.4.4 && <2.5 + , hspec >= 2.4.4 && <2.6 , QuickCheck >= 2.10.1 && < 2.12 build-tool-depends: - hspec-discover:hspec-discover >= 2.4.4 && <2.5 + hspec-discover:hspec-discover >= 2.4.4 && <2.6 diff --git a/servant-client-ghcjs/servant-client-ghcjs.cabal b/servant-client-ghcjs/servant-client-ghcjs.cabal index 34e242c4d..f65c5aff7 100644 --- a/servant-client-ghcjs/servant-client-ghcjs.cabal +++ b/servant-client-ghcjs/servant-client-ghcjs.cabal @@ -31,11 +31,11 @@ library Servant.Client.Ghcjs Servant.Client.Internal.XhrClient build-depends: - base >= 4.7 && < 4.11 + base >= 4.7 && < 4.12 , bytestring >= 0.10 && < 0.11 , case-insensitive >= 1.2.0.0 && < 1.3.0.0 , containers >= 0.5 && < 0.6 - , exceptions >= 0.8 && < 0.9 + , exceptions >= 0.8 && < 0.11 , ghcjs-base >= 0.2.0.0 && < 0.3.0.0 , ghcjs-prim >= 0.1.0.0 && < 0.2.0.0 , http-media >= 0.6.2 && < 0.8 diff --git a/servant-client/servant-client.cabal b/servant-client/servant-client.cabal index 91e85b996..2922ce87d 100644 --- a/servant-client/servant-client.cabal +++ b/servant-client/servant-client.cabal @@ -17,10 +17,11 @@ category: Servant, Web build-type: Simple cabal-version: >=1.10 tested-with: - GHC==7.8.4 - GHC==7.10.3 - GHC==8.0.2 - GHC==8.2.2 + GHC==7.8.4, + GHC==7.10.3, + GHC==8.0.2, + GHC==8.2.2, + GHC==8.4.1 homepage: http://haskell-servant.readthedocs.org/ Bug-reports: http://github.com/haskell-servant/servant/issues extra-source-files: @@ -41,7 +42,7 @@ library -- -- note: mtl lower bound is so low because of GHC-7.8 build-depends: - base >= 4.7 && < 4.11 + base >= 4.7 && < 4.12 , bytestring >= 0.10.4.0 && < 0.11 , containers >= 0.5.5.1 && < 0.6 , mtl >= 2.1 && < 2.3 @@ -59,19 +60,19 @@ library -- 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. build-depends: - aeson >= 1.2.3.0 && < 1.3 + aeson >= 1.2.3.0 && < 1.4 , base-compat >= 0.9.3 && < 0.10 , attoparsec >= 0.13.2.0 && < 0.14 , http-client >= 0.5.7.1 && < 0.6 , http-client-tls >= 0.3.5.1 && < 0.4 , http-media >= 0.7.1.1 && < 0.8 , http-types >= 0.12 && < 0.13 - , exceptions >= 0.8.3 && < 0.9 + , exceptions >= 0.8.3 && < 0.11 , monad-control >= 1.0.0.4 && < 1.1 , semigroupoids >= 5.2.1 && < 5.3 , stm >= 2.4.4.1 && < 2.5 , transformers-base >= 0.4.4 && < 0.5 - , transformers-compat >= 0.5.1 && < 0.6 + , transformers-compat >= 0.5.1 && < 0.7 hs-source-dirs: src default-language: Haskell2010 @@ -114,7 +115,7 @@ test-suite spec build-depends: deepseq >= 1.3.0.2 && < 1.5 , generics-sop >= 0.3.1.0 && < 0.4 - , hspec >= 2.4.4 && < 2.5 + , hspec >= 2.4.4 && < 2.6 , HUnit >= 1.6 && < 1.7 , network >= 2.6.3.2 && < 2.7 , QuickCheck >= 2.10.1 && < 2.12 @@ -122,4 +123,4 @@ test-suite spec , servant-server == 0.13.* build-tool-depends: - hspec-discover:hspec-discover >= 2.4.4 && < 2.5 + hspec-discover:hspec-discover >= 2.4.4 && < 2.6 diff --git a/servant-docs/servant-docs.cabal b/servant-docs/servant-docs.cabal index 5fca77743..1aa33eb67 100644 --- a/servant-docs/servant-docs.cabal +++ b/servant-docs/servant-docs.cabal @@ -16,10 +16,11 @@ category: Servant, Web build-type: Simple cabal-version: >=1.10 tested-with: - GHC==7.8.4 - GHC==7.10.3 - GHC==8.0.2 - GHC==8.2.2 + GHC==7.8.4, + GHC==7.10.3, + GHC==8.0.2, + GHC==8.2.2, + GHC==8.4.1 homepage: http://haskell-servant.readthedocs.org/ Bug-reports: http://github.com/haskell-servant/servant/issues extra-source-files: @@ -41,7 +42,7 @@ library -- -- note: mtl lower bound is so low because of GHC-7.8 build-depends: - base >= 4.7 && < 4.11 + base >= 4.7 && < 4.12 , bytestring >= 0.10.4.0 && < 0.11 , text >= 1.2.3.0 && < 1.3 @@ -56,7 +57,7 @@ library -- 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. build-depends: - aeson >= 1.2.3.0 && < 1.3 + aeson >= 1.2.3.0 && < 1.4 , aeson-pretty >= 0.8.5 && < 0.9 , base-compat >= 0.9.3 && < 0.10 , case-insensitive >= 1.2.0.10 && < 1.3 @@ -108,7 +109,7 @@ test-suite spec -- Additonal dependencies build-depends: - hspec >= 2.4.4 && < 2.5 + hspec >= 2.4.4 && < 2.6 build-tool-depends: - hspec-discover:hspec-discover >=2.4.4 && <2.5 + hspec-discover:hspec-discover >=2.4.4 && <2.6 diff --git a/servant-foreign/CHANGELOG.md b/servant-foreign/CHANGELOG.md index 738468013..796f90177 100644 --- a/servant-foreign/CHANGELOG.md +++ b/servant-foreign/CHANGELOG.md @@ -1,6 +1,11 @@ [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.11.1 +------ + +- Add missing `Semigroup` instances + 0.11 ---- diff --git a/servant-foreign/servant-foreign.cabal b/servant-foreign/servant-foreign.cabal index 04ce10d5c..5784e0c77 100644 --- a/servant-foreign/servant-foreign.cabal +++ b/servant-foreign/servant-foreign.cabal @@ -1,5 +1,5 @@ name: servant-foreign -version: 0.11 +version: 0.11.1 synopsis: Helpers for generating clients for servant APIs in any programming language description: Helper types and functions for generating client functions for servant APIs in any programming language @@ -23,10 +23,11 @@ extra-source-files: README.md bug-reports: http://github.com/haskell-servant/servant/issues tested-with: - GHC==7.8.4 - GHC==7.10.3 - GHC==8.0.2 - GHC==8.2.2 + GHC==7.8.4, + GHC==7.10.3, + GHC==8.0.2, + GHC==8.2.2, + GHC==8.4.1 source-repository head type: git @@ -42,9 +43,13 @@ library -- -- note: mtl lower bound is so low because of GHC-7.8 build-depends: - base >= 4.7 && <4.11 + base >= 4.7 && <4.12 , text >= 1.2.3.0 && < 1.3 + if !impl(ghc >= 8.0) + build-depends: + semigroups >=0.18.3 && <0.19 + -- Servant dependencies build-depends: servant == 0.13.* @@ -79,8 +84,8 @@ test-suite spec -- Additonal dependencies build-depends: - hspec >= 2.4.4 && <2.5 + hspec >= 2.4.4 && <2.6 build-tool-depends: - hspec-discover:hspec-discover >=2.4.4 && <2.5 + hspec-discover:hspec-discover >=2.4.4 && <2.6 default-language: Haskell2010 diff --git a/servant-foreign/src/Servant/Foreign/Internal.hs b/servant-foreign/src/Servant/Foreign/Internal.hs index 69a21481f..b79cbf70e 100644 --- a/servant-foreign/src/Servant/Foreign/Internal.hs +++ b/servant-foreign/src/Servant/Foreign/Internal.hs @@ -27,6 +27,7 @@ import Control.Lens (makePrisms, makeLenses, Getter, (&), (<>~), (%~), (.~)) import Data.Data (Data) import Data.Proxy +import Data.Semigroup (Semigroup) import Data.String import Data.Text import Data.Typeable (Typeable) @@ -38,12 +39,12 @@ import Servant.API.TypeLevel import Servant.API.Modifiers (RequiredArgument) newtype FunctionName = FunctionName { unFunctionName :: [Text] } - deriving (Data, Show, Eq, Monoid, Typeable) + deriving (Data, Show, Eq, Semigroup, Monoid, Typeable) makePrisms ''FunctionName newtype PathSegment = PathSegment { unPathSegment :: Text } - deriving (Data, Show, Eq, IsString, Monoid, Typeable) + deriving (Data, Show, Eq, IsString, Semigroup, Monoid, Typeable) makePrisms ''PathSegment diff --git a/servant-server/servant-server.cabal b/servant-server/servant-server.cabal index 06ade019f..4954b7e03 100644 --- a/servant-server/servant-server.cabal +++ b/servant-server/servant-server.cabal @@ -22,10 +22,11 @@ category: Servant, Web build-type: Custom cabal-version: >=1.10 tested-with: - GHC==7.8.4 - GHC==7.10.3 - GHC==8.0.2 - GHC==8.2.2 + GHC==7.8.4, + GHC==7.10.3, + GHC==8.0.2, + GHC==8.2.2, + GHC==8.4.1 extra-source-files: include/*.h CHANGELOG.md @@ -60,7 +61,7 @@ library -- -- note: mtl lower bound is so low because of GHC-7.8 build-depends: - base >= 4.7 && < 4.11 + base >= 4.7 && < 4.12 , bytestring >= 0.10.4.0 && < 0.11 , containers >= 0.5.5.1 && < 0.6 , mtl >= 2.1 && < 2.3 @@ -75,11 +76,11 @@ library -- 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. build-depends: - aeson >= 1.2.3.0 && < 1.3 + aeson >= 1.2.3.0 && < 1.4 , base-compat >= 0.9.3 && < 0.10 , attoparsec >= 0.13.2.0 && < 0.14 , base64-bytestring >= 1.0.0.1 && < 1.1 - , exceptions >= 0.8.3 && < 0.9 + , exceptions >= 0.8.3 && < 0.11 , http-api-data >= 0.3.7.1 && < 0.4 , http-media >= 0.7.1.1 && < 0.8 , http-types >= 0.12 && < 0.13 @@ -93,7 +94,7 @@ library , resourcet >= 1.1.9 && < 1.3 , tagged >= 0.8.5 && < 0.9 , transformers-base >= 0.4.4 && < 0.5 - , transformers-compat >= 0.5.1 && < 0.6 + , transformers-compat >= 0.5.1 && < 0.7 , wai >= 3.2.1.1 && < 3.3 , wai-app-static >= 3.1.6.1 && < 3.2 , warp >= 3.2.13 && < 3.3 @@ -164,7 +165,7 @@ test-suite spec -- Additonal dependencies build-depends: directory >= 1.2.1.0 && < 1.4 - , hspec >= 2.4.4 && < 2.5 + , hspec >= 2.4.4 && < 2.6 , hspec-wai >= 0.9 && < 0.10 , should-not-typecheck >= 2.1.0 && < 2.2 , parsec >= 3.1.11 && < 3.2 @@ -173,13 +174,13 @@ test-suite spec , temporary >= 1.2.0.3 && < 1.3 build-tool-depends: - hspec-discover:hspec-discover >=2.4.4 && <2.5 + hspec-discover:hspec-discover >=2.4.4 && <2.6 test-suite doctests build-depends: base , servant-server - , doctest >= 0.13.0 && <0.14 + , doctest >= 0.13.0 && <0.16 type: exitcode-stdio-1.0 main-is: test/doctests.hs buildable: True diff --git a/servant/servant.cabal b/servant/servant.cabal index c882067fe..5600e61eb 100644 --- a/servant/servant.cabal +++ b/servant/servant.cabal @@ -18,10 +18,11 @@ category: Servant, Web build-type: Custom cabal-version: >=1.10 tested-with: - GHC==7.8.4 - GHC==7.10.3 - GHC==8.0.2 - GHC==8.2.2 + GHC==7.8.4, + GHC==7.10.3, + GHC==8.0.2, + GHC==8.2.2, + GHC==8.4.1 extra-source-files: include/*.h CHANGELOG.md @@ -69,7 +70,7 @@ library -- -- note: mtl lower bound is so low because of GHC-7.8 build-depends: - base >= 4.7 && < 4.11 + base >= 4.7 && < 4.12 , bytestring >= 0.10.4.0 && < 0.11 , mtl >= 2.1 && < 2.3 , text >= 1.2.3.0 && < 1.3 @@ -82,7 +83,7 @@ library -- Here can be exceptions if we really need features from the newer versions. build-depends: base-compat >= 0.9.3 && < 0.10 - , aeson >= 1.2.3.0 && < 1.3 + , aeson >= 1.2.3.0 && < 1.4 , attoparsec >= 0.13.2.0 && < 0.14 , case-insensitive >= 1.2.0.10 && < 1.3 , http-api-data >= 0.3.7.1 && < 0.4 @@ -153,22 +154,22 @@ test-suite spec -- Additonal dependencies build-depends: aeson-compat >= 0.3.3 && < 0.4 - , hspec >= 2.4.4 && < 2.5 + , hspec >= 2.4.4 && < 2.6 , QuickCheck >= 2.10.1 && < 2.12 , quickcheck-instances >= 0.3.16 && < 0.4 build-tool-depends: - hspec-discover:hspec-discover >= 2.4.4 && < 2.5 + hspec-discover:hspec-discover >= 2.4.4 && < 2.6 test-suite doctests build-depends: base , servant - , doctest >= 0.13.0 && <0.14 + , doctest >= 0.13.0 && <0.16 -- We test Links failure with doctest, so we need extra dependencies build-depends: - hspec >= 2.4.4 && < 2.5 + hspec >= 2.4.4 && < 2.6 type: exitcode-stdio-1.0 main-is: test/doctests.hs