diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,7 @@
+0.6.5
+-----
+* Support GHC 7.10.1
+
 0.6.4
 -----
 * Raise upper bounds of dependencies
diff --git a/hsimport.cabal b/hsimport.cabal
--- a/hsimport.cabal
+++ b/hsimport.cabal
@@ -1,5 +1,5 @@
 name: hsimport
-version: 0.6.4
+version: 0.6.5
 cabal-version: >=1.9.2
 build-type: Simple
 license: BSD3
@@ -10,7 +10,7 @@
     A command line program for extending the import list of a Haskell source file.
 category: Utils, Development
 author: Daniel Trstenjak
-tested-with: GHC ==7.6.2 GHC ==7.6.3 GHC ==7.8.3
+tested-with: GHC ==7.6.2 GHC ==7.6.3 GHC ==7.8.3 GHC ==7.10.1
 extra-source-files:
     README.md
     CHANGELOG
@@ -27,7 +27,7 @@
         base >=3 && <5,
         cmdargs >=0.10.5 && <0.11,
         haskell-src-exts >=1.16.0 && <1.17,
-        lens >=3.9.2 && <4.7,
+        lens >=3.9.2 && <4.9,
         mtl >=2.1.2 && <2.3,
         text >=0.11.3.1 && <1.3,
         split >=0.2.2 && <0.3,
@@ -71,7 +71,7 @@
         base >=3 && <5,
         tasty >=0.9.0.1 && <0.11,
         tasty-golden >=2.2.0.1 && <2.3,
-        filepath >=1.3.0.1 && <1.4,
+        filepath >=1.3.0.1 && <1.5,
         haskell-src-exts >=1.16.0 && <1.17,
         hsimport -any
     type: exitcode-stdio-1.0
diff --git a/lib/HsImport/ImportPos.hs b/lib/HsImport/ImportPos.hs
--- a/lib/HsImport/ImportPos.hs
+++ b/lib/HsImport/ImportPos.hs
@@ -1,3 +1,4 @@
+{-# Language CPP #-}
 
 module HsImport.ImportPos
    ( findImportPos
@@ -9,7 +10,10 @@
 import qualified Language.Haskell.Exts as HS
 import Data.List.Split (splitOn)
 import Control.Lens
+
+#if __GLASGOW_HASKELL__ < 710
 import Control.Applicative ((<$>))
+#endif
 
 type ModuleName = String
 
diff --git a/lib/HsImport/Main.hs b/lib/HsImport/Main.hs
--- a/lib/HsImport/Main.hs
+++ b/lib/HsImport/Main.hs
@@ -1,11 +1,10 @@
-{-# Language PatternGuards #-}
+{-# Language PatternGuards, CPP #-}
 
 module HsImport.Main
    ( hsimport
    , hsimportWithArgs
    ) where
 
-import Control.Applicative ((<$>))
 import Control.Monad (when)
 import System.Exit (exitFailure, exitSuccess)
 import System.IO (hPutStrLn, stderr)
@@ -21,6 +20,10 @@
 import HsImport.Config
 import HsImport.Utils
 import qualified HsImport.Parse as P
+
+#if __GLASGOW_HASKELL__ < 710
+import Control.Applicative ((<$>))
+#endif
 
 
 hsimport :: Config -> IO ()
diff --git a/lib/HsImport/Parse.hs b/lib/HsImport/Parse.hs
--- a/lib/HsImport/Parse.hs
+++ b/lib/HsImport/Parse.hs
@@ -1,4 +1,4 @@
-{-# Language ScopedTypeVariables, PatternGuards #-}
+{-# Language ScopedTypeVariables, PatternGuards, CPP #-}
 
 module HsImport.Parse
    ( parseFile
@@ -10,8 +10,11 @@
 import Data.Maybe (fromMaybe)
 import Data.List (isPrefixOf)
 import qualified Language.Haskell.Exts as HS
-import Control.Applicative ((<$>))
 import Control.Exception (catch, SomeException)
+
+#if __GLASGOW_HASKELL__ < 710
+import Control.Applicative ((<$>))
+#endif
 
 type Error = String
 
diff --git a/lib/HsImport/PrettyPrint.hs b/lib/HsImport/PrettyPrint.hs
--- a/lib/HsImport/PrettyPrint.hs
+++ b/lib/HsImport/PrettyPrint.hs
@@ -1,10 +1,14 @@
+{-# Language CPP #-}
 
 module HsImport.PrettyPrint
    ( prettyPrint
    ) where
 
-import Data.Monoid (mconcat)
 import qualified Language.Haskell.Exts as HS
+
+#if __GLASGOW_HASKELL__ < 710
+import Data.Monoid (mconcat)
+#endif
 
 
 prettyPrint :: HS.ImportDecl -> String
