diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,11 @@
 Changes
 =======
 
+Version 0.4
+-----------
+
+Replace `data-lens` with `data-lens-light`
+
 Version 0.3.3.2
 ---------------
 
diff --git a/haskell-names.cabal b/haskell-names.cabal
--- a/haskell-names.cabal
+++ b/haskell-names.cabal
@@ -1,5 +1,5 @@
 Name:                   haskell-names
-Version:                0.3.3.2
+Version:                0.4
 License:                BSD3
 Author:                 Roman Cheplyaka, Lennart Augustsson
 Maintainer:             Roman Cheplyaka <roma@ro-che.info>
@@ -267,8 +267,7 @@
     , aeson
     , bytestring
     , haskell-packages >= 0.2
-    , data-lens
-    , data-lens-template
+    , data-lens-light
     , tagged
     , traverse-with-class
     , type-eq >= 0.4.2
diff --git a/src/Language/Haskell/Names/Annotated.hs b/src/Language/Haskell/Names/Annotated.hs
--- a/src/Language/Haskell/Names/Annotated.hs
+++ b/src/Language/Haskell/Names/Annotated.hs
@@ -18,7 +18,7 @@
 import qualified Language.Haskell.Names.LocalSymbolTable as Local
 import Language.Haskell.Exts.Annotated
 import Data.Proxy
-import Data.Lens.Common
+import Data.Lens.Light
 import Data.Typeable (Typeable)
   -- in GHC 7.8 Data.Typeable exports (:~:). Be careful to avoid the clash.
 import Control.Applicative
diff --git a/src/Language/Haskell/Names/GlobalSymbolTable.hs b/src/Language/Haskell/Names/GlobalSymbolTable.hs
--- a/src/Language/Haskell/Names/GlobalSymbolTable.hs
+++ b/src/Language/Haskell/Names/GlobalSymbolTable.hs
@@ -23,7 +23,7 @@
 import Data.Data
 import Control.Arrow
 import Control.Applicative hiding (empty)
-import Data.Lens.Common
+import Data.Lens.Light
 
 import Language.Haskell.Names.Types
 import Language.Haskell.Names.SyntaxUtils
diff --git a/src/Language/Haskell/Names/Imports.hs b/src/Language/Haskell/Names/Imports.hs
--- a/src/Language/Haskell/Names/Imports.hs
+++ b/src/Language/Haskell/Names/Imports.hs
@@ -11,7 +11,7 @@
 import Data.Monoid
 import Data.Maybe
 import Data.Either
-import Data.Lens.Common
+import Data.Lens.Light
 import Data.Foldable (foldMap, fold)
 import Control.Applicative
 import Control.Arrow
diff --git a/src/Language/Haskell/Names/ModuleSymbols.hs b/src/Language/Haskell/Names/ModuleSymbols.hs
--- a/src/Language/Haskell/Names/ModuleSymbols.hs
+++ b/src/Language/Haskell/Names/ModuleSymbols.hs
@@ -8,7 +8,7 @@
 
 import Data.Maybe
 import Data.Either
-import Data.Lens.Common
+import Data.Lens.Light
 import Data.Monoid
 import Data.Data
 import qualified Data.Set as Set
diff --git a/src/Language/Haskell/Names/Open/Base.hs b/src/Language/Haskell/Names/Open/Base.hs
--- a/src/Language/Haskell/Names/Open/Base.hs
+++ b/src/Language/Haskell/Names/Open/Base.hs
@@ -15,8 +15,7 @@
 import Control.Applicative
 import Control.Monad.Identity
 import Data.List
-import Data.Lens.Common
-import Data.Lens.Template
+import Data.Lens.Light
 import Data.Generics.Traversable
 import Data.Typeable
 import Data.Monoid
diff --git a/src/Language/Haskell/Names/Open/Instances.hs b/src/Language/Haskell/Names/Open/Instances.hs
--- a/src/Language/Haskell/Names/Open/Instances.hs
+++ b/src/Language/Haskell/Names/Open/Instances.hs
@@ -18,7 +18,7 @@
 import qualified Data.Data as D
 import Control.Applicative
 import Data.Typeable
-import Data.Lens.Common
+import Data.Lens.Light
 import Data.List
 import qualified Data.Traversable as T
 
diff --git a/src/Language/Haskell/Names/ScopeUtils.hs b/src/Language/Haskell/Names/ScopeUtils.hs
--- a/src/Language/Haskell/Names/ScopeUtils.hs
+++ b/src/Language/Haskell/Names/ScopeUtils.hs
@@ -4,7 +4,7 @@
 import Control.Arrow
 import qualified Data.Set as Set
 import Data.Monoid
-import Data.Lens.Common
+import Data.Lens.Light
 import Language.Haskell.Names.Types
 import Language.Haskell.Names.SyntaxUtils
 import Language.Haskell.Exts.Annotated
diff --git a/src/Language/Haskell/Names/Types.hs b/src/Language/Haskell/Names/Types.hs
--- a/src/Language/Haskell/Names/Types.hs
+++ b/src/Language/Haskell/Names/Types.hs
@@ -6,7 +6,7 @@
 import Data.Typeable
 import Data.Data
 import Data.Monoid
-import Data.Lens.Common
+import Data.Lens.Light
 import qualified Data.Set as Set
 import {-# SOURCE #-} qualified Language.Haskell.Names.GlobalSymbolTable as Global
 import Distribution.Package
