diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index c4a68ca2b..86c960a0d 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -20,8 +20,9 @@ jobs: - "8.10.7" - "9.0.2" - "9.2.8" - - "9.4.5" - - "9.6.2" + - "9.4.8" + - "9.6.3" + - "9.8.1" fail-fast: false steps: @@ -51,7 +52,7 @@ jobs: - name: Install doctest run: | - cabal install --ignore-project -j2 doctest --constraint='doctest ^>=0.21' + cabal install --ignore-project -j2 doctest --constraint='doctest ^>=0.22' - name: Build run: | diff --git a/cabal.project b/cabal.project index 2239b77c9..134c051c0 100644 --- a/cabal.project +++ b/cabal.project @@ -53,18 +53,6 @@ tests: True optimization: False -- reorder-goals: True --- Older warp versions fail to build with https >= 4.2: --- Network/Wai/Handler/Warp/HTTP2.hs:48:16: error: --- Error: • Constructor ‘H2.Config’ does not have the required strict field(s): confMySockAddr, --- confPeerSockAddr -constraints: http2 <4.2 - --- wreq-0.5.4.1 doesn't seem to work with ghc-8.6.5 -if (impl(ghc < 8.8)) - constraints: wreq == 0.5.4.0 - -allow-newer: servant-js:base - -- Print ticks so that doctest type querying is consistent across GHC versions. -- This block can be removed when we drop support for GHC 9.4 and below. if(impl(ghc >= 9.6.1)) @@ -74,6 +62,8 @@ if(impl(ghc >= 9.6.1)) package servant-server ghc-options: -fprint-redundant-promotion-ticks -allow-newer: servant-multipart:servant, servant-multipart:servant-server, servant-multipart-api:servant -allow-newer: servant-pagination:servant, servant-pagination:servant-server -allow-newer: servant-js:servant, servant-js:servant-foreign +allow-newer: servant-multipart:bytestring, servant-multipart:text +allow-newer: servant-multipart-api:bytestring, servant-multipart-api:text +allow-newer: servant-pagination:servant, servant-pagination:servant-server, servant-pagination:text +allow-newer: servant-js:base, servant-js:servant, servant-js:servant-foreign, servant-js:text +allow-newer: swagger2:aeson, swagger2:base, swagger2:template-haskell, swagger2:bytestring, swagger2:text diff --git a/servant-auth/servant-auth-client/servant-auth-client.cabal b/servant-auth/servant-auth-client/servant-auth-client.cabal index 76a7ff4f0..45a49e38f 100644 --- a/servant-auth/servant-auth-client/servant-auth-client.cabal +++ b/servant-auth/servant-auth-client/servant-auth-client.cabal @@ -31,7 +31,7 @@ library default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators ghc-options: -Wall build-depends: - base >= 4.10 && < 4.19 + base >= 4.10 && < 4.20 , bytestring >= 0.10.6.0 && < 0.13 , containers >= 0.5.6.2 && < 0.7 , servant-auth == 0.4.* diff --git a/servant-auth/servant-auth-docs/servant-auth-docs.cabal b/servant-auth/servant-auth-docs/servant-auth-docs.cabal index 49fc236a7..a570efa20 100644 --- a/servant-auth/servant-auth-docs/servant-auth-docs.cabal +++ b/servant-auth/servant-auth-docs/servant-auth-docs.cabal @@ -23,7 +23,7 @@ extra-source-files: custom-setup setup-depends: - base < 4.19, Cabal < 4, cabal-doctest >=1.0.6 && <1.1 + base < 4.20, Cabal < 4, cabal-doctest >=1.0.6 && <1.1 source-repository head type: git @@ -35,7 +35,7 @@ library default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators ghc-options: -Wall build-depends: - base >= 4.10 && < 4.19 + base >= 4.10 && < 4.20 , servant-docs >= 0.13 && < 0.14 , servant >= 0.13 && < 0.21 , servant-auth == 0.4.* @@ -50,7 +50,7 @@ test-suite doctests build-depends: base, servant-auth-docs, - doctest >= 0.16 && < 0.22, + doctest >= 0.16 && < 0.23, QuickCheck >= 2.11.3 && < 2.15, template-haskell ghc-options: -Wall -threaded diff --git a/servant-auth/servant-auth-server/servant-auth-server.cabal b/servant-auth/servant-auth-server/servant-auth-server.cabal index 29d8c16ed..7ee3e749c 100644 --- a/servant-auth/servant-auth-server/servant-auth-server.cabal +++ b/servant-auth/servant-auth-server/servant-auth-server.cabal @@ -31,7 +31,7 @@ library default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators ghc-options: -Wall build-depends: - base >= 4.10 && < 4.19 + base >= 4.10 && < 4.20 , aeson >= 1.0.0.1 && < 3 , base64-bytestring >= 1.0.0.1 && < 2 , blaze-builder >= 0.4.1.0 && < 0.5 @@ -50,7 +50,7 @@ library , servant-auth == 0.4.* , servant-server >= 0.13 && < 0.21 , tagged >= 0.8.4 && < 0.9 - , text >= 1.2.3.0 && < 2.1 + , text >= 1.2.3.0 && < 2.2 , time >= 1.5.0.1 && < 1.13 , unordered-containers >= 0.2.9.0 && < 0.3 , wai >= 3.2.1.2 && < 3.3 @@ -129,7 +129,7 @@ test-suite spec , lens-aeson >= 1.0.2 && < 1.3 , warp >= 3.2.25 && < 3.4 , wreq >= 0.5.2.1 && < 0.6 - , text >= 1.2.3.0 && < 2.1 + , text >= 1.2.3.0 && < 2.2 other-modules: Servant.Auth.ServerSpec default-language: Haskell2010 diff --git a/servant-auth/servant-auth-swagger/servant-auth-swagger.cabal b/servant-auth/servant-auth-swagger/servant-auth-swagger.cabal index 24d76f883..32f4ac063 100644 --- a/servant-auth/servant-auth-swagger/servant-auth-swagger.cabal +++ b/servant-auth/servant-auth-swagger/servant-auth-swagger.cabal @@ -31,8 +31,8 @@ library default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators ghc-options: -Wall build-depends: - base >= 4.10 && < 4.19 - , text >= 1.2.3.0 && < 2.1 + base >= 4.10 && < 4.20 + , text >= 1.2.3.0 && < 2.2 , servant-swagger >= 1.1.5 && < 2 , swagger2 >= 2.2.2 && < 3 , servant >= 0.13 && < 0.21 diff --git a/servant-auth/servant-auth/servant-auth.cabal b/servant-auth/servant-auth/servant-auth.cabal index f06cd2a81..993ffcfc4 100644 --- a/servant-auth/servant-auth/servant-auth.cabal +++ b/servant-auth/servant-auth/servant-auth.cabal @@ -33,13 +33,13 @@ library default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators ghc-options: -Wall build-depends: - base >= 4.10 && < 4.19 + base >= 4.10 && < 4.20 , containers >= 0.6 && < 0.7 , aeson >= 2.0 && < 3 , jose >= 0.10 && < 0.11 , lens >= 4.16.1 && < 5.3 , servant >= 0.15 && < 0.21 - , text >= 1.2.3.0 && < 2.1 + , text >= 1.2.3.0 && < 2.2 , unordered-containers >= 0.2.9.0 && < 0.3 exposed-modules: Servant.Auth diff --git a/servant-client-core/servant-client-core.cabal b/servant-client-core/servant-client-core.cabal index 2ba6ba21b..e18708c45 100644 --- a/servant-client-core/servant-client-core.cabal +++ b/servant-client-core/servant-client-core.cabal @@ -50,14 +50,14 @@ library -- -- note: mtl lower bound is so low because of GHC-7.8 build-depends: - base >= 4.9 && < 4.19 + base >= 4.9 && < 4.20 , bytestring >= 0.10.8.1 && < 0.13 - , constraints >= 0.2 && < 0.14 + , constraints >= 0.2 && < 0.15 , containers >= 0.5.7.1 && < 0.7 - , deepseq >= 1.4.2.0 && < 1.5 - , text >= 1.2.3.0 && < 2.1 + , deepseq >= 1.4.2.0 && < 1.6 + , text >= 1.2.3.0 && < 2.2 , transformers >= 0.5.2.0 && < 0.7 - , template-haskell >= 2.11.1.0 && < 2.21 + , template-haskell >= 2.11.1.0 && < 2.22 if !impl(ghc >= 8.2) build-depends: @@ -103,7 +103,7 @@ test-suite spec -- Additional dependencies build-depends: - deepseq >= 1.4.2.0 && < 1.5 + deepseq >= 1.4.2.0 && < 1.6 , hspec >= 2.6.0 && < 2.12 , QuickCheck >= 2.12.6.1 && < 2.15 diff --git a/servant-client/servant-client.cabal b/servant-client/servant-client.cabal index 63a086400..69013d171 100644 --- a/servant-client/servant-client.cabal +++ b/servant-client/servant-client.cabal @@ -41,13 +41,13 @@ 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.19 + base >= 4.9 && < 4.20 , bytestring >= 0.10.8.1 && < 0.13 , containers >= 0.5.7.1 && < 0.7 - , deepseq >= 1.4.2.0 && < 1.5 + , deepseq >= 1.4.2.0 && < 1.6 , mtl ^>= 2.2.2 || ^>= 2.3.1 , stm >= 2.4.5.1 && < 2.6 - , text >= 1.2.3.0 && < 2.1 + , text >= 1.2.3.0 && < 2.2 , time >= 1.6.0.1 && < 1.13 , transformers >= 0.5.2.0 && < 0.7 diff --git a/servant-docs/servant-docs.cabal b/servant-docs/servant-docs.cabal index 839f61e9a..33968c40a 100644 --- a/servant-docs/servant-docs.cabal +++ b/servant-docs/servant-docs.cabal @@ -41,9 +41,9 @@ library -- -- note: mtl lower bound is so low because of GHC-7.8 build-depends: - base >= 4.9 && < 4.19 + base >= 4.9 && < 4.20 , bytestring >= 0.10.8.1 && < 0.13 - , text >= 1.2.3.0 && < 2.1 + , text >= 1.2.3.0 && < 2.2 -- Servant dependencies build-depends: diff --git a/servant-foreign/servant-foreign.cabal b/servant-foreign/servant-foreign.cabal index e57770d20..93d3c61b4 100644 --- a/servant-foreign/servant-foreign.cabal +++ b/servant-foreign/servant-foreign.cabal @@ -41,8 +41,8 @@ library -- -- note: mtl lower bound is so low because of GHC-7.8 build-depends: - base >= 4.9 && < 4.19 - , text >= 1.2.3.0 && < 2.1 + base >= 4.9 && < 4.20 + , text >= 1.2.3.0 && < 2.2 -- Servant dependencies build-depends: diff --git a/servant-http-streams/servant-http-streams.cabal b/servant-http-streams/servant-http-streams.cabal index 5479bc467..55adc3427 100644 --- a/servant-http-streams/servant-http-streams.cabal +++ b/servant-http-streams/servant-http-streams.cabal @@ -38,12 +38,12 @@ 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.19 + base >= 4.9 && < 4.20 , bytestring >= 0.10.8.1 && < 0.13 , containers >= 0.5.7.1 && < 0.7 - , deepseq >= 1.4.2.0 && < 1.5 + , deepseq >= 1.4.2.0 && < 1.6 , mtl ^>= 2.2.2 || ^>= 2.3.1 - , text >= 1.2.3.0 && < 2.1 + , text >= 1.2.3.0 && < 2.2 , time >= 1.6.0.1 && < 1.13 , transformers >= 0.5.2.0 && < 0.7 diff --git a/servant-server/servant-server.cabal b/servant-server/servant-server.cabal index 4c3b5a123..5624e26c4 100644 --- a/servant-server/servant-server.cabal +++ b/servant-server/servant-server.cabal @@ -60,12 +60,12 @@ 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.19 + base >= 4.9 && < 4.20 , bytestring >= 0.10.8.1 && < 0.13 - , constraints >= 0.2 && < 0.14 + , constraints >= 0.2 && < 0.15 , containers >= 0.5.7.1 && < 0.7 , mtl ^>= 2.2.2 || ^>= 2.3.1 - , text >= 1.2.3.0 && < 2.1 + , text >= 1.2.3.0 && < 2.2 , transformers >= 0.5.2.0 && < 0.7 , filepath >= 1.4.1.1 && < 1.5 diff --git a/servant-swagger/servant-swagger.cabal b/servant-swagger/servant-swagger.cabal index 5bcea2023..987c49ba1 100644 --- a/servant-swagger/servant-swagger.cabal +++ b/servant-swagger/servant-swagger.cabal @@ -80,7 +80,7 @@ library , servant >=0.20 && <0.21 , singleton-bool >=0.1.4 && <0.2 , swagger2 >=2.3.0.1 && <3 - , text >=1.2.3.0 && <2.1 + , text >=1.2.3.0 && <2.2 , unordered-containers >=0.2.9.0 && <0.3 , hspec @@ -92,7 +92,7 @@ test-suite doctests build-depends: base, directory >= 1.0, - doctest >= 0.17 && <0.22, + doctest >= 0.17 && <0.23, servant, QuickCheck, filepath diff --git a/servant/servant.cabal b/servant/servant.cabal index 874613558..ad1e2da79 100644 --- a/servant/servant.cabal +++ b/servant/servant.cabal @@ -81,13 +81,13 @@ library -- -- note: mtl lower bound is so low because of GHC-7.8 build-depends: - base >= 4.9 && < 4.19 + base >= 4.9 && < 4.20 , bytestring >= 0.10.8.1 && < 0.13 , constraints >= 0.2 , mtl ^>= 2.2.2 || ^>= 2.3.1 , sop-core >= 0.4.0.0 && < 0.6 , transformers >= 0.5.2.0 && < 0.7 - , text >= 1.2.3.0 && < 2.1 + , text >= 1.2.3.0 && < 2.2 -- We depend (heavily) on the API of these packages: @@ -104,7 +104,7 @@ library , attoparsec >= 0.13.2.2 && < 0.15 , bifunctors >= 5.5.3 && < 5.7 , case-insensitive >= 1.2.0.11 && < 1.3 - , deepseq >= 1.4.2.0 && < 1.5 + , deepseq >= 1.4.2.0 && < 1.6 , http-media >= 0.7.1.3 && < 0.9 , http-types >= 0.12.2 && < 0.13 , mmorph >= 1.1.2 && < 1.3