From dd7ec1dfd73ba718a8a29f3b0e52f6a133ac97e2 Mon Sep 17 00:00:00 2001 From: Oleg Grenrus Date: Mon, 9 Apr 2018 12:26:35 +0300 Subject: [PATCH 1/4] Allow base-compat-0.10.0 --- servant-client-core/CHANGELOG.md | 5 +++++ servant-client-core/servant-client-core.cabal | 2 +- .../src/Servant/Client/Core/Internal/HasClient.hs | 2 +- servant-client/servant-client.cabal | 7 ++++++- servant-client/test/Servant/ClientSpec.hs | 3 ++- servant-docs/servant-docs.cabal | 3 ++- servant-foreign/servant-foreign.cabal | 4 ++-- servant-server/CHANGELOG.md | 5 +++++ servant-server/servant-server.cabal | 8 ++++++-- servant-server/src/Servant/Server/Internal.hs | 3 ++- servant/CHANGELOG.md | 5 +++++ servant/servant.cabal | 6 +++--- servant/src/Servant/Utils/Links.hs | 6 ++++-- 13 files changed, 44 insertions(+), 15 deletions(-) diff --git a/servant-client-core/CHANGELOG.md b/servant-client-core/CHANGELOG.md index 03275e50..a52288a6 100644 --- a/servant-client-core/CHANGELOG.md +++ b/servant-client-core/CHANGELOG.md @@ -8,6 +8,11 @@ changing the monad in which client functions run. ([#936](https://github.com/haskell-servant/servant/pull/936)) +0.13.0.1 +-------- + +- Support `base-compat-0.10` + 0.13 ---- diff --git a/servant-client-core/servant-client-core.cabal b/servant-client-core/servant-client-core.cabal index b01c171f..3ff995dd 100644 --- a/servant-client-core/servant-client-core.cabal +++ b/servant-client-core/servant-client-core.cabal @@ -64,7 +64,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: - base-compat >= 0.9.3 && < 0.10 + base-compat >= 0.9.3 && < 0.11 , base64-bytestring >= 1.0.0.1 && < 1.1 , exceptions >= 0.8.3 && < 0.11 , free >= 5.0.1 && < 5.1 diff --git a/servant-client-core/src/Servant/Client/Core/Internal/HasClient.hs b/servant-client-core/src/Servant/Client/Core/Internal/HasClient.hs index 55bfaddb..2458ae65 100644 --- a/servant-client-core/src/Servant/Client/Core/Internal/HasClient.hs +++ b/servant-client-core/src/Servant/Client/Core/Internal/HasClient.hs @@ -22,8 +22,8 @@ import Control.Concurrent (newMVar, modifyMVar) import Data.Foldable (toList) import qualified Data.ByteString.Lazy as BL import Data.List (foldl') -import Data.Monoid ((<>)) import Data.Proxy (Proxy (Proxy)) +import Data.Semigroup ((<>)) import Data.Sequence (fromList) import Data.String (fromString) import Data.Text (Text, pack) diff --git a/servant-client/servant-client.cabal b/servant-client/servant-client.cabal index f6103507..e7aa582f 100644 --- a/servant-client/servant-client.cabal +++ b/servant-client/servant-client.cabal @@ -1,5 +1,6 @@ name: servant-client version: 0.13 +x-revision: 2 synopsis: automatical derivation of querying functions for servant webservices description: This library lets you derive automatically Haskell functions that @@ -60,7 +61,7 @@ library -- Here can be exceptions if we really need features from the newer versions. build-depends: aeson >= 1.2.3.0 && < 1.4 - , base-compat >= 0.9.3 && < 0.10 + , base-compat >= 0.9.3 && < 0.11 , attoparsec >= 0.13.2.0 && < 0.14 , http-client >= 0.5.7.1 && < 0.6 , http-client-tls >= 0.3.5.1 && < 0.4 @@ -110,6 +111,10 @@ test-suite spec , wai , warp + if !impl(ghc >= 8.0) + build-depends: + semigroups + -- Additonal dependencies build-depends: deepseq >= 1.3.0.2 && < 1.5 diff --git a/servant-client/test/Servant/ClientSpec.hs b/servant-client/test/Servant/ClientSpec.hs index a2e62be5..265f622f 100644 --- a/servant-client/test/Servant/ClientSpec.hs +++ b/servant-client/test/Servant/ClientSpec.hs @@ -37,7 +37,8 @@ import Control.Monad.Error.Class (throwError) import Data.Aeson import Data.Char (chr, isPrint) import Data.Foldable (forM_) -import Data.Monoid hiding (getLast) +import Data.Semigroup ((<>)) +import Data.Monoid () import Data.Proxy import qualified Generics.SOP as SOP import GHC.Generics (Generic) diff --git a/servant-docs/servant-docs.cabal b/servant-docs/servant-docs.cabal index a0b722fa..095567ce 100644 --- a/servant-docs/servant-docs.cabal +++ b/servant-docs/servant-docs.cabal @@ -1,5 +1,6 @@ name: servant-docs version: 0.11.2 +x-revision: 2 synopsis: generate API docs for your servant webservice description: Library for generating API docs from a servant API definition. @@ -58,7 +59,7 @@ library build-depends: aeson >= 1.2.3.0 && < 1.4 , aeson-pretty >= 0.8.5 && < 0.9 - , base-compat >= 0.9.3 && < 0.10 + , base-compat >= 0.9.3 && < 0.11 , case-insensitive >= 1.2.0.10 && < 1.3 , control-monad-omega >= 0.3.1 && < 0.4 , hashable >= 1.2.6.1 && < 1.3 diff --git a/servant-foreign/servant-foreign.cabal b/servant-foreign/servant-foreign.cabal index 04ce10d5..79e91618 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 @@ -52,7 +52,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: - base-compat >= 0.9.3 && <0.10 + base-compat >= 0.9.3 && <0.11 , lens >= 4.15.4 && <4.17 , http-types >= 0.12 && < 0.13 diff --git a/servant-server/CHANGELOG.md b/servant-server/CHANGELOG.md index 952b5470..5fb66818 100644 --- a/servant-server/CHANGELOG.md +++ b/servant-server/CHANGELOG.md @@ -1,6 +1,11 @@ [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.13.0.1 +-------- + +- Support `base-compat-0.10` + 0.13 ---- diff --git a/servant-server/servant-server.cabal b/servant-server/servant-server.cabal index fd55eeae..c66183b5 100644 --- a/servant-server/servant-server.cabal +++ b/servant-server/servant-server.cabal @@ -1,5 +1,5 @@ name: servant-server -version: 0.13 +version: 0.13.0.1 synopsis: A family of combinators for defining webservices APIs and serving them description: A family of combinators for defining webservices APIs and serving them @@ -68,6 +68,10 @@ library , transformers >= 0.3.0.0 && < 0.6 , filepath >= 1.3.0.2 && < 1.5 + if !impl(ghc >= 8.0) + build-depends: + semigroups >= 0.18.3 && < 0.19 + -- Servant dependencies build-depends: servant == 0.13.* @@ -76,7 +80,7 @@ library -- Here can be exceptions if we really need features from the newer versions. build-depends: aeson >= 1.2.3.0 && < 1.4 - , base-compat >= 0.9.3 && < 0.10 + , base-compat >= 0.9.3 && < 0.11 , attoparsec >= 0.13.2.0 && < 0.14 , base64-bytestring >= 1.0.0.1 && < 1.1 , exceptions >= 0.8.3 && < 0.11 diff --git a/servant-server/src/Servant/Server/Internal.hs b/servant-server/src/Servant/Server/Internal.hs index d289482c..451337e1 100644 --- a/servant-server/src/Servant/Server/Internal.hs +++ b/servant-server/src/Servant/Server/Internal.hs @@ -44,8 +44,9 @@ import qualified Data.ByteString.Lazy as BL import Data.Maybe (fromMaybe, mapMaybe, isNothing, maybeToList) import Data.Either (partitionEithers) +import Data.Semigroup ((<>)) import Data.String (IsString (..)) -import Data.String.Conversions (cs, (<>)) +import Data.String.Conversions (cs) import Data.Tagged (Tagged(..), retag, untag) import qualified Data.Text as T import Data.Typeable diff --git a/servant/CHANGELOG.md b/servant/CHANGELOG.md index f7449e42..b6237041 100644 --- a/servant/CHANGELOG.md +++ b/servant/CHANGELOG.md @@ -1,5 +1,10 @@ [The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md) +0.13.0.1 +-------- + +- Support `base-compat-0.10` + 0.13 ---- diff --git a/servant/servant.cabal b/servant/servant.cabal index 9ae471b9..88162356 100644 --- a/servant/servant.cabal +++ b/servant/servant.cabal @@ -1,5 +1,5 @@ name: servant -version: 0.13 +version: 0.13.0.1 synopsis: A family of combinators for defining webservices APIs description: A family of combinators for defining webservices APIs and serving them @@ -80,8 +80,8 @@ 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: - base-compat >= 0.9.3 && < 0.10 + build-depends: + base-compat >= 0.9.3 && < 0.11 , aeson >= 1.2.3.0 && < 1.4 , attoparsec >= 0.13.2.0 && < 0.14 , case-insensitive >= 1.2.0.10 && < 1.3 diff --git a/servant/src/Servant/Utils/Links.hs b/servant/src/Servant/Utils/Links.hs index 27c8ce97..6ae8bb37 100644 --- a/servant/src/Servant/Utils/Links.hs +++ b/servant/src/Servant/Utils/Links.hs @@ -101,14 +101,16 @@ module Servant.Utils.Links ( ) where import Data.List -import Data.Monoid.Compat - ((<>)) import Data.Proxy (Proxy (..)) +import Data.Semigroup + ((<>)) import Data.Singletons.Bool (SBool (..), SBoolI (..)) import qualified Data.Text as Text import qualified Data.Text.Encoding as TE +import Data.Type.Bool + (If) import Data.Type.Bool (If) import GHC.TypeLits From fc1210951478d182975b07de465ab3287f1acbf7 Mon Sep 17 00:00:00 2001 From: Oleg Grenrus Date: Wed, 11 Apr 2018 09:52:50 +0300 Subject: [PATCH 2/4] Allow temporary-1.3 --- servant-server/servant-server.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servant-server/servant-server.cabal b/servant-server/servant-server.cabal index c66183b5..10f5ff23 100644 --- a/servant-server/servant-server.cabal +++ b/servant-server/servant-server.cabal @@ -174,7 +174,7 @@ test-suite spec , parsec >= 3.1.11 && < 3.2 , QuickCheck >= 2.10.1 && < 2.12 , wai-extra >= 3.0.21.0 && < 3.1 - , temporary >= 1.2.0.3 && < 1.3 + , temporary >= 1.2.0.3 && < 1.4 build-tool-depends: hspec-discover:hspec-discover >=2.4.4 && <2.5 From 9ddaafed42ade4267e4ee1e66ca905a9c1c882a0 Mon Sep 17 00:00:00 2001 From: Oleg Grenrus Date: Wed, 11 Apr 2018 11:16:39 +0300 Subject: [PATCH 3/4] Bump servant-client version --- servant-client/CHANGELOG.md | 5 +++++ servant-client/servant-client.cabal | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/servant-client/CHANGELOG.md b/servant-client/CHANGELOG.md index 6e689dff..7a0875ae 100644 --- a/servant-client/CHANGELOG.md +++ b/servant-client/CHANGELOG.md @@ -8,6 +8,11 @@ client functions run. ([#936](https://github.com/haskell-servant/servant/pull/936)) +0.13.0.1 +-------- + +- Support `base-compat-0.10` + 0.13 ---- diff --git a/servant-client/servant-client.cabal b/servant-client/servant-client.cabal index e7aa582f..ff777fc3 100644 --- a/servant-client/servant-client.cabal +++ b/servant-client/servant-client.cabal @@ -1,6 +1,5 @@ name: servant-client -version: 0.13 -x-revision: 2 +version: 0.13.0.1 synopsis: automatical derivation of querying functions for servant webservices description: This library lets you derive automatically Haskell functions that From 7d4293fb563c8f2342486a6f06072278f5816e94 Mon Sep 17 00:00:00 2001 From: Oleg Grenrus Date: Wed, 11 Apr 2018 11:34:16 +0300 Subject: [PATCH 4/4] Bump hspec, doctest and transformers-compat --- servant-client-core/servant-client-core.cabal | 4 ++-- servant-client/servant-client.cabal | 6 +++--- servant-docs/servant-docs.cabal | 4 ++-- servant-foreign/servant-foreign.cabal | 4 ++-- servant-server/servant-server.cabal | 8 ++++---- servant/servant.cabal | 8 ++++---- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/servant-client-core/servant-client-core.cabal b/servant-client-core/servant-client-core.cabal index 3ff995dd..56c46dff 100644 --- a/servant-client-core/servant-client-core.cabal +++ b/servant-client-core/servant-client-core.cabal @@ -98,8 +98,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/servant-client.cabal b/servant-client/servant-client.cabal index ff777fc3..bb469b9f 100644 --- a/servant-client/servant-client.cabal +++ b/servant-client/servant-client.cabal @@ -71,7 +71,7 @@ library , 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 @@ -118,7 +118,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 , random-bytestring >= 0.1 && < 0.2 , network >= 2.6.3.2 && < 2.7 @@ -127,4 +127,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 095567ce..b8f6069f 100644 --- a/servant-docs/servant-docs.cabal +++ b/servant-docs/servant-docs.cabal @@ -109,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/servant-foreign.cabal b/servant-foreign/servant-foreign.cabal index 79e91618..0b46e87a 100644 --- a/servant-foreign/servant-foreign.cabal +++ b/servant-foreign/servant-foreign.cabal @@ -79,8 +79,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-server/servant-server.cabal b/servant-server/servant-server.cabal index 10f5ff23..1823eba3 100644 --- a/servant-server/servant-server.cabal +++ b/servant-server/servant-server.cabal @@ -97,7 +97,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 @@ -168,7 +168,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 @@ -177,13 +177,13 @@ test-suite spec , temporary >= 1.2.0.3 && < 1.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-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 88162356..7e8cc0da 100644 --- a/servant/servant.cabal +++ b/servant/servant.cabal @@ -153,22 +153,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