diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,8 @@
+0.2.2.1 (12 February 2014)
+--------------------------
+
+    - allow lens-4.0
+
 0.2.2 (27 January 2014)
 -----------------------
 
diff --git a/diagrams-haddock.cabal b/diagrams-haddock.cabal
--- a/diagrams-haddock.cabal
+++ b/diagrams-haddock.cabal
@@ -1,5 +1,5 @@
 name:                diagrams-haddock
-version:             0.2.2
+version:             0.2.2.1
 synopsis:            Preprocessor for embedding diagrams in Haddock documentation
 description:         diagrams-haddock is a tool for compiling embedded inline
                      diagrams code in Haddock documentation, for an
@@ -48,7 +48,7 @@
                        diagrams-lib >= 0.6 && < 1.1,
                        diagrams-svg >= 0.8.0.1 && < 1.1,
                        vector-space >= 0.8 && < 0.9,
-                       lens >= 3.8 && < 3.11,
+                       lens >= 3.8 && < 4.1,
                        cpphs >= 1.15,
                        cautious-file >= 1.0 && < 1.1,
                        uniplate >= 1.6 && < 1.7,
diff --git a/src/Diagrams/Haddock.hs b/src/Diagrams/Haddock.hs
--- a/src/Diagrams/Haddock.hs
+++ b/src/Diagrams/Haddock.hs
@@ -73,7 +73,9 @@
 
 import           Control.Applicative             hiding (many, (<|>))
 import           Control.Arrow                   (first, (&&&), (***))
-import           Control.Lens                    hiding ((<.>))
+import           Control.Lens                    ( (^.), (%~), (&), (.~), (%%~)
+                                                 , _2, orOf, traverse, view
+                                                 , _Right, makeLenses)
 import           Control.Monad.Writer
 import qualified Data.ByteString.Base64.Lazy     as BS64
 import qualified Data.ByteString.Lazy            as BS
