diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+0.3.0.0
+=======
+
+  * Update to `lens-4.0`
+
 0.2.1.1
 =======
 
diff --git a/hspec-expectations-lens.cabal b/hspec-expectations-lens.cabal
--- a/hspec-expectations-lens.cabal
+++ b/hspec-expectations-lens.cabal
@@ -1,5 +1,5 @@
 name:                hspec-expectations-lens
-version:             0.2.1.1
+version:             0.3.0.0
 synopsis:            Hspec expectations for the lens stuff
 description:
   Package adds hspec expectations (@\`shouldX\`@ things)
@@ -22,7 +22,7 @@
 
 source-repository this
   type:     git
-  tag:      0.2.1.1
+  tag:      0.3.0.0
   location: https://github.com/supki/hspec-expectations-lens
 
 library
@@ -32,7 +32,7 @@
       base                    == 4.*
     , hspec-expectations      >= 0.5
     , hspec                   >= 1.8
-    , lens                    >= 3.9 && < 4.0
+    , lens                    >= 4.0
     , HUnit
   exposed-modules:
     Test.Hspec.Expectations.Lens
@@ -47,5 +47,5 @@
       base                    == 4.*
     , hspec
     , hspec-expectations-lens
-    , lens                    >= 3.9 && < 4.0
+    , lens                    >= 4.0
     , silently
diff --git a/src/Test/Hspec/Expectations/Lens.hs b/src/Test/Hspec/Expectations/Lens.hs
--- a/src/Test/Hspec/Expectations/Lens.hs
+++ b/src/Test/Hspec/Expectations/Lens.hs
@@ -142,7 +142,7 @@
 -- shouldPerform :: ('Show' a, 'Eq' a) => 'IO' s -> a -> 'Action'      'IO' s a -> 'Expectation'
 -- shouldPerform :: ('Show' a, 'Eq' a) => 'IO' s -> a -> 'MonadicFold' 'IO' s a -> 'Expectation'
 -- @
-shouldPerform :: (Show a, Eq a) => IO s -> a -> Acting IO (Leftmost a) s s a b -> Expectation
+shouldPerform :: (Show a, Eq a) => IO s -> a -> Acting IO (Leftmost a) s a -> Expectation
 (x `shouldPerform` t) l = do
   r <- x ^!? acts.l
   case r of
