diff --git a/Aws/Core.hs b/Aws/Core.hs
--- a/Aws/Core.hs
+++ b/Aws/Core.hs
@@ -155,11 +155,15 @@
 
 --multiResponse :: Monoid m => Response m a -> Response [m] a ->
 
+instance Monoid m => Applicative (Response m) where
+    pure x = Response mempty (Right x)
+    (<*>) = ap
+
 instance Monoid m => Monad (Response m) where
     return x = Response mempty (Right x)
     Response m1 (Left e) >>= _ = Response m1 (Left e)
     Response m1 (Right x) >>= f = let Response m2 y = f x
-                                    in Response (m1 `mappend` m2) y -- currently using First-semantics, Last SHOULD work too
+                                  in Response (m1 `mappend` m2) y -- currently using First-semantics, Last SHOULD work too
 
 instance Monoid m => MonadThrow (Response m) where
     throwM e = Response mempty (throwM e)
@@ -636,6 +640,8 @@
 parseHttpDate s =     p "%a, %d %b %Y %H:%M:%S GMT" s -- rfc1123-date
                   <|> p "%A, %d-%b-%y %H:%M:%S GMT" s -- rfc850-date
                   <|> p "%a %b %_d %H:%M:%S %Y" s     -- asctime-date
+                  <|> p "%Y-%m-%dT%H:%M:%S%QZ" s      -- iso 8601
+                  <|> p "%Y-%m-%dT%H:%M:%S%Q%Z" s     -- iso 8601
   where p = parseTime defaultTimeLocale
 
 -- | HTTP-date (section 3.3.1 of RFC 2616, first type - RFC1123-style)
diff --git a/Aws/S3/Commands/GetBucket.hs b/Aws/S3/Commands/GetBucket.hs
--- a/Aws/S3/Commands/GetBucket.hs
+++ b/Aws/S3/Commands/GetBucket.hs
@@ -44,6 +44,7 @@
       , gbrContents       :: [ObjectInfo]
       , gbrCommonPrefixes :: [T.Text]
       , gbrIsTruncated    :: Bool
+      , gbrNextMarker     :: Maybe T.Text
       }
     deriving (Show)
 
@@ -78,6 +79,7 @@
                        let marker = listToMaybe $ cursor $/ elContent "Marker"
                        maxKeys <- Data.Traversable.sequence . listToMaybe $ cursor $/ elContent "MaxKeys" &| textReadInt
                        let truncated = maybe True (/= "false") $ listToMaybe $ cursor $/ elContent "IsTruncated"
+                       let nextMarker = listToMaybe $ cursor $/ elContent "NextMarker"
                        let prefix = listToMaybe $ cursor $/ elContent "Prefix"
                        contents <- sequence $ cursor $/ Cu.laxElement "Contents" &| parseObjectInfo
                        let commonPrefixes = cursor $/ Cu.laxElement "CommonPrefixes" &// Cu.content
@@ -90,9 +92,17 @@
                                               , gbrContents       = contents
                                               , gbrCommonPrefixes = commonPrefixes
                                               , gbrIsTruncated    = truncated
+                                              , gbrNextMarker     = nextMarker
                                               }
 
 instance Transaction GetBucket GetBucketResponse
+
+instance IteratedTransaction GetBucket GetBucketResponse where
+    nextIteratedRequest request response
+        = case (gbrIsTruncated response, gbrNextMarker response, gbrContents response) of
+            (True, Just marker, _             ) -> Just $ request { gbMarker = Just marker }
+            (True, Nothing,     contents@(_:_)) -> Just $ request { gbMarker = Just $ objectKey $ last contents }
+            (_,    _,           _             ) -> Nothing
 
 instance AsMemoryResponse GetBucketResponse where
     type MemoryResponse GetBucketResponse = GetBucketResponse
diff --git a/Aws/S3/Core.hs b/Aws/S3/Core.hs
--- a/Aws/S3/Core.hs
+++ b/Aws/S3/Core.hs
@@ -14,6 +14,7 @@
 import           Data.List
 import           Data.Maybe
 import           Data.Monoid
+import           Control.Applicative            ((<|>))
 import           Data.Time
 import           Data.Typeable
 import           System.Locale
@@ -304,16 +305,19 @@
 data StorageClass
     = Standard
     | ReducedRedundancy
+    | Glacier
     deriving (Show)
 
 parseStorageClass :: MonadThrow m => T.Text -> m StorageClass
 parseStorageClass "STANDARD"           = return Standard
 parseStorageClass "REDUCED_REDUNDANCY" = return ReducedRedundancy
+parseStorageClass "GLACIER"            = return Glacier
 parseStorageClass s = throwM . XmlException $ "Invalid Storage Class: " ++ T.unpack s
 
 writeStorageClass :: StorageClass -> T.Text
 writeStorageClass Standard          = "STANDARD"
 writeStorageClass ReducedRedundancy = "REDUCED_REDUNDANCY"
+writeStorageClass Glacier           = "GLACIER"
 
 data ServerSideEncryption
     = AES256
@@ -359,7 +363,8 @@
 parseObjectInfo :: MonadThrow m => Cu.Cursor -> m ObjectInfo
 parseObjectInfo el
     = do key <- force "Missing object Key" $ el $/ elContent "Key"
-         let time s = case parseTime defaultTimeLocale "%Y-%m-%dT%H:%M:%S%QZ" $ T.unpack s of
+         let time s = case (parseTime defaultTimeLocale "%Y-%m-%dT%H:%M:%S%QZ" $ T.unpack s) <|>
+                           (parseTime defaultTimeLocale "%Y-%m-%dT%H:%M:%S%Q%Z" $ T.unpack s) of
                         Nothing -> throwM $ XmlException "Invalid time"
                         Just v -> return v
          lastModified <- forceM "Missing object LastModified" $ el $/ elContent "LastModified" &| time
diff --git a/README.org b/README.org
--- a/README.org
+++ b/README.org
@@ -88,6 +88,20 @@
 
 * Release Notes
 
+** 0.9 series
+
+- 0.9.1
+  - Support for multi-page S3 GetBucket requests
+  - S3 GLACIER support
+  - Applicative instance for Response to conform to the Applicative-Monad Proposal
+  - Compatibility with transformers 0.4
+
+- 0.9
+  - Interface changes:
+    - attempt and failure were deprecated, remove
+    - switch to new cryptohash interface
+  - updated version bounds of conduit and xml-conduit
+
 ** 0.8 series
 
 - 0.8.6
diff --git a/aws.cabal b/aws.cabal
--- a/aws.cabal
+++ b/aws.cabal
@@ -1,5 +1,5 @@
 Name:                aws
-Version:             0.9
+Version:             0.9.1
 Synopsis:            Amazon Web Services (AWS) for Haskell
 Description:         Bindings for Amazon Web Services (AWS), with the aim of supporting all AWS services. To see a high level overview of the library, see the README at <https://github.com/aristidb/aws/blob/master/README.org>.
 Homepage:            http://github.com/aristidb/aws
@@ -20,7 +20,7 @@
 Source-repository this
   type: git
   location: https://github.com/aristidb/aws.git
-  tag: 0.9
+  tag: 0.9.1
 
 Source-repository head
   type: git
@@ -123,7 +123,7 @@
                        resourcet            >= 1.1     && < 1.2,
                        text                 >= 0.11,
                        time                 >= 1.1.4   && < 1.5,
-                       transformers         >= 0.2.2.0 && < 0.4,
+                       transformers         >= 0.2.2 && < 0.5,
                        unordered-containers >= 0.2,
                        utf8-string          == 0.3.*,
                        vector               >= 0.10,
