diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,12 @@
 # Revision history for staversion
 
+## 0.2.1.3  -- 2018-03-09
+
+* Support `aeson-1.3.0.0`, `base-4.10.0.0`, `Cabal-2.2.0.0`,
+  `http-types-0.12.1`, `megaparsec-6.4.1`, `QuickCheck-2.11.3`,
+  `transformers-0.6.0.6`
+
+
 ## 0.2.1.2  -- 2017-07-29
 
 * Fix build and test with `megaparsec-4`.
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
@@ -93,7 +93,7 @@
 
 aggPvpGeneral :: ([Int] -> [Int]) -> Aggregator
 aggPvpGeneral makeUpper = V.simplifyVersionRange . foldr1 V.unionVersionRanges . fmap toRange . NL.nub . NL.sort where
-  toRange v = fromJust $ fmap V.fromVersionIntervals $ V.mkVersionIntervals [(V.LowerBound norm_v V.InclusiveBound, V.UpperBound vu V.ExclusiveBound)] where
+  toRange v = V.fromVersionIntervals $ V.mkVersionIntervals [(V.LowerBound norm_v V.InclusiveBound, V.UpperBound vu V.ExclusiveBound)] where
     norm_v = V.mkVersion $ normalizeTralingZeroes $ V.versionNumbers v
     vu = V.mkVersion $ makeUpper $ V.versionNumbers norm_v
 
diff --git a/src/Staversion/Internal/Format.hs b/src/Staversion/Internal/Format.hs
--- a/src/Staversion/Internal/Format.hs
+++ b/src/Staversion/Internal/Format.hs
@@ -64,7 +64,7 @@
   _ -> fallback
   where
     formatV v = pack $ concat $ intersperse "." $ map show $ V.versionNumbers v
-    fallback = formatVersionCabal $ V.fromVersionIntervals $ fromJust $ V.mkVersionIntervals [vi]
+    fallback = formatVersionCabal $ V.fromVersionIntervals $ V.mkVersionIntervals [vi]
 
 isCaretOK :: V.Version -> V.Version -> Bool
 isCaretOK inc_lv exc_uv = isCaretOK' (V.versionNumbers inc_lv) (V.versionNumbers exc_uv) where
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
@@ -17,10 +17,10 @@
          V.unionVersionRanges,
          V.simplifyVersionRange,
          V.fromVersionIntervals,
-         V.mkVersionIntervals,
          V.asVersionIntervals,
          -- * Compatibility
          mkVersion,
+         mkVersionIntervals,
          versionNumbers,
          -- * Util
          BaseVersion,
@@ -28,7 +28,7 @@
          parseVersionText
        ) where
 
-import Data.Maybe (listToMaybe)
+import Data.Maybe (listToMaybe, fromJust)
 import Data.Text (Text, unpack)
 import qualified Distribution.Version as V
 import Data.Version (parseVersion)
@@ -64,5 +64,18 @@
 
 versionNumbers :: V.Version -> [Int]
 versionNumbers = V.versionBranch
+
+#endif
+
+
+#if MIN_VERSION_Cabal(2,2,0)
+
+mkVersionIntervals :: [V.VersionInterval] -> V.VersionIntervals
+mkVersionIntervals = V.mkVersionIntervals
+
+#else
+
+mkVersionIntervals :: [V.VersionInterval] -> V.VersionIntervals
+mkVersionIntervals = fromJust . V.mkVersionIntervals
 
 #endif
diff --git a/staversion.cabal b/staversion.cabal
--- a/staversion.cabal
+++ b/staversion.cabal
@@ -1,5 +1,5 @@
 name:                   staversion
-version:                0.2.1.2
+version:                0.2.1.3
 author:                 Toshio Ito <debug.ito@gmail.com>
 maintainer:             Toshio Ito <debug.ito@gmail.com>
 license:                BSD3
@@ -47,9 +47,9 @@
   other-modules:        Paths_staversion,
                         Staversion.Internal.HTTP,
                         Staversion.Internal.Megaparsec
-  build-depends:        base >=4.8 && <4.10,
+  build-depends:        base >=4.8 && <4.11,
                         unordered-containers >=0.2.3 && <0.3,
-                        aeson >=0.8.0 && <1.3,
+                        aeson >=0.8.0 && <1.4,
                         text >=0.11.3 && <1.3,
                         bytestring >=0.10.0 && <0.11,
                         yaml >=0.8.3 && <0.9,
@@ -59,12 +59,12 @@
                         containers >=0.5.5 && <0.6,
                         http-client >=0.4.18 && <0.6,
                         http-client-tls >=0.2.2 && <0.4,
-                        http-types >=0.8.6 && <0.10,
+                        http-types >=0.8.6 && <0.13,
                         transformers >=0.3.0 && <0.6,
-                        transformers-compat >=0.4.0 && <0.6,
-                        megaparsec >=4.2.0 && <6.1,
+                        transformers-compat >=0.4.0 && <0.7,
+                        megaparsec >=4.2.0 && <6.5,
                         semigroups >=0.18.0.1 && <0.19,
-                        Cabal >=1.22.6.0 && <2.1,
+                        Cabal >=1.22.6.0 && <2.3,
                         pretty >=1.1.2.0 && <1.2,
                         ansi-wl-pprint >=0.6.7.3 && <0.7
 
@@ -98,7 +98,7 @@
   build-depends:        base, staversion, text, filepath, bytestring,
                         Cabal, semigroups,
                         hspec >=2.1.7,
-                        QuickCheck >=2.8.1 && <2.11
+                        QuickCheck >=2.8.1 && <2.12
 
 flag network-test
   description: Enable network tests.
diff --git a/test/Staversion/Internal/TestUtil.hs b/test/Staversion/Internal/TestUtil.hs
--- a/test/Staversion/Internal/TestUtil.hs
+++ b/test/Staversion/Internal/TestUtil.hs
@@ -45,6 +45,6 @@
 
 -- | Version interval. vint x y = [x, y)
 vint :: [Int] -> [Int] ->V.VersionRange
-vint vl vu = fromJust $ fmap V.fromVersionIntervals $ V.mkVersionIntervals [interval] where
+vint vl vu = V.fromVersionIntervals $ V.mkVersionIntervals [interval] where
   interval = (V.LowerBound (ver vl) V.InclusiveBound, V.UpperBound (ver vu) V.ExclusiveBound)
 
