diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+0.2.5
+-----
+* Support for GHC 7.8 and `lens` 4.x
+
 0.2.3
 -----
 * SafeHaskell support
diff --git a/ersatz.cabal b/ersatz.cabal
--- a/ersatz.cabal
+++ b/ersatz.cabal
@@ -1,5 +1,5 @@
 name:           ersatz
-version:        0.2.4
+version:        0.2.5
 license:        BSD3
 license-file:   LICENSE
 author:         Edward A. Kmett, Johan Kiviniemi
@@ -75,7 +75,7 @@
 
 build-type:     Custom
 cabal-version:  >= 1.10
-tested-with:    GHC == 7.4.1, GHC == 7.6.2
+tested-with:    GHC == 7.4.1, GHC == 7.6.2, GHC == 7.8.2
 extra-source-files:
   .ghci
   .gitignore
@@ -163,17 +163,17 @@
   default-language: Haskell2010
 
   build-depends:
-    array                >= 0.2     && < 0.5,
-    base                 >= 4       && < 6,
+    array                >= 0.2     && < 0.6,
+    base                 >= 4       && < 5,
     blaze-builder        == 0.3.*,
     blaze-textual        == 0.2.*,
     bytestring           >= 0.9     && < 0.12,
     containers           >= 0.2.0.1 && < 0.6,
     data-default         >= 0.5     && < 0.6,
     ghc-prim,
-    lens                 >= 3.8     && < 4.0,
+    lens                 >= 3.8     && < 5,
     mtl                  >= 1.1     && < 2.2,
-    process              == 1.1.*,
+    process              >= 1.1     && < 1.3,
     temporary            == 1.1.*,
     transformers         == 0.3.*,
     unordered-containers == 0.2.*
diff --git a/src/Ersatz/Equatable.hs b/src/Ersatz/Equatable.hs
--- a/src/Ersatz/Equatable.hs
+++ b/src/Ersatz/Equatable.hs
@@ -24,7 +24,6 @@
   ) where
 
 import Prelude hiding ((&&),(||),not,and,or,all,any)
-import qualified Prelude
 
 import Ersatz.Bit
 import GHC.Generics
diff --git a/src/Ersatz/Problem.hs b/src/Ersatz/Problem.hs
--- a/src/Ersatz/Problem.hs
+++ b/src/Ersatz/Problem.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE Rank2Types #-}
 {-# LANGUAGE BangPatterns #-}
 {-# LANGUAGE TypeFamilies #-}
@@ -14,6 +15,9 @@
 {-# LANGUAGE Trustworthy #-}
 
 {-# OPTIONS_HADDOCK not-home #-}
+#ifndef MIN_VERSION_lens
+#define MIN_VERSION_lens(x,y,z) 1
+#endif
 --------------------------------------------------------------------
 -- |
 -- Copyright :  © Edward Kmett 2010-2013, Johan Kiviniemi 2013
@@ -50,7 +54,9 @@
 import Control.Applicative
 import Control.Lens
 import Control.Monad
+#if !(MIN_VERSION_lens(4,0,0))
 import Control.Monad.Identity
+#endif
 import Control.Monad.State
 import Data.ByteString (ByteString)
 import qualified Data.ByteString.Lazy as Lazy
