diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,13 @@
 # Revision history for staversion
 
+## 0.2.3.2  -- 2019-10-05
+
+* Support the following major versions of dependencies.
+
+    * Cabal-3.0
+    * optparse-applicative-0.15
+    * semigroups-0.19
+
 ## 0.2.3.1  -- 2019-04-20
 
 * Support the following major versions of dependencies.
diff --git a/src/Staversion/Internal/Aggregate.hs b/src/Staversion/Internal/Aggregate.hs
--- a/src/Staversion/Internal/Aggregate.hs
+++ b/src/Staversion/Internal/Aggregate.hs
@@ -35,14 +35,13 @@
 import qualified Data.List.NonEmpty as NL
 import Data.Text (unpack)
 import Data.Traversable (traverse)
-import qualified Distribution.Text as DT
 import qualified Text.PrettyPrint as Pretty
 
 import Staversion.Internal.Cabal (Target(..))
 import Staversion.Internal.Query (PackageName, ErrorMsg)
 import Staversion.Internal.Log (LogEntry(..), LogLevel(..))
 import Staversion.Internal.Result (Result(..), AggregatedResult(..), ResultBody, ResultBody'(..), resultSourceDesc)
-import Staversion.Internal.Version (Version, mkVersion, VersionRange)
+import Staversion.Internal.Version (Version, mkVersion, VersionRange, docVersionRange)
 import qualified Staversion.Internal.Version as V
 
 
@@ -51,7 +50,7 @@
 
 -- | Let Cabal convert 'VersionRange' to 'String'
 showVersionRange :: VersionRange -> String
-showVersionRange = Pretty.render . DT.disp
+showVersionRange = Pretty.render . docVersionRange
 
 groupAllPreservingOrderBy :: (a -> a -> Bool)
                              -- ^ The comparator that determines if the two elements are in the same group.
diff --git a/src/Staversion/Internal/Version.hs b/src/Staversion/Internal/Version.hs
--- a/src/Staversion/Internal/Version.hs
+++ b/src/Staversion/Internal/Version.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE CPP #-}
 -- |
 -- Module: Staversion.Internal.Version
--- Description: Compatibility wrapper for Distribution.Version
+-- Description: Compatibility wrapper for Distribution.Version etc. from Cabal package
 -- Maintainer: Toshio Ito <debug.ito@gmail.com>
 --
 -- __This is an internal module. End-users should not use it.__
@@ -22,6 +22,7 @@
          mkVersion,
          mkVersionIntervals,
          versionNumbers,
+         docVersionRange,
          -- * Util
          BaseVersion,
          showBaseVersion,
@@ -30,10 +31,18 @@
 
 import Data.Maybe (listToMaybe, fromJust)
 import Data.Text (Text, unpack)
+
 import qualified Distribution.Version as V
+#if MIN_VERSION_Cabal(2,2,0)
+import qualified Distribution.Pretty as DP
+#else
+import qualified Distribution.Text as DT
+#endif
+
 import Data.Version (parseVersion)
 import qualified Data.Version as BaseV
 import Text.ParserCombinators.ReadP (readP_to_S)
+import Text.PrettyPrint (Doc)
 
 -- | A Version type by "Data.Version".
 type BaseVersion = BaseV.Version
@@ -78,4 +87,13 @@
 mkVersionIntervals :: [V.VersionInterval] -> V.VersionIntervals
 mkVersionIntervals = fromJust . V.mkVersionIntervals
 
+#endif
+
+
+#if MIN_VERSION_Cabal(2,2,0)
+docVersionRange :: V.VersionRange -> Doc
+docVersionRange = DP.pretty
+#else
+docVersionRange :: V.VersionRange -> Doc
+docVersionRange = DT.disp
 #endif
diff --git a/staversion.cabal b/staversion.cabal
--- a/staversion.cabal
+++ b/staversion.cabal
@@ -1,5 +1,5 @@
 name:                   staversion
-version:                0.2.3.1
+version:                0.2.3.2
 author:                 Toshio Ito <debug.ito@gmail.com>
 maintainer:             Toshio Ito <debug.ito@gmail.com>
 license:                BSD3
@@ -64,7 +64,7 @@
                         yaml >=0.8.3 && <0.12,
                         filepath >=1.3.0 && <1.5,
                         directory >=1.2.0 && <1.4,
-                        optparse-applicative >=0.11.0 && <0.15,
+                        optparse-applicative >=0.11.0 && <0.16,
                         containers >=0.5.5 && <0.7,
                         http-client >=0.4.18 && <0.7,
                         http-client-tls >=0.2.2 && <0.4,
@@ -72,8 +72,8 @@
                         transformers >=0.3.0 && <0.6,
                         transformers-compat >=0.4.0 && <0.7,
                         megaparsec >=4.2.0 && <7.1,
-                        semigroups >=0.18.0.1 && <0.19,
-                        Cabal >=1.22.6.0 && <2.5,
+                        semigroups >=0.18.0.1 && <0.20,
+                        Cabal >=1.22.6.0 && <3.1,
                         pretty >=1.1.2.0 && <1.2,
                         ansi-wl-pprint >=0.6.7.3 && <0.7,
                         process >=1.2.3.0 && <1.7
