diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,36 @@
 # Change Log
 
+## [1.3.7](https://github.com/brendanhay/amazonka/tree/1.3.7)
+Released: **18 December, 2015**, Compare: [1.3.7](https://github.com/brendanhay/amazonka/compare/1.3.6...1.3.7)
+
+### Fixed
+
+- Fix SWF `PollFor{Activity,Decision}Task` response deserialisation. [\#257](https://github.com/brendanhay/amazonka/issues/257)
+
+### Changes
+
+- The `ErrorCode` type constructor is now exported. [\#258](https://github.com/brendanhay/amazonka/issues/258)
+- Add `Bounded` instances for all enumerations with stable values. [\#255](https://github.com/brendanhay/amazonka/issues/255)
+- The `AWS_PROFILE` environment variable can now be used to override the default
+  file credentials location. [\#254](https://github.com/brendanhay/amazonka/issues/254)
+
+### Updated
+
+- AutoScaling: Updated service definition.
+- CloudFront: GZip support.
+- CloudTrail: Add `isMultiRegion` flag to various operations.
+- Config: Updated service definition.
+- DirectConnect: Documentation updates.
+- DirectoryService: Updated service definition.
+- EC2: NAT Gateway updates and an updated service definition.
+- IAM: Additional resource types, documentation updates.
+- IoT: Added `RegisterCertificate` operation.
+- KMS: Updated service definition.
+- RDS: Add enchanced monitoring support, documentation updates.
+- Route53: Updated service definition.
+- SSM: Updated service definition.
+
+
 ## [1.3.6](https://github.com/brendanhay/amazonka/tree/1.3.6)
 Released: **18 November, 2015**, Compare: [1.3.6](https://github.com/brendanhay/amazonka/compare/1.3.5.1...1.3.6)
 
diff --git a/amazonka.cabal b/amazonka.cabal
--- a/amazonka.cabal
+++ b/amazonka.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka
-version:               1.3.6
+version:               1.3.7
 synopsis:              Comprehensive Amazon Web Services SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -55,7 +55,7 @@
         , Network.AWS.Internal.Logger
 
     build-depends:
-          amazonka-core       == 1.3.6.*
+          amazonka-core       == 1.3.7.*
         , base                >= 4.7     && < 5
         , bytestring          >= 0.9
         , conduit             >= 1.1
@@ -64,7 +64,6 @@
         , exceptions          >= 0.6
         , http-conduit        >= 2.1.4
         , ini                 >= 0.2
-        , lens                >= 4.4
         , mmorph              >= 1
         , monad-control       >= 1
         , mtl                 >= 2.1.3.1
diff --git a/src/Control/Monad/Trans/AWS.hs b/src/Control/Monad/Trans/AWS.hs
--- a/src/Control/Monad/Trans/AWS.hs
+++ b/src/Control/Monad/Trans/AWS.hs
@@ -151,8 +151,6 @@
     ) where
 
 import           Control.Applicative
-import           Control.Exception.Lens
-import           Control.Lens
 import           Control.Monad.Base
 import           Control.Monad.Catch
 import           Control.Monad.Error.Class    (MonadError (..))
@@ -172,6 +170,8 @@
 import           Network.AWS.Internal.Body
 import           Network.AWS.Internal.HTTP
 import           Network.AWS.Internal.Logger
+import           Network.AWS.Lens             (catching, throwingM, trying,
+                                               view)
 import           Network.AWS.Pager            (AWSPager (..))
 import           Network.AWS.Prelude          as AWS
 import qualified Network.AWS.Presign          as Sign
diff --git a/src/Network/AWS.hs b/src/Network/AWS.hs
--- a/src/Network/AWS.hs
+++ b/src/Network/AWS.hs
@@ -173,12 +173,11 @@
 import qualified Network.AWS.Env              as Env
 import           Network.AWS.Internal.Body
 import           Network.AWS.Internal.Logger
+import           Network.AWS.Lens             ((^.))
 import           Network.AWS.Pager            (AWSPager)
 import           Network.AWS.Prelude
 import           Network.AWS.Types            hiding (LogLevel (..))
 import           Network.AWS.Waiter           (Wait)
-
-import           Prelude
 
 -- | A specialisation of the 'AWST' transformer.
 type AWS = AWST (ResourceT IO)
diff --git a/src/Network/AWS/Auth.hs b/src/Network/AWS/Auth.hs
--- a/src/Network/AWS/Auth.hs
+++ b/src/Network/AWS/Auth.hs
@@ -62,7 +62,6 @@
 
 import           Control.Applicative
 import           Control.Concurrent
-import           Control.Exception.Lens
 import           Control.Monad
 import           Control.Monad.Catch
 import           Control.Monad.IO.Class
@@ -77,6 +76,9 @@
 import           Data.Time                  (diffUTCTime, getCurrentTime)
 import           Network.AWS.Data.Log
 import           Network.AWS.EC2.Metadata
+import           Network.AWS.Lens           (catching, catching_, exception,
+                                             throwingM, _IOException)
+import           Network.AWS.Lens           (Prism', prism)
 import           Network.AWS.Prelude
 import           Network.AWS.Types
 import           Network.HTTP.Conduit
@@ -84,8 +86,6 @@
 import           System.Environment
 import           System.Mem.Weak
 
-import           Prelude
-
 -- | Default access key environment variable.
 envAccessKey :: Text -- ^ AWS_ACCESS_KEY_ID
 envAccessKey = "AWS_ACCESS_KEY_ID"
@@ -98,6 +98,10 @@
 envSessionToken :: Text -- ^ AWS_SESSION_TOKEN
 envSessionToken = "AWS_SESSION_TOKEN"
 
+-- | Credentials profile environment variable.
+envProfile :: Text -- ^ AWS_PROFILE
+envProfile = "AWS_PROFILE"
+
 -- | Credentials INI file access key variable.
 credAccessKey :: Text -- ^ aws_access_key_id
 credAccessKey = "aws_access_key_id"
@@ -319,9 +323,9 @@
             -> Maybe Text -- ^ Session token environment variable.
             -> m Auth
 fromEnvKeys a s t = fmap Auth $ AuthEnv
-    <$> (req a <&> AccessKey)
-    <*> (req s <&> SecretKey)
-    <*> (opt t <&> fmap SessionToken)
+    <$> (AccessKey         <$> req a)
+    <*> (SecretKey         <$> req s)
+    <*> (fmap SessionToken <$> opt t)
     <*> pure Nothing
   where
     req k = do
@@ -338,9 +342,13 @@
 -- Throws 'MissingFileError' if 'credFile' is missing, or 'InvalidFileError'
 -- if an error occurs during parsing.
 --
--- /See:/ 'credProfile' and 'credFile'
+-- /See:/ 'credProfile', 'credFile', and 'envProfile'
 fromFile :: (Applicative m, MonadIO m, MonadCatch m) => m Auth
-fromFile = credFile >>= fromFilePath credProfile
+fromFile = do
+  f <- credFile
+  ep <- liftIO (lookupEnv (Text.unpack envProfile))
+  let p = Text.pack (fromMaybe (Text.unpack credProfile) ep)
+  fromFilePath p f
 
 -- | Retrieve the access, secret and session token from the specified section
 -- (profile) in a valid INI @credentials@ file.
@@ -357,9 +365,9 @@
         throwM (MissingFileError f)
     i <- liftIO (INI.readIniFile f) >>= either (invalidErr Nothing) return
     fmap Auth $ AuthEnv
-        <$> (req credAccessKey i    <&> AccessKey)
-        <*> (req credSecretKey i    <&> SecretKey)
-        <*> (opt credSessionToken i <&> fmap SessionToken)
+        <$> (AccessKey         <$> req credAccessKey    i)
+        <*> (SecretKey         <$> req credSecretKey    i)
+        <*> (fmap SessionToken <$> opt credSessionToken i)
         <*> pure Nothing
   where
     req k i =
diff --git a/src/Network/AWS/EC2/Metadata.hs b/src/Network/AWS/EC2/Metadata.hs
--- a/src/Network/AWS/EC2/Metadata.hs
+++ b/src/Network/AWS/EC2/Metadata.hs
@@ -46,8 +46,6 @@
 import           Network.AWS.Prelude    hiding (request)
 import           Network.HTTP.Conduit
 
-import           Prelude
-
 data Dynamic
     = FWS
     -- ^ Value showing whether the customer has enabled detailed one-minute
diff --git a/src/Network/AWS/Env.hs b/src/Network/AWS/Env.hs
--- a/src/Network/AWS/Env.hs
+++ b/src/Network/AWS/Env.hs
@@ -38,21 +38,19 @@
     ) where
 
 import           Control.Applicative
-import           Control.Lens
-import           Control.Monad
 import           Control.Monad.Catch
 import           Control.Monad.IO.Class
 import           Control.Monad.Reader
-import           Control.Retry
 import           Data.Function               (on)
 import           Data.IORef
 import           Data.Monoid
 import           Network.AWS.Auth
 import           Network.AWS.Internal.Logger
+import           Network.AWS.Lens            (Getter, Lens')
+import           Network.AWS.Lens            (lens, to)
+import           Network.AWS.Lens            ((.~), (<>~), (?~))
 import           Network.AWS.Types
 import           Network.HTTP.Conduit
-
-import           Prelude
 
 -- | The environment containing the parameters required to make AWS requests.
 data Env = Env
diff --git a/src/Network/AWS/Internal/Body.hs b/src/Network/AWS/Internal/Body.hs
--- a/src/Network/AWS/Internal/Body.hs
+++ b/src/Network/AWS/Internal/Body.hs
@@ -21,8 +21,6 @@
 import           Network.AWS.Prelude
 import           System.IO
 
-import           Prelude
-
 -- | Convenience function for obtaining the size of a file.
 getFileSize :: MonadIO m => FilePath -> m Integer
 getFileSize f = liftIO (withBinaryFile f ReadMode hFileSize)
diff --git a/src/Network/AWS/Internal/HTTP.hs b/src/Network/AWS/Internal/HTTP.hs
--- a/src/Network/AWS/Internal/HTTP.hs
+++ b/src/Network/AWS/Internal/HTTP.hs
@@ -21,7 +21,6 @@
     ) where
 
 import           Control.Arrow                (first)
-import           Control.Lens
 import           Control.Monad
 import           Control.Monad.Catch
 import           Control.Monad.Reader
@@ -33,11 +32,11 @@
 import           Data.Time
 import           Network.AWS.Env
 import           Network.AWS.Internal.Logger
+import           Network.AWS.Lens             ((%~), (&), (^.), (^?))
+import           Network.AWS.Lens             (to, view, _Just)
 import           Network.AWS.Prelude
 import           Network.AWS.Waiter
 import           Network.HTTP.Conduit         hiding (Proxy, Request, Response)
-
-import           Prelude
 
 retrier :: ( MonadCatch m
            , MonadResource m
diff --git a/src/Network/AWS/Internal/Logger.hs b/src/Network/AWS/Internal/Logger.hs
--- a/src/Network/AWS/Internal/Logger.hs
+++ b/src/Network/AWS/Internal/Logger.hs
@@ -35,8 +35,6 @@
 import           Network.AWS.Types
 import           System.IO
 
-import           Prelude
-
 -- | This is a primitive logger which can be used to log builds to a 'Handle'.
 --
 -- /Note:/ A more sophisticated logging library such as
diff --git a/src/Network/AWS/Presign.hs b/src/Network/AWS/Presign.hs
--- a/src/Network/AWS/Presign.hs
+++ b/src/Network/AWS/Presign.hs
@@ -15,15 +15,13 @@
 -- and no other AWS actions are required.
 module Network.AWS.Presign where
 
-import           Control.Lens
 import           Control.Monad
 import           Control.Monad.IO.Class
 import           Network.AWS.Data.Time
+import           Network.AWS.Lens       ((%~), (&))
 import           Network.AWS.Prelude
 import           Network.AWS.Request    (requestURL)
 import           Network.AWS.Types
-
-import           Prelude
 
 -- | Presign an URL that is valid from the specified time until the
 -- number of seconds expiry has elapsed.
