diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,8 @@
+3.10.3 [maintenance release]
+------
+* Update `MonadCatchIO-transformers` to allow 0.3.1.2, and `contravariant`
+to allow 1.1.
+
 3.10.2 [maintenance release]
 ------
 * Explicitly disallow `MonadCatchIO-transformers` 0.3.1 as it imports
diff --git a/lens.cabal b/lens.cabal
--- a/lens.cabal
+++ b/lens.cabal
@@ -1,6 +1,6 @@
 name:          lens
 category:      Data, Lenses
-version:       3.10.2
+version:       3.10.3
 license:       BSD3
 cabal-version: >= 1.8
 license-file:  LICENSE
@@ -169,14 +169,14 @@
     bifunctors                >= 4        && < 5,
     bytestring                >= 0.9.1.10 && < 0.11,
     comonad                   >= 4        && < 5,
-    contravariant             >= 0.3      && < 1,
+    contravariant             >= 0.3      && < 2,
     containers                >= 0.4.0    && < 0.6,
     distributive              >= 0.3      && < 1,
     filepath                  >= 1.2.0.0  && < 1.4,
     generic-deriving          >= 1.4      && < 1.7,
     ghc-prim,
     hashable                  >= 1.1.2.3  && < 1.3,
-    MonadCatchIO-transformers >= 0.3      && < 0.3.1,
+    MonadCatchIO-transformers >= 0.3      && < 0.3.2,
     mtl                       >= 2.0.1    && < 2.2,
     parallel                  >= 3.1.0.1  && < 3.3,
     profunctors               >= 4        && < 5,
diff --git a/src/Control/Lens/Internal/Instances.hs b/src/Control/Lens/Internal/Instances.hs
--- a/src/Control/Lens/Internal/Instances.hs
+++ b/src/Control/Lens/Internal/Instances.hs
@@ -4,6 +4,10 @@
 #ifndef MIN_VERSION_base
 #define MIN_VERSION_base(x,y,z) 1
 #endif
+
+#ifndef MIN_VERSION_semigroupoids
+#define MIN_VERSION_semigroupoids(x,y,z) 1
+#endif
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Control.Lens.Internal.Instances
@@ -14,14 +18,19 @@
 -- Portability :  non-portable
 --
 -- This module includes orphan instances for @(,)@, 'Either' and 'Const' that
--- should be supplied by base.
+-- should be supplied by base. These have moved to @semigroupoids@ as of 4.2.
 ----------------------------------------------------------------------------
 module Control.Lens.Internal.Instances () where
 
+import Data.Traversable.Instances ()
+
+#if !(MIN_VERSION_semigroupoids(0,4,2))
+
 import Control.Applicative
 import Data.Semigroup.Foldable
 import Data.Semigroup.Traversable
 
+
 #if !(MIN_VERSION_base(4,7,0))
 import Data.Monoid
 import Data.Foldable
@@ -60,3 +69,4 @@
 instance Traversable1 ((,) b) where
   traverse1 f (b, a) = (,) b <$> f a
 
+#endif
