diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,10 +1,13 @@
 #!/usr/bin/env runhaskell
+{-# LANGUAGE CPP #-}
 {-# OPTIONS_GHC -Wall #-}
 module Main (main) where
 
 import Data.List ( nub )
 import Data.Version ( showVersion )
+#if __GLASGOW_HASKELL__ < 710
 import Control.Applicative
+#endif
 import Distribution.Package ( PackageName(PackageName), PackageId, InstalledPackageId, packageVersion, packageName )
 import Distribution.PackageDescription ( PackageDescription(), TestSuite(..) )
 import Distribution.Simple ( defaultMainWithHooks, UserHooks(..), simpleUserHooks )
diff --git a/doctests/Main.hs b/doctests/Main.hs
--- a/doctests/Main.hs
+++ b/doctests/Main.hs
@@ -1,8 +1,13 @@
+{-# LANGUAGE CPP #-}
 module Main where
 
 import Build_doctests (deps, opts)
 import Control.Monad
+
+#if __GLASGOW_HASKELL__ < 710
 import Control.Applicative
+#endif
+
 import Data.List
 import System.Directory
 import System.FilePath
diff --git a/geojson.cabal b/geojson.cabal
--- a/geojson.cabal
+++ b/geojson.cabal
@@ -1,5 +1,5 @@
 name:               geojson
-version:            1.3.0
+version:            1.3.1
 license:            BSD3
 license-file:       etc/LICENCE.md
 author:             Dom De Re
@@ -37,8 +37,8 @@
     default-language:   Haskell2010
 
     build-depends:      base < 5 &&     >= 4
-                    ,   aeson           == 0.9.*
-                    ,   lens            == 4.11.*
+                    ,   aeson           >= 0.8       && < 1.0
+                    ,   lens            >= 4.11      && < 4.13
                     ,   semigroups      == 0.16.*
                     ,   text            == 1.2.*
                     ,   transformers    >= 0.3       && < 0.5
