Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ghc-aws for openSUSE:Factory checked in at 2026-06-22 17:43:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-aws (Old) and /work/SRC/openSUSE:Factory/.ghc-aws.new.1956 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-aws" Mon Jun 22 17:43:39 2026 rev:12 rq:1361088 version:0.25.2 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-aws/ghc-aws.changes 2025-01-28 16:41:15.791262028 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-aws.new.1956/ghc-aws.changes 2026-06-22 17:44:06.640611554 +0200 @@ -1,0 +2,15 @@ +Mon Dec 8 20:44:48 UTC 2025 - Peter Simons <[email protected]> + +- Update aws to version 0.25.2. + - S3: Add RestoreObject command + - S3: Make getBucket support Google Object Storage, which does + not include StorageClass in its response, by defaulting to Standard. + - [breaking change] Added poTagging constructor to PutObject + - Switch from no longer maintained cryptonite to crypton. + - Removed support for building with network-2.x, and removed the + NetworkBSD build flag. + +- Apply "0001-switch-from-memory-or-ram-to-allow-building-with-htt.patch" + to support http-client-tls 0.4.x. [CVE-2026-9648, bsc#1268157] + +------------------------------------------------------------------- @@ -91 +105,0 @@ - Old: ---- aws-0.24.4.tar.gz New: ---- 0001-switch-from-memory-or-ram-to-allow-building-with-htt.patch aws-0.25.2.tar.gz ----------(New B)---------- New: - Apply "0001-switch-from-memory-or-ram-to-allow-building-with-htt.patch" to support http-client-tls 0.4.x. [CVE-2026-9648, bsc#1268157] ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-aws.spec ++++++ --- /var/tmp/diff_new_pack.c9OqG0/_old 2026-06-22 17:44:07.440639595 +0200 +++ /var/tmp/diff_new_pack.c9OqG0/_new 2026-06-22 17:44:07.440639595 +0200 @@ -20,12 +20,13 @@ %global pkgver %{pkg_name}-%{version} %bcond_with tests Name: ghc-%{pkg_name} -Version: 0.24.4 +Version: 0.25.2 Release: 0 Summary: Amazon Web Services (AWS) for Haskell License: BSD-3-Clause URL: https://hackage.haskell.org/package/%{pkg_name} Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz +Patch01: 0001-switch-from-memory-or-ram-to-allow-building-with-htt.patch BuildRequires: ghc-Cabal-devel BuildRequires: ghc-aeson-devel BuildRequires: ghc-aeson-prof @@ -55,8 +56,8 @@ BuildRequires: ghc-conduit-prof BuildRequires: ghc-containers-devel BuildRequires: ghc-containers-prof -BuildRequires: ghc-cryptonite-devel -BuildRequires: ghc-cryptonite-prof +BuildRequires: ghc-crypton-devel +BuildRequires: ghc-crypton-prof BuildRequires: ghc-data-default-devel BuildRequires: ghc-data-default-prof BuildRequires: ghc-directory-devel ++++++ 0001-switch-from-memory-or-ram-to-allow-building-with-htt.patch ++++++ >From b510550d90baf5ba3302e270459e68fdfc33764e Mon Sep 17 00:00:00 2001 From: Peter Simons <[email protected]> Date: Mon, 22 Jun 2026 11:54:04 +0200 Subject: [PATCH] switch from memory or ram to allow building with http-client-tls 0.4.x --- aws.cabal | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aws.cabal b/aws.cabal index e91e0a2..748b6bd 100644 --- a/aws.cabal +++ b/aws.cabal @@ -145,10 +145,10 @@ Library directory >= 1.0 && < 2.0, filepath >= 1.1 && < 1.6, http-conduit >= 2.3 && < 2.4, - http-client-tls >= 0.3 && < 0.4, + http-client-tls >= 0.4 && < 0.5, http-types >= 0.7 && < 1.0, lifted-base >= 0.1 && < 0.3, - memory, + ram, monad-control >= 0.3, exceptions >= 0.8 && < 0.11, mtl == 2.*, -- 2.54.0 ++++++ aws-0.24.4.tar.gz -> aws-0.25.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/Aws/Core.hs new/aws-0.25.2/Aws/Core.hs --- old/aws-0.24.4/Aws/Core.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/aws-0.25.2/Aws/Core.hs 2001-09-09 03:46:40.000000000 +0200 @@ -185,7 +185,7 @@ (<*>) = ap instance Monoid m => Monad (Response m) where - return x = Response mempty (Right x) + return = pure 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 @@ -497,7 +497,7 @@ ++ sqOtherHeaders , HTTP.requestBody = - -- An explicityly defined body parameter should overwrite everything else. + -- An explicitly defined body parameter should overwrite everything else. case sqBody of Just x -> x Nothing -> @@ -524,7 +524,7 @@ PostQuery -> Just "application/x-www-form-urlencoded; charset=utf-8" _ -> Nothing --- | Create a URI fro a 'SignedQuery' object. +-- | Create a URI from a 'SignedQuery' object. -- -- Unused / incompatible fields will be silently ignored. queryToUri :: SignedQuery -> B.ByteString diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/Aws/DynamoDb/Commands/BatchWriteItem.hs new/aws-0.25.2/Aws/DynamoDb/Commands/BatchWriteItem.hs --- old/aws-0.24.4/Aws/DynamoDb/Commands/BatchWriteItem.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/aws-0.25.2/Aws/DynamoDb/Commands/BatchWriteItem.hs 2001-09-09 03:46:40.000000000 +0200 @@ -25,7 +25,7 @@ import Control.Applicative import Data.Aeson import Data.Default -import Data.Foldable (asum) +import qualified Data.Foldable as F (asum) import qualified Data.HashMap.Strict as HM import qualified Data.Text as T import Prelude @@ -89,7 +89,7 @@ instance FromJSON Request where parseJSON = withObject "PutRequest or DeleteRequest" $ \o -> - asum [ + F.asum [ do pr <- o .: "PutRequest" i <- pr .: "Item" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/Aws/DynamoDb/Commands/DeleteItem.hs new/aws-0.25.2/Aws/DynamoDb/Commands/DeleteItem.hs --- old/aws-0.24.4/Aws/DynamoDb/Commands/DeleteItem.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/aws-0.25.2/Aws/DynamoDb/Commands/DeleteItem.hs 2001-09-09 03:46:40.000000000 +0200 @@ -39,7 +39,7 @@ , diKey :: PrimaryKey -- ^ The item to delete. , diExpect :: Conditions - -- ^ (Possible) set of expections for a conditional Put + -- ^ (Possible) set of exceptions for a conditional Put , diReturn :: UpdateReturn -- ^ What to return from this query. , diRetCons :: ReturnConsumption diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/Aws/DynamoDb/Commands/PutItem.hs new/aws-0.25.2/Aws/DynamoDb/Commands/PutItem.hs --- old/aws-0.24.4/Aws/DynamoDb/Commands/PutItem.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/aws-0.25.2/Aws/DynamoDb/Commands/PutItem.hs 2001-09-09 03:46:40.000000000 +0200 @@ -40,7 +40,7 @@ -- ^ An item to Put. Attributes here will replace what maybe under -- the key on DDB. , piExpect :: Conditions - -- ^ (Possible) set of expections for a conditional Put + -- ^ (Possible) set of exceptions for a conditional Put , piReturn :: UpdateReturn -- ^ What to return from this query. , piRetCons :: ReturnConsumption diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/Aws/DynamoDb/Commands/UpdateItem.hs new/aws-0.25.2/Aws/DynamoDb/Commands/UpdateItem.hs --- old/aws-0.24.4/Aws/DynamoDb/Commands/UpdateItem.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/aws-0.25.2/Aws/DynamoDb/Commands/UpdateItem.hs 2001-09-09 03:46:40.000000000 +0200 @@ -105,7 +105,7 @@ -- -- @http:\/\/docs.aws.amazon.com\/amazondynamodb\/latest\/APIReference\/API_UpdateItem.html@ data UpdateAction - = UPut -- ^ Simpley write, overwriting any previous value + = UPut -- ^ Simply write, overwriting any previous value | UAdd -- ^ Numerical add or add to set. | UDelete -- ^ Empty value: remove; Set value: Subtract from set. deriving (Eq,Show,Read,Ord) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/Aws/DynamoDb/Core.hs new/aws-0.25.2/Aws/DynamoDb/Core.hs --- old/aws-0.24.4/Aws/DynamoDb/Core.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/aws-0.25.2/Aws/DynamoDb/Core.hs 2001-09-09 03:46:40.000000000 +0200 @@ -1254,7 +1254,7 @@ m >>= g = Parser $ \kf ks -> let ks' a = runParser (g a) kf ks in runParser m kf ks' {-# INLINE (>>=) #-} - return a = Parser $ \_kf ks -> ks a + return = pure {-# INLINE return #-} #if !(MIN_VERSION_base(4,13,0)) fail msg = Parser $ \kf _ks -> kf msg @@ -1273,7 +1273,7 @@ {-# INLINE fmap #-} instance Applicative Parser where - pure = return + pure a = Parser $ \_kf ks -> ks a {-# INLINE pure #-} (<*>) = apP {-# INLINE (<*>) #-} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/Aws/Iam/Commands/GetGroupPolicy.hs new/aws-0.25.2/Aws/Iam/Commands/GetGroupPolicy.hs --- old/aws-0.24.4/Aws/Iam/Commands/GetGroupPolicy.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/aws-0.25.2/Aws/Iam/Commands/GetGroupPolicy.hs 2001-09-09 03:46:40.000000000 +0200 @@ -18,7 +18,7 @@ import Text.XML.Cursor (($//)) import Prelude --- | Retreives the specified policy document for the specified group. +-- | Retrieves the specified policy document for the specified group. -- -- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_GetGroupPolicy.html> data GetGroupPolicy diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/Aws/Iam/Commands/GetUser.hs new/aws-0.25.2/Aws/Iam/Commands/GetUser.hs --- old/aws-0.24.4/Aws/Iam/Commands/GetUser.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/aws-0.25.2/Aws/Iam/Commands/GetUser.hs 2001-09-09 03:46:40.000000000 +0200 @@ -15,7 +15,7 @@ import Data.Typeable import Prelude --- | Retreives information about the given user. +-- | Retrieves information about the given user. -- -- If a user name is not given, IAM determines the user name based on the -- access key signing the request. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/Aws/Iam/Commands/GetUserPolicy.hs new/aws-0.25.2/Aws/Iam/Commands/GetUserPolicy.hs --- old/aws-0.24.4/Aws/Iam/Commands/GetUserPolicy.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/aws-0.25.2/Aws/Iam/Commands/GetUserPolicy.hs 2001-09-09 03:46:40.000000000 +0200 @@ -18,7 +18,7 @@ import Text.XML.Cursor (($//)) import Prelude --- | Retreives the specified policy document for the specified user. +-- | Retrieves the specified policy document for the specified user. -- -- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUserPolicy.html> data GetUserPolicy diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/Aws/S3/Commands/PutObject.hs new/aws-0.25.2/Aws/S3/Commands/PutObject.hs --- old/aws-0.24.4/Aws/S3/Commands/PutObject.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/aws-0.25.2/Aws/S3/Commands/PutObject.hs 2001-09-09 03:46:40.000000000 +0200 @@ -5,16 +5,17 @@ import Aws.Core import Aws.S3.Core import Control.Applicative -import Control.Arrow (second) -import qualified Crypto.Hash as CH -import Data.ByteString.Char8 ({- IsString -}) +import Control.Arrow (second) +import qualified Crypto.Hash as CH +import Data.ByteString.Char8 ({- IsString -}) import Data.Maybe -import qualified Data.ByteString.Char8 as B -import qualified Data.CaseInsensitive as CI -import qualified Data.Text as T -import qualified Data.Text.Encoding as T +import qualified Data.ByteString.Char8 as B +import qualified Data.CaseInsensitive as CI +import qualified Data.Text as T +import qualified Data.Text.Encoding as T import Prelude -import qualified Network.HTTP.Conduit as HTTP +import qualified Network.HTTP.Conduit as HTTP +import qualified Network.HTTP.Types.URI as URI data PutObject = PutObject { poObjectName :: T.Text, @@ -32,11 +33,12 @@ poRequestBody :: HTTP.RequestBody, poMetadata :: [(T.Text,T.Text)], poAutoMakeBucket :: Bool, -- ^ Internet Archive S3 nonstandard extension - poExpect100Continue :: Bool -- ^ Note: Requires http-client >= 0.4.10 + poExpect100Continue :: Bool, -- ^ Note: Requires http-client >= 0.4.10 + poTagging :: [(T.Text,T.Text)] -- ^ tag-set as key/value pairs } putObject :: Bucket -> T.Text -> HTTP.RequestBody -> PutObject -putObject bucket obj body = PutObject obj bucket Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing body [] False False +putObject bucket obj body = PutObject obj bucket Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing body [] False False [] data PutObjectResponse = PutObjectResponse @@ -55,13 +57,16 @@ , s3QQuery = [] , s3QContentType = poContentType , s3QContentMd5 = poContentMD5 - , s3QAmzHeaders = map (second T.encodeUtf8) $ catMaybes [ + , s3QAmzHeaders = map (second T.encodeUtf8) (catMaybes [ ("x-amz-acl",) <$> writeCannedAcl <$> poAcl , ("x-amz-storage-class",) <$> writeStorageClass <$> poStorageClass , ("x-amz-website-redirect-location",) <$> poWebsiteRedirectLocation , ("x-amz-server-side-encryption",) <$> writeServerSideEncryption <$> poServerSideEncryption , if poAutoMakeBucket then Just ("x-amz-auto-make-bucket", "1") else Nothing ] ++ map( \x -> (CI.mk . T.encodeUtf8 $ T.concat ["x-amz-meta-", fst x], snd x)) poMetadata + ) ++ if null poTagging + then [] + else [("x-amz-tagging", URI.renderQuery False $ URI.queryTextToQuery $ map (second Just) poTagging)] , s3QOtherHeaders = map (second T.encodeUtf8) $ catMaybes [ ("Expires",) . T.pack . show <$> poExpires , ("Cache-Control",) <$> poCacheControl diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/Aws/S3/Commands/RestoreObject.hs new/aws-0.25.2/Aws/S3/Commands/RestoreObject.hs --- old/aws-0.24.4/Aws/S3/Commands/RestoreObject.hs 1970-01-01 01:00:00.000000000 +0100 +++ new/aws-0.25.2/Aws/S3/Commands/RestoreObject.hs 2001-09-09 03:46:40.000000000 +0200 @@ -0,0 +1,112 @@ +{-# LANGUAGE CPP #-} +module Aws.S3.Commands.RestoreObject +where + +import Aws.Core +import Aws.S3.Core +import qualified Data.ByteString.Lazy.Char8 as B8 +import qualified Data.Map as M +import Data.Maybe +import qualified Data.Text as T +import qualified Data.Text.Encoding as T +import qualified Network.HTTP.Types as HTTP +import qualified Network.HTTP.Conduit as HTTP +import qualified Text.XML as XML +#if !MIN_VERSION_time(1,5,0) +import System.Locale +#endif +import Prelude + +data RestoreObject + = RestoreObject { roObjectName :: Object + , roBucket :: Bucket + , roVersionId :: Maybe T.Text + , roTier :: RestoreObjectTier + , roObjectLifetimeDays :: RestoreObjectLifetimeDays + } + deriving (Show) + +data RestoreObjectTier + = RestoreObjectTierExpedited + | RestoreObjectTierStandard + | RestoreObjectTierBulk + deriving (Show) + +data RestoreObjectLifetimeDays = RestoreObjectLifetimeDays Integer + deriving (Show) + +restoreObject :: Bucket -> T.Text -> RestoreObjectTier -> RestoreObjectLifetimeDays -> RestoreObject +restoreObject bucket obj tier lifetime = RestoreObject obj bucket Nothing tier lifetime + +data RestoreObjectResponse + = RestoreObjectAccepted + | RestoreObjectAlreadyRestored + | RestoreObjectAlreadyInProgress + deriving (Show) + +-- | ServiceConfiguration: 'S3Configuration' +instance SignQuery RestoreObject where + type ServiceConfiguration RestoreObject = S3Configuration + signQuery RestoreObject {..} = s3SignQuery S3Query + { s3QMethod = Post + , s3QBucket = Just $ T.encodeUtf8 roBucket + , s3QObject = Just $ T.encodeUtf8 roObjectName + , s3QSubresources = HTTP.toQuery + [ Just ( "restore" :: B8.ByteString, Nothing :: Maybe T.Text) + , case roVersionId of + Nothing -> Nothing + Just v -> Just ("versionId" :: B8.ByteString, Just v) + ] + , s3QQuery = [] + , s3QContentType = Nothing + , s3QContentMd5 = Nothing + , s3QAmzHeaders = [] + , s3QOtherHeaders = [] + , s3QRequestBody = (Just . HTTP.RequestBodyLBS . XML.renderLBS XML.def) + XML.Document + { XML.documentPrologue = XML.Prologue [] Nothing [] + , XML.documentRoot = XML.Element + { XML.elementName = "{http://s3.amazonaws.com/doc/2006-03-01/}RestoreRequest" + , XML.elementAttributes = M.empty + , XML.elementNodes = + [ XML.NodeElement (XML.Element + { XML.elementName = "{http://s3.amazonaws.com/doc/2006-03-01/}Days" + , XML.elementAttributes = M.empty + , XML.elementNodes = case roObjectLifetimeDays of + RestoreObjectLifetimeDays n -> [XML.NodeContent (T.pack (show n))] + }) + , XML.NodeElement (XML.Element + { XML.elementName = "{http://s3.amazonaws.com/doc/2006-03-01/}GlacierJobParameters" + , XML.elementAttributes = M.empty + , XML.elementNodes = + [ XML.NodeElement (XML.Element + { XML.elementName = "{http://s3.amazonaws.com/doc/2006-03-01/}Tier" + , XML.elementAttributes = M.empty + , XML.elementNodes = case roTier of + RestoreObjectTierExpedited -> [XML.NodeContent "Expedited"] + RestoreObjectTierStandard -> [XML.NodeContent "Standard"] + RestoreObjectTierBulk -> [XML.NodeContent "Bulk"] + }) + ] + }) + ] + } + , XML.documentEpilogue = [] + } + } + +instance ResponseConsumer RestoreObject RestoreObjectResponse where + type ResponseMetadata RestoreObjectResponse = S3Metadata + responseConsumer httpReq _ _ resp + | status == HTTP.status202 = return RestoreObjectAccepted + | status == HTTP.status200 = return RestoreObjectAlreadyRestored + | status == HTTP.status409 = return RestoreObjectAlreadyInProgress + | otherwise = throwStatusCodeException httpReq resp + where + status = HTTP.responseStatus resp + +instance Transaction RestoreObject RestoreObjectResponse + +instance AsMemoryResponse RestoreObjectResponse where + type MemoryResponse RestoreObjectResponse = RestoreObjectResponse + loadToMemory = return diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/Aws/S3/Commands.hs new/aws-0.25.2/Aws/S3/Commands.hs --- old/aws-0.24.4/Aws/S3/Commands.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/aws-0.25.2/Aws/S3/Commands.hs 2001-09-09 03:46:40.000000000 +0200 @@ -15,6 +15,7 @@ , module Aws.S3.Commands.PutBucket , module Aws.S3.Commands.PutBucketVersioning , module Aws.S3.Commands.PutObject +, module Aws.S3.Commands.RestoreObject , module Aws.S3.Commands.Multipart ) where @@ -34,4 +35,5 @@ import Aws.S3.Commands.PutBucket import Aws.S3.Commands.PutBucketVersioning import Aws.S3.Commands.PutObject +import Aws.S3.Commands.RestoreObject import Aws.S3.Commands.Multipart diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/Aws/S3/Core.hs new/aws-0.25.2/Aws/S3/Core.hs --- old/aws-0.24.4/Aws/S3/Core.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/aws-0.25.2/Aws/S3/Core.hs 2001-09-09 03:46:40.000000000 +0200 @@ -626,7 +626,9 @@ XML.NodeElement e | elName e == "Version" -> do eTag <- force "Missing object ETag" $ el $/ elContent "ETag" size <- forceM "Missing object Size" $ el $/ elContent "Size" &| textReadInt - storageClass <- forceM "Missing object StorageClass" $ el $/ elContent "StorageClass" &| return . parseStorageClass + storageClass <- case el $/ elContent "StorageClass" &| parseStorageClass of + (x:_) -> return x + [] -> return Standard return ObjectVersion{ oviKey = key , oviVersionId = versionId @@ -672,7 +674,9 @@ lastModified <- forceM "Missing object LastModified" $ el $/ elContent "LastModified" &| time eTag <- force "Missing object ETag" $ el $/ elContent "ETag" size <- forceM "Missing object Size" $ el $/ elContent "Size" &| textReadInt - storageClass <- forceM "Missing object StorageClass" $ el $/ elContent "StorageClass" &| return . parseStorageClass + storageClass <- case el $/ elContent "StorageClass" &| parseStorageClass of + (x:_) -> return x + [] -> return Standard owner <- case el $/ Cu.laxElement "Owner" &| parseUserInfo of (x:_) -> fmap' Just x [] -> return Nothing diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/Aws/Sqs/Commands/Message.hs new/aws-0.25.2/Aws/Sqs/Commands/Message.hs --- old/aws-0.24.4/Aws/Sqs/Commands/Message.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/aws-0.25.2/Aws/Sqs/Commands/Message.hs 2001-09-09 03:46:40.000000000 +0200 @@ -19,7 +19,7 @@ , ReceiveMessage(..) , ReceiveMessageResponse(..) --- * Change Message Visiblity +-- * Change Message Visibility , ChangeMessageVisibility(..) , ChangeMessageVisibilityResponse(..) ) where @@ -426,7 +426,7 @@ -- <http://queue.amazonaws.com/doc/2012-11-05/QueueService.wsdl> -- all elements except for the attributes are specified as required. -- At least for the field 'mMD5OfMessageAttributes' the the service --- is not always returning a value and therefor we make this field optional. +-- is not always returning a value and therefore we make this field optional. -- data Message = Message { mMessageId :: !T.Text @@ -508,7 +508,7 @@ return $ UserMessageAttributeBinary c val (x, _) -> throwM . XmlException - $ "unkown data type for MessageAttributeValue: " <> T.unpack x + $ "unknown data type for MessageAttributeValue: " <> T.unpack x where parseType s = case T.break (== '.') s of (a, "") -> (a, Nothing) @@ -519,7 +519,7 @@ readMessage cursor = do mid <- force "Missing Message Id" $ cursor $// Cu.laxElement "MessageId" &/ Cu.content - rh <- force "Missing Reciept Handle" + rh <- force "Missing Receipt Handle" $ cursor $// Cu.laxElement "ReceiptHandle" &/ Cu.content md5 <- force "Missing MD5 Signature" $ cursor $// Cu.laxElement "MD5OfBody" &/ Cu.content diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/CHANGELOG.md new/aws-0.25.2/CHANGELOG.md --- old/aws-0.24.4/CHANGELOG.md 2001-09-09 03:46:40.000000000 +0200 +++ new/aws-0.25.2/CHANGELOG.md 2001-09-09 03:46:40.000000000 +0200 @@ -1,3 +1,21 @@ +0.25 series +----------- + +NOTES: 0.25 brings technically breaking changes, which should not affect +most users. I recommend using smart constructors and {} matching syntax +whenever possible when interacting with aws types. + +- 0.25.2 + - S3: Add RestoreObject command +- 0.25.1 + - S3: Make getBucket support Google Object Storage, which does + not include StorageClass in its response, by defaulting to Standard. +- 0.25 + - [breaking change] Added poTagging constructor to PutObject + - Switch from no longer maintained cryptonite to crypton. + - Removed support for building with network-2.x, and removed the + NetworkBSD build flag. + 0.24 series ----------- @@ -299,7 +317,7 @@ \#72, \#74) - SES: SendRawEmail now correctly encodes destinations and allows multiple destinations (\#73) - - EC2: support fo Instance metadata (\#37) + - EC2: support for Instance metadata (\#37) - Core: queryToHttpRequest allows overriding "Date" for the benefit of Chris Dornan's Elastic Transcoder bindings (\#77) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/Examples/Sqs.hs new/aws-0.25.2/Examples/Sqs.hs --- old/aws-0.24.4/Examples/Sqs.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/aws-0.25.2/Examples/Sqs.hs 2001-09-09 03:46:40.000000000 +0200 @@ -90,7 +90,7 @@ -} exceptT T.putStrLn T.putStrLn . retryT 4 $ do qUrls <- liftIO $ do - putStrLn $ "Listing all queueus to check to see if " ++ show (Sqs.qName sqsQName) ++ " is gone" + putStrLn $ "Listing all queues to check to see if " ++ show (Sqs.qName sqsQName) ++ " is gone" Sqs.ListQueuesResponse qUrls_ <- Aws.simpleAws cfg sqscfg $ Sqs.ListQueues Nothing mapM_ T.putStrLn qUrls_ return qUrls_ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/aws.cabal new/aws-0.25.2/aws.cabal --- old/aws-0.24.4/aws.cabal 2001-09-09 03:46:40.000000000 +0200 +++ new/aws-0.25.2/aws.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -1,5 +1,5 @@ Name: aws -Version: 0.24.4 +Version: 0.25.2 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.md>. Homepage: http://github.com/aristidb/aws @@ -19,7 +19,7 @@ Source-repository this type: git location: https://github.com/aristidb/aws.git - tag: 0.24 + tag: 0.25.2 Source-repository head type: git @@ -29,10 +29,6 @@ Description: Build the examples. Default: False -Flag NetworkBSD - Description: Build with network-3.0 which split out network-bsd - Default: True - Library Exposed-modules: Aws @@ -97,6 +93,7 @@ Aws.S3.Commands.PutBucket Aws.S3.Commands.PutBucketVersioning Aws.S3.Commands.PutObject + Aws.S3.Commands.RestoreObject Aws.S3.Commands.Multipart Aws.S3.Core Aws.Ses @@ -143,7 +140,7 @@ conduit >= 1.3 && < 1.4, conduit-extra >= 1.3 && < 1.4, containers >= 0.4, - cryptonite >= 0.11, + crypton >= 0.34, data-default >= 0.5.3 && < 0.9, directory >= 1.0 && < 2.0, filepath >= 1.1 && < 1.6, @@ -166,17 +163,9 @@ unordered-containers >= 0.2, utf8-string >= 0.3 && < 1.1, vector >= 0.10, - xml-conduit >= 1.8 && <2.0 - if flag(NetworkBSD) - Build-depends: network == 3.*, network-bsd == 2.8.* - else - Build-depends: network == 2.* - - if !impl(ghc >= 7.6) - Build-depends: ghc-prim - - if !impl(ghc >= 8.0) - Build-depends: semigroups == 0.18.* + xml-conduit >= 1.8 && <2.0, + network == 3.*, + network-bsd == 2.8.* GHC-Options: -Wall diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/tests/DynamoDb/Utils.hs new/aws-0.25.2/tests/DynamoDb/Utils.hs --- old/aws-0.24.4/tests/DynamoDb/Utils.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/aws-0.25.2/tests/DynamoDb/Utils.hs 2001-09-09 03:46:40.000000000 +0200 @@ -119,7 +119,7 @@ withTable = withTable_ True withTable_ - :: Bool -- ^ whether to prefix te table name + :: Bool -- ^ whether to prefix the table name -> T.Text -- ^ table Name -> Int -- ^ read capacity (#(non-consistent) reads * itemsize/4KB) -> Int -- ^ write capacity (#writes * itemsize/1KB) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/tests/S3/Main.hs new/aws-0.25.2/tests/S3/Main.hs --- old/aws-0.24.4/tests/S3/Main.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/aws-0.25.2/tests/S3/Main.hs 2001-09-09 03:46:40.000000000 +0200 @@ -88,7 +88,7 @@ , "By running the tests in this test-suite costs for usage of AWS" , "services may incur." , "" - , "In order to actually excute the tests in this test-suite you must" + , "In order to actually execute the tests in this test-suite you must" , "provide the command line options:" , "" , " --run-with-aws-credentials" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-0.24.4/tests/Sqs/Main.hs new/aws-0.25.2/tests/Sqs/Main.hs --- old/aws-0.24.4/tests/Sqs/Main.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/aws-0.25.2/tests/Sqs/Main.hs 2001-09-09 03:46:40.000000000 +0200 @@ -84,7 +84,7 @@ , "By running the tests in this test-suite costs for usage of AWS" , "services may incur." , "" - , "In order to actually excute the tests in this test-suite you must" + , "In order to actually execute the tests in this test-suite you must" , "provide the command line options:" , "" , " --run-with-aws-credentials" @@ -298,7 +298,7 @@ -- | Checks that long polling is actually enabled. We add a delay to the messages -- and immediately make a receive request with a polling wait time that is larger -- than the delay. Note that even though polling forces consistent reads, messages --- will become available with some (small) offset. Therefor we request only a single +-- will become available with some (small) offset. Therefore we request only a single -- message at a time. -- prop_sendReceiveDeleteMessageLongPolling1
