diff --git a/Network/Wreq/Lens/Machinery.hs b/Network/Wreq/Lens/Machinery.hs
--- a/Network/Wreq/Lens/Machinery.hs
+++ b/Network/Wreq/Lens/Machinery.hs
@@ -1,16 +1,23 @@
 module Network.Wreq.Lens.Machinery
     (
       makeLenses
+    , fieldName
     , toCamelCase
     ) where
 
 import Control.Lens ((&), (.~))
-import Control.Lens.TH (defaultRules, lensField, makeLensesWith)
+import Control.Lens.TH hiding (makeLenses)
 import Data.Char (toUpper)
-import Language.Haskell.TH.Syntax (Dec, Name, Q)
+import Language.Haskell.TH.Syntax (Dec, Name, Q, mkName, nameBase)
 
+defaultRules :: LensRules
+defaultRules = lensRules
+
+fieldName :: (String -> String) -> [Name] -> Name -> [DefName]
+fieldName f _ name = [TopName . mkName . f . nameBase $ name]
+
 makeLenses :: Name -> Q [Dec]
-makeLenses = makeLensesWith (defaultRules & lensField .~ Just)
+makeLenses = makeLensesWith (defaultRules & lensField .~ fieldName id)
 
 toCamelCase :: String -> String
 toCamelCase (x0:x0s)  = x0 : go x0s
diff --git a/Network/Wreq/Lens/TH.hs b/Network/Wreq/Lens/TH.hs
--- a/Network/Wreq/Lens/TH.hs
+++ b/Network/Wreq/Lens/TH.hs
@@ -60,20 +60,19 @@
     ) where
 
 import Control.Lens hiding (makeLenses)
-import Control.Lens.TH (defaultRules, lensField, makeLensesWith)
 import Data.ByteString (ByteString)
 import Data.Text (Text)
 import Network.Wreq.Internal.Lens (assoc, assoc2)
-import Network.Wreq.Lens.Machinery (makeLenses, toCamelCase)
+import Network.Wreq.Internal.Link
+import Network.Wreq.Lens.Machinery (fieldName, makeLenses, toCamelCase)
 import qualified Network.HTTP.Client as HTTP
 import qualified Network.HTTP.Client.MultipartFormData as Form
 import qualified Network.HTTP.Types.Header as HTTP
 import qualified Network.HTTP.Types.Status as HTTP
 import qualified Network.Wreq.Types as Types
-import Network.Wreq.Internal.Link
 
 makeLenses ''Types.Options
-makeLensesWith (defaultRules & lensField .~ Just . toCamelCase) ''HTTP.Cookie
+makeLensesWith (lensRules & lensField .~ fieldName toCamelCase) ''HTTP.Cookie
 makeLenses ''HTTP.Proxy
 makeLenses ''HTTP.Response
 makeLenses ''HTTP.Status
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,1 +1,9 @@
-.
+-*- markdown -*-
+
+2014-08-25 0.2.0.0
+
+* Support for lens 4.4
+
+2014-04-22 0.1.0.0
+
+* Initial release.
diff --git a/examples/wreq-examples.cabal b/examples/wreq-examples.cabal
--- a/examples/wreq-examples.cabal
+++ b/examples/wreq-examples.cabal
@@ -22,6 +22,7 @@
     containers,
     ghc-prim,
     lens,
+    lens-aeson,
     text,
     wreq
 
diff --git a/wreq.cabal b/wreq.cabal
--- a/wreq.cabal
+++ b/wreq.cabal
@@ -1,5 +1,5 @@
 name:                wreq
-version:             0.1.0.1
+version:             0.2.0.0
 synopsis:            An easy-to-use HTTP client library.
 description:
   .
@@ -71,8 +71,8 @@
     Network.Wreq.Internal.Lens
     Network.Wreq.Internal.Link
     Network.Wreq.Internal.Types
-    Network.Wreq.Lens.TH
     Network.Wreq.Lens.Machinery
+    Network.Wreq.Lens.TH
     Paths_wreq
   build-depends:
     aeson >= 0.7.0.3,
@@ -83,7 +83,8 @@
     http-client >= 0.3.1.1,
     http-client-tls >= 0.2,
     http-types >= 0.8,
-    lens >= 4.1,
+    lens >= 4.4,
+    lens-aeson,
     mime-types,
     template-haskell,
     text,
@@ -125,7 +126,8 @@
     bytestring,
     http-client,
     http-types,
-    lens >= 4.1,
+    lens >= 4.4,
+    lens-aeson,
     temporary,
     test-framework,
     test-framework-hunit,
