diff --git a/Aws/S3/Commands/DeleteObject.hs b/Aws/S3/Commands/DeleteObject.hs
--- a/Aws/S3/Commands/DeleteObject.hs
+++ b/Aws/S3/Commands/DeleteObject.hs
diff --git a/Aws/S3/Core.hs b/Aws/S3/Core.hs
--- a/Aws/S3/Core.hs
+++ b/Aws/S3/Core.hs
@@ -10,6 +10,7 @@
 import           Data.Byteable
 import           Data.Conduit                   (($$+-))
 import           Data.Function
+import           Data.Functor                   ((<$>))
 import           Data.IORef
 import           Data.List
 import           Data.Maybe
@@ -187,14 +188,15 @@
                                                  | otherwise = x1 : merge (x2 : xs)
                 merge xs = xs
 
+      urlEncodedS3QObject = HTTP.urlEncode False <$> s3QObject
       (host, path) = case s3RequestStyle of
-                       PathStyle   -> ([Just s3Endpoint], [Just "/", fmap (`B8.snoc` '/') s3QBucket, s3QObject])
-                       BucketStyle -> ([s3QBucket, Just s3Endpoint], [Just "/", s3QObject])
-                       VHostStyle  -> ([Just $ fromMaybe s3Endpoint s3QBucket], [Just "/", s3QObject])
+                       PathStyle   -> ([Just s3Endpoint], [Just "/", fmap (`B8.snoc` '/') s3QBucket, urlEncodedS3QObject])
+                       BucketStyle -> ([s3QBucket, Just s3Endpoint], [Just "/", urlEncodedS3QObject])
+                       VHostStyle  -> ([Just $ fromMaybe s3Endpoint s3QBucket], [Just "/", urlEncodedS3QObject])
       sortedSubresources = sort s3QSubresources
       canonicalizedResource = Blaze8.fromChar '/' `mappend`
                               maybe mempty (\s -> Blaze.copyByteString s `mappend` Blaze8.fromChar '/') s3QBucket `mappend`
-                              maybe mempty Blaze.copyByteString s3QObject `mappend`
+                              maybe mempty Blaze.copyByteString urlEncodedS3QObject `mappend`
                               HTTP.renderQueryBuilder True sortedSubresources
       ti = case (s3UseUri, signatureTimeInfo) of
              (False, ti') -> ti'
diff --git a/Examples/DynamoDb.hs b/Examples/DynamoDb.hs
--- a/Examples/DynamoDb.hs
+++ b/Examples/DynamoDb.hs
@@ -1,5 +1,6 @@
 {-# LANGUAGE OverloadedStrings   #-}
 {-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE FlexibleContexts #-}
 
 module Main where
 
diff --git a/README.org b/README.org
--- a/README.org
+++ b/README.org
@@ -90,6 +90,12 @@
 
 ** 0.11 series
 
+- 0.11.4
+  - Url-encode S3 object names in URLs
+  - filepath 1.4
+  - tagged 0.8.x
+  - limit errors to <2 to avoid compatibility problems
+
 - 0.11.3
   - Support for blaze-builder 0.4
   - Support for utf8-string 1.0
diff --git a/aws.cabal b/aws.cabal
--- a/aws.cabal
+++ b/aws.cabal
@@ -1,5 +1,5 @@
 Name:                aws
-Version:             0.11.3
+Version:             0.11.4
 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.11.3
+  tag: 0.11.4
 
 Source-repository head
   type: git
@@ -126,7 +126,7 @@
                        cryptohash           >= 0.11    && < 0.12,
                        data-default         >= 0.5.3   && < 0.6,
                        directory            >= 1.0     && < 1.3,
-                       filepath             >= 1.1     && < 1.4,
+                       filepath             >= 1.1     && < 1.5,
                        http-conduit         >= 2.1     && < 2.2,
                        http-types           >= 0.7     && < 0.9,
                        lifted-base          >= 0.1     && < 0.3,
@@ -137,7 +137,7 @@
                        resourcet            >= 1.1     && < 1.2,
                        safe                 >= 0.3     && < 0.4,
                        scientific           >= 0.3,
-                       tagged               >= 0.7     && < 0.8,
+                       tagged               >= 0.7     && < 0.9,
                        text                 >= 0.11,
                        time                 >= 1.1.4   && < 1.6,
                        transformers         >= 0.2.2   && < 0.5,
@@ -285,7 +285,7 @@
     Build-depends:
                        base == 4.*,
                        aws,
-                       errors >= 1.4,
+                       errors >= 1.4 && < 2.0,
                        text >=0.11,
                        transformers >= 0.3
 
@@ -306,7 +306,7 @@
         aws,
         base == 4.*,
         bytestring >= 0.10,
-        errors >= 1.4.7,
+        errors >= 1.4.7 && < 2.0,
         http-client >= 0.3,
         lifted-base >= 0.2,
         monad-control >= 0.3,
@@ -339,7 +339,7 @@
         aws,
         base == 4.*,
         bytestring >= 0.10,
-        errors >= 1.4.7,
+        errors >= 1.4.7 && < 2.0,
         http-client >= 0.3,
         lifted-base >= 0.2,
         monad-control >= 0.3,
