diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,8 @@
-0.3.1, 0.4.1, 0.4.2
--------------------
+0.4.4
+-----
+* Add traversal 'allBuildInfo'
+* Add lens for 'targetBuildDepends' field
+
+0.3.1, 0.4.1, 0.4.2, 0.4.3
+--------------------------
 * Raise upper bounds of dependencies
diff --git a/cabal-lenses.cabal b/cabal-lenses.cabal
--- a/cabal-lenses.cabal
+++ b/cabal-lenses.cabal
@@ -1,5 +1,5 @@
 name: cabal-lenses
-version: 0.4.3
+version: 0.4.4
 cabal-version: >=1.9.2
 build-type: Simple
 license: BSD3
diff --git a/lib/CabalLenses/PackageDescription.hs b/lib/CabalLenses/PackageDescription.hs
--- a/lib/CabalLenses/PackageDescription.hs
+++ b/lib/CabalLenses/PackageDescription.hs
@@ -94,6 +94,7 @@
               , ("ldOptions"         , "ldOptionsL")
               , ("includeDirs"       , "includeDirsL")
               , ("includes"          , "includesL")
+              , ("targetBuildDepends", "targetBuildDependsL")
               ] ''BuildInfo
 
 
diff --git a/lib/CabalLenses/Traversals/BuildInfo.hs b/lib/CabalLenses/Traversals/BuildInfo.hs
--- a/lib/CabalLenses/Traversals/BuildInfo.hs
+++ b/lib/CabalLenses/Traversals/BuildInfo.hs
@@ -1,7 +1,8 @@
 {-# LANGUAGE Rank2Types #-}
 
 module CabalLenses.Traversals.BuildInfo
-   ( buildInfo
+   ( allBuildInfo
+   , buildInfo
    , buildInfoIf
    ) where
 
@@ -10,8 +11,18 @@
 import CabalLenses.CondVars (CondVars)
 import CabalLenses.PackageDescription
 import Control.Lens
-import Distribution.PackageDescription (GenericPackageDescription, BuildInfo)
+import Control.Applicative ((<$>), (<*>), pure)
+import Distribution.PackageDescription (GenericPackageDescription(GenericPackageDescription), BuildInfo)
 
+-- | A traversal for all 'BuildInfo' of all 'Section'
+allBuildInfo :: Traversal' GenericPackageDescription BuildInfo
+allBuildInfo f (GenericPackageDescription descrp flags lib exes tests benchs) =
+   GenericPackageDescription <$> pure descrp
+                             <*> pure flags
+                             <*> (_Just . traverseData . libBuildInfoL) f lib
+                             <*> (traverse . _2 . traverseData . buildInfoL) f exes
+                             <*> (traverse . _2 . traverseData . testBuildInfoL) f tests
+                             <*> (traverse . _2 . traverseData . benchmarkBuildInfoL) f benchs
 
 -- | A traversal for all 'BuildInfo' of 'Section'.
 buildInfo :: Section -> Traversal' GenericPackageDescription BuildInfo
@@ -29,4 +40,4 @@
 buildInfoIf condVars (Benchmark name)  = condBenchmarksL . traverse . having name . _2 . traverseDataIf condVars . benchmarkBuildInfoL
 
 
-having name = filtered ((== name) . fst) 
+having name = filtered ((== name) . fst)
