diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,7 @@
+0.7.0
+-----
+* Support cabal 2.1
+
 0.6.0
 -----
 * Support cabal 2.0
diff --git a/cabal-lenses.cabal b/cabal-lenses.cabal
--- a/cabal-lenses.cabal
+++ b/cabal-lenses.cabal
@@ -1,5 +1,5 @@
 name: cabal-lenses
-version: 0.6.0
+version: 0.7.0
 cabal-version: >=1.9.2
 build-type: Simple
 license: BSD3
@@ -36,7 +36,7 @@
         base >=3 && <5,
         lens >=4.0.1 && <4.16,
         unordered-containers >=0.2.3.3 && <0.3,
-        Cabal >=2.0.0.2 && <2.1,
+        Cabal >=2.1.0.0 && <2.2,
         either >=4.1.1 && <4.5,
         system-filepath >=0.4.9 && <0.5,
         system-fileio >=0.3.12 && <0.4,
diff --git a/lib/CabalLenses/Traversals/BuildInfo.hs b/lib/CabalLenses/Traversals/BuildInfo.hs
--- a/lib/CabalLenses/Traversals/BuildInfo.hs
+++ b/lib/CabalLenses/Traversals/BuildInfo.hs
@@ -11,7 +11,6 @@
 import CabalLenses.CondVars (CondVars)
 import CabalLenses.PackageDescription
 import Control.Lens
-import Control.Applicative ((<$>), (<*>), pure)
 import Distribution.PackageDescription (GenericPackageDescription(GenericPackageDescription), BuildInfo)
 import Distribution.Types.UnqualComponentName (unUnqualComponentName)
 
diff --git a/lib/CabalLenses/Traversals/Dependency.hs b/lib/CabalLenses/Traversals/Dependency.hs
--- a/lib/CabalLenses/Traversals/Dependency.hs
+++ b/lib/CabalLenses/Traversals/Dependency.hs
@@ -12,7 +12,6 @@
 import CabalLenses.CondVars (CondVars)
 import CabalLenses.PackageDescription
 import Control.Lens
-import Control.Applicative ((<$>), (<*>), pure)
 import Distribution.PackageDescription (GenericPackageDescription(GenericPackageDescription))
 import Distribution.Package (Dependency)
 import Distribution.Types.UnqualComponentName (unUnqualComponentName)
diff --git a/lib/CabalLenses/Traversals/Internal.hs b/lib/CabalLenses/Traversals/Internal.hs
--- a/lib/CabalLenses/Traversals/Internal.hs
+++ b/lib/CabalLenses/Traversals/Internal.hs
@@ -12,8 +12,6 @@
 import Distribution.Types.CondTree (CondTree(..), CondBranch(..))
 import Distribution.PackageDescription (ConfVar)
 import Distribution.Package (Dependency(..))
-import Data.Traversable
-import Control.Applicative
 import Control.Lens (Traversal')
 
 type CondTree' a = CondTree ConfVar [Dependency] a
diff --git a/lib/CabalLenses/Utils.hs b/lib/CabalLenses/Utils.hs
--- a/lib/CabalLenses/Utils.hs
+++ b/lib/CabalLenses/Utils.hs
@@ -7,7 +7,7 @@
    , findNewDistDir
    ) where
 
-import Control.Monad.Trans.Either (EitherT, left, right, runEitherT)
+import Control.Monad.Trans.Either (EitherT, left, right)
 import Control.Monad.IO.Class
 import Control.Monad (filterM)
 import qualified System.IO.Strict as Strict
diff --git a/lib/CabalLenses/Version.hs b/lib/CabalLenses/Version.hs
--- a/lib/CabalLenses/Version.hs
+++ b/lib/CabalLenses/Version.hs
@@ -8,8 +8,6 @@
 
 import Distribution.Version
 import Control.Lens
-import Data.Maybe (fromMaybe)
-import Control.Applicative ((<$>))
 
 
 versionBranchL :: Iso' Version [Int]
@@ -19,8 +17,8 @@
 intervals :: Iso' VersionRange [VersionInterval]
 intervals = iso asVersionIntervals toVersionRange
    where
-      toVersionRange intervals =
-         fromMaybe anyVersion (fromVersionIntervals <$> mkVersionIntervals intervals)
+      toVersionRange []        = anyVersion
+      toVersionRange intervals = fromVersionIntervals . mkVersionIntervals $ intervals
 
 
 lowerBound :: Lens' VersionInterval LowerBound
