Hello community,

here is the log from the commit of package ghc-yesod-core for openSUSE:Factory 
checked in at 2017-04-11 09:43:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-yesod-core (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-yesod-core.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-yesod-core"

Tue Apr 11 09:43:59 2017 rev:11 rq:485177 version:1.4.32

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-yesod-core/ghc-yesod-core.changes    
2017-02-21 13:46:10.247658930 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-yesod-core.new/ghc-yesod-core.changes       
2017-04-11 09:44:04.182349137 +0200
@@ -1,0 +2,10 @@
+Wed Mar 22 09:03:58 UTC 2017 - psim...@suse.com
+
+- Update to version 1.4.32 revision 1 with cabal2obs.
+
+-------------------------------------------------------------------
+Tue Mar  7 11:19:29 UTC 2017 - psim...@suse.com
+
+- Update to version 1.4.32 with cabal2obs.
+
+-------------------------------------------------------------------

Old:
----
  yesod-core-1.4.31.tar.gz

New:
----
  yesod-core-1.4.32.tar.gz
  yesod-core.cabal

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-yesod-core.spec ++++++
--- /var/tmp/diff_new_pack.cuhdnB/_old  2017-04-11 09:44:05.938101113 +0200
+++ /var/tmp/diff_new_pack.cuhdnB/_new  2017-04-11 09:44:05.938101113 +0200
@@ -19,13 +19,14 @@
 %global pkg_name yesod-core
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        1.4.31
+Version:        1.4.32
 Release:        0
 Summary:        Creation of type-safe, RESTful web applications
 License:        MIT
 Group:          Development/Languages/Other
 Url:            https://hackage.haskell.org/package/%{pkg_name}
 Source0:        
https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
+Source1:        
https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
 BuildRequires:  ghc-Cabal-devel
 BuildRequires:  ghc-aeson-devel
 BuildRequires:  ghc-auto-update-devel
@@ -104,6 +105,7 @@
 
 %prep
 %setup -q -n %{pkg_name}-%{version}
+cp -p %{SOURCE1} %{pkg_name}.cabal
 
 %build
 %ghc_lib_build

++++++ yesod-core-1.4.31.tar.gz -> yesod-core-1.4.32.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/ChangeLog.md 
new/yesod-core-1.4.32/ChangeLog.md
--- old/yesod-core-1.4.31/ChangeLog.md  2017-02-02 06:52:44.000000000 +0100
+++ new/yesod-core-1.4.32/ChangeLog.md  2017-03-01 07:53:06.000000000 +0100
@@ -1,3 +1,10 @@
+## 1.4.32
+
+* Fix warnings
+* Route parsing handles CRLF line endings
+* Add 'getPostParams' in Yesod.Core.Handler
+* Haddock rendering improved.
+
 ## 1.4.31
 
 * Add `parseCheckJsonBody` and `requireCheckJsonBody`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/Yesod/Core/Class/Handler.hs 
new/yesod-core-1.4.32/Yesod/Core/Class/Handler.hs
--- old/yesod-core-1.4.31/Yesod/Core/Class/Handler.hs   2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/Yesod/Core/Class/Handler.hs   2017-02-05 
13:38:01.000000000 +0100
@@ -5,6 +5,7 @@
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE UndecidableInstances #-}
+{-# OPTIONS_GHC -fno-warn-warnings-deprecations #-} -- Because of ErrorT
 module Yesod.Core.Class.Handler
     ( MonadHandler (..)
     , MonadWidget (..)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/Yesod/Core/Class/Yesod.hs 
new/yesod-core-1.4.32/Yesod/Core/Class/Yesod.hs
--- old/yesod-core-1.4.31/Yesod/Core/Class/Yesod.hs     2016-12-08 
02:06:37.000000000 +0100
+++ new/yesod-core-1.4.32/Yesod/Core/Class/Yesod.hs     2017-02-05 
13:38:01.000000000 +0100
@@ -442,10 +442,9 @@
 -- headers are ignored over HTTP.
 --
 -- Since 1.4.7
-sslOnlyMiddleware :: Yesod site
-                     => Int -- ^ minutes
-                     -> HandlerT site IO res
-                     -> HandlerT site IO res
+sslOnlyMiddleware :: Int -- ^ minutes
+                  -> HandlerT site IO res
+                  -> HandlerT site IO res
 sslOnlyMiddleware timeout handler = do
     addHeader "Strict-Transport-Security"
               $ T.pack $ concat [ "max-age="
@@ -496,8 +495,7 @@
 -- For details, see the "AJAX CSRF protection" section of "Yesod.Core.Handler".
 --
 -- Since 1.4.14
-csrfCheckMiddleware :: Yesod site
-                    => HandlerT site IO res
+csrfCheckMiddleware :: HandlerT site IO res
                     -> HandlerT site IO Bool -- ^ Whether or not to perform 
the CSRF check.
                     -> CI S8.ByteString -- ^ The header name to lookup the 
CSRF token from.
                     -> Text -- ^ The POST parameter name to lookup the CSRF 
token from.
@@ -512,7 +510,7 @@
 -- The cookie's path is set to @/@, making it valid for your whole website.
 --
 -- Since 1.4.14
-defaultCsrfSetCookieMiddleware :: Yesod site => HandlerT site IO res -> 
HandlerT site IO res
+defaultCsrfSetCookieMiddleware :: HandlerT site IO res -> HandlerT site IO res
 defaultCsrfSetCookieMiddleware handler = setCsrfCookie >> handler
 
 -- | Takes a 'SetCookie' and overrides its value with a CSRF token, then sets 
the cookie. See 'setCsrfCookieWithCookie'.
@@ -522,7 +520,7 @@
 -- Make sure to set the 'setCookiePath' to the root path of your application, 
otherwise you'll generate a new CSRF token for every path of your app. If your 
app is run from from e.g. www.example.com\/app1, use @app1@. The vast majority 
of sites will just use @/@.
 --
 -- Since 1.4.14
-csrfSetCookieMiddleware :: Yesod site => HandlerT site IO res -> SetCookie -> 
HandlerT site IO res
+csrfSetCookieMiddleware :: HandlerT site IO res -> SetCookie -> HandlerT site 
IO res
 csrfSetCookieMiddleware handler cookie = setCsrfCookieWithCookie cookie >> 
handler
 
 -- | Calls 'defaultCsrfSetCookieMiddleware' and 'defaultCsrfCheckMiddleware'.
@@ -546,7 +544,7 @@
 defaultCsrfMiddleware = defaultCsrfSetCookieMiddleware . 
defaultCsrfCheckMiddleware
 
 -- | Convert a widget to a 'PageContent'.
-widgetToPageContent :: (Eq (Route site), Yesod site)
+widgetToPageContent :: Yesod site
                     => WidgetT site IO ()
                     -> HandlerT site IO (PageContent (Route site))
 widgetToPageContent w = do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/Yesod/Core/Handler.hs 
new/yesod-core-1.4.32/Yesod/Core/Handler.hs
--- old/yesod-core-1.4.31/Yesod/Core/Handler.hs 2016-11-10 10:31:51.000000000 
+0100
+++ new/yesod-core-1.4.32/Yesod/Core/Handler.hs 2017-02-27 08:46:27.000000000 
+0100
@@ -31,6 +31,7 @@
     , getsYesod
     , getUrlRender
     , getUrlRenderParams
+    , getPostParams
     , getCurrentRoute
     , getRequest
     , waiRequest
@@ -339,6 +340,18 @@
     => m (Route (HandlerSite m) -> [(Text, Text)] -> Text)
 getUrlRenderParams = rheRender <$> askHandlerEnv
 
+-- | Get all the post parameters passed to the handler. To also get
+-- the submitted files (if any), you have to use 'runRequestBody'
+-- instead of this function.
+--
+-- @since 1.4.33
+getPostParams
+  :: MonadHandler m
+  => m [(Text, Text)]
+getPostParams = do
+  reqBodyContent <- runRequestBody
+  return $ fst reqBodyContent
+
 -- | Get the route requested by the user. If this is a 404 response- where the
 -- user requested an invalid route- this function will return 'Nothing'.
 getCurrentRoute :: MonadHandler m => m (Maybe (Route (HandlerSite m)))
@@ -425,7 +438,7 @@
 -- Uses 'handlerToIO', liftResourceT, and resourceForkIO
 -- for correctness and efficiency
 --
--- Since 1.2.8
+-- @since 1.2.8
 forkHandler :: (SomeException -> HandlerT site IO ()) -- ^ error handler
               -> HandlerT site IO ()
               -> HandlerT site IO ()
@@ -617,7 +630,7 @@
 -- | Bypass remaining handler code and output the given JSON with the given
 -- status code.
 --
--- Since 1.4.18
+-- @since 1.4.18
 sendStatusJSON :: (MonadHandler m, ToJSON c) => H.Status -> c -> m a
 #if MIN_VERSION_aeson(0, 11, 0)
 sendStatusJSON s v = sendResponseStatus s (toEncoding v)
@@ -642,7 +655,7 @@
 
 -- | Switch over to handling the current request with a WAI @Application@.
 --
--- Since 1.2.17
+-- @since 1.2.17
 sendWaiApplication :: MonadHandler m => W.Application -> m b
 sendWaiApplication = handlerError . HCWaiApp
 
@@ -650,7 +663,7 @@
 -- WebSockets. Requires WAI 3.0 or later, and a web server which supports raw
 -- responses (e.g., Warp).
 --
--- Since 1.2.16
+-- @since 1.2.16
 sendRawResponseNoConduit
     :: (MonadHandler m, MonadBaseControl IO m)
     => (IO S8.ByteString -> (S8.ByteString -> IO ()) -> m ())
@@ -666,7 +679,7 @@
 -- WAI 2.1 or later, and a web server which supports raw responses (e.g.,
 -- Warp).
 --
--- Since 1.2.7
+-- @since 1.2.7
 sendRawResponse :: (MonadHandler m, MonadBaseControl IO m)
                 => (Source IO S8.ByteString -> Sink S8.ByteString IO () -> m 
())
                 -> m a
@@ -685,7 +698,7 @@
 -- | Send a 304 not modified response immediately. This is a short-circuiting
 -- action.
 --
--- Since 1.4.4
+-- @since 1.4.4
 notModified :: MonadHandler m => m a
 notModified = sendWaiResponse $ W.responseBuilder H.status304 [] mempty
 
@@ -765,7 +778,7 @@
 -- Note that, while the data type used here is 'Text', you must provide only
 -- ASCII value to be HTTP compliant.
 --
--- Since 1.2.0
+-- @since 1.2.0
 addHeader :: MonadHandler m => Text -> Text -> m ()
 addHeader a = addHeaderInternal . Header (encodeUtf8 a) . encodeUtf8
 
@@ -810,7 +823,7 @@
 -- value is a value etag value, no sanity checking is performed by this
 -- function.
 --
--- Since 1.4.4
+-- @since 1.4.4
 setEtag :: MonadHandler m => Text -> m ()
 setEtag etag = do
     mmatch <- lookupHeader "if-none-match"
@@ -856,7 +869,7 @@
 
 -- | Clear all session variables.
 --
--- Since: 1.0.1
+-- @since: 1.0.1
 clearSession :: MonadHandler m => m ()
 clearSession = modify $ \x -> x { ghsSession = Map.empty }
 
@@ -896,7 +909,7 @@
 --
 -- > redirect (NewsfeedR :#: storyId)
 --
--- Since 1.2.9.
+-- @since 1.2.9.
 data Fragment a b = a :#: b deriving (Show, Typeable)
 
 instance (RedirectUrl master a, PathPiece b) => RedirectUrl master (Fragment a 
b) where
@@ -960,7 +973,7 @@
 
 -- | Deprecated synonym for 'withUrlRenderer'.
 --
--- Since 1.2.0
+-- @since 1.2.0
 giveUrlRenderer :: MonadHandler m
                 => ((Route (HandlerSite m) -> [(Text, Text)] -> Text) -> 
output)
                 -> m output
@@ -970,7 +983,7 @@
 -- | Provide a URL rendering function to the given function and return the
 -- result. Useful for processing Shakespearean templates.
 --
--- Since 1.2.20
+-- @since 1.2.20
 withUrlRenderer :: MonadHandler m
                 => ((Route (HandlerSite m) -> [(Text, Text)] -> Text) -> 
output)
                 -> m output
@@ -998,7 +1011,7 @@
 --
 -- See the original announcement: 
<http://www.yesodweb.com/blog/2013/03/yesod-1-2-cleaner-internals>
 --
--- Since 1.2.0
+-- @since 1.2.0
 cached :: (MonadHandler m, Typeable a)
        => m a
        -> m a
@@ -1022,7 +1035,7 @@
 -- You can turn those parameters into a ByteString cache key.
 -- For example, caching a lookup of a Link by a token where multiple token 
lookups might be performed.
 --
--- Since 1.4.0
+-- @since 1.4.0
 cachedBy :: (MonadHandler m, Typeable a) => S.ByteString -> m a -> m a
 cachedBy k action = do
     cache <- ghsCacheBy <$> get
@@ -1063,13 +1076,13 @@
 
 -- | Lookup a request header.
 --
--- Since 1.2.2
+-- @since 1.2.2
 lookupHeader :: MonadHandler m => CI S8.ByteString -> m (Maybe S8.ByteString)
 lookupHeader = fmap listToMaybe . lookupHeaders
 
 -- | Lookup a request header.
 --
--- Since 1.2.2
+-- @since 1.2.2
 lookupHeaders :: MonadHandler m => CI S8.ByteString -> m [S8.ByteString]
 lookupHeaders key = do
     req <- waiRequest
@@ -1078,7 +1091,7 @@
 -- | Lookup basic authentication data from __Authorization__ header of
 -- request. Returns user name and password
 --
--- Since 1.4.9
+-- @since 1.4.9
 lookupBasicAuth :: (MonadHandler m) => m (Maybe (Text, Text))
 lookupBasicAuth = fmap (>>= getBA) (lookupHeader "Authorization")
   where
@@ -1088,7 +1101,7 @@
 -- | Lookup bearer authentication datafrom __Authorization__ header of
 -- request. Returns bearer token value
 --
--- Since 1.4.9
+-- @since 1.4.9
 lookupBearerAuth :: (MonadHandler m) => m (Maybe Text)
 lookupBearerAuth = fmap (>>= getBR)
                    (lookupHeader "Authorization")
@@ -1119,13 +1132,13 @@
 lookupPostParam = fmap listToMaybe . lookupPostParams
 
 -- | Lookup for POSTed files.
-lookupFile :: (MonadHandler m, MonadResource m)
+lookupFile :: MonadHandler m
            => Text
            -> m (Maybe FileInfo)
 lookupFile = fmap listToMaybe . lookupFiles
 
 -- | Lookup for POSTed files.
-lookupFiles :: (MonadHandler m, MonadResource m)
+lookupFiles :: MonadHandler m
             => Text
             -> m [FileInfo]
 lookupFiles pn = do
@@ -1162,7 +1175,7 @@
 -- | Select a representation to send to the client based on the representations
 -- provided inside this do-block. Should be used together with 'provideRep'.
 --
--- Since 1.2.0
+-- @since 1.2.0
 selectRep :: MonadHandler m
           => Writer.Writer (Endo [ProvidedRep m]) ()
           -> m TypedContent
@@ -1218,13 +1231,13 @@
 
 -- | Internal representation of a single provided representation.
 --
--- Since 1.2.0
+-- @since 1.2.0
 data ProvidedRep m = ProvidedRep !ContentType !(m Content)
 
 -- | Provide a single representation to be used, based on the request of the
 -- client. Should be used together with 'selectRep'.
 --
--- Since 1.2.0
+-- @since 1.2.0
 provideRep :: (Monad m, HasContentType a)
            => m a
            -> Writer.Writer (Endo [ProvidedRep m]) ()
@@ -1237,7 +1250,7 @@
 --
 -- > provideRepType "application/x-special-format" "This is the content"
 --
--- Since 1.2.0
+-- @since 1.2.0
 provideRepType :: (Monad m, ToContent a)
                => ContentType
                -> m a
@@ -1247,7 +1260,7 @@
 
 -- | Stream in the raw request body without any parsing.
 --
--- Since 1.2.0
+-- @since 1.2.0
 rawRequestBody :: MonadHandler m => Source m S.ByteString
 rawRequestBody = do
     req <- lift waiRequest
@@ -1267,7 +1280,7 @@
 --
 -- > respond ct = return . TypedContent ct . toContent
 --
--- Since 1.2.0
+-- @since 1.2.0
 respond :: (Monad m, ToContent a) => ContentType -> a -> m TypedContent
 respond ct = return . TypedContent ct . toContent
 
@@ -1279,7 +1292,7 @@
 -- actions make no sense here. For example: short-circuit responses, setting
 -- headers, changing status codes, etc.
 --
--- Since 1.2.0
+-- @since 1.2.0
 respondSource :: ContentType
               -> Source (HandlerT site IO) (Flush Builder)
               -> HandlerT site IO TypedContent
@@ -1293,44 +1306,44 @@
 -- | In a streaming response, send a single chunk of data. This function works
 -- on most datatypes, such as @ByteString@ and @Html@.
 --
--- Since 1.2.0
+-- @since 1.2.0
 sendChunk :: Monad m => ToFlushBuilder a => a -> Producer m (Flush Builder)
 sendChunk = yield . toFlushBuilder
 
 -- | In a streaming response, send a flush command, causing all buffered data
 -- to be immediately sent to the client.
 --
--- Since 1.2.0
+-- @since 1.2.0
 sendFlush :: Monad m => Producer m (Flush Builder)
 sendFlush = yield Flush
 
 -- | Type-specialized version of 'sendChunk' for strict @ByteString@s.
 --
--- Since 1.2.0
+-- @since 1.2.0
 sendChunkBS :: Monad m => S.ByteString -> Producer m (Flush Builder)
 sendChunkBS = sendChunk
 
 -- | Type-specialized version of 'sendChunk' for lazy @ByteString@s.
 --
--- Since 1.2.0
+-- @since 1.2.0
 sendChunkLBS :: Monad m => L.ByteString -> Producer m (Flush Builder)
 sendChunkLBS = sendChunk
 
 -- | Type-specialized version of 'sendChunk' for strict @Text@s.
 --
--- Since 1.2.0
+-- @since 1.2.0
 sendChunkText :: Monad m => T.Text -> Producer m (Flush Builder)
 sendChunkText = sendChunk
 
 -- | Type-specialized version of 'sendChunk' for lazy @Text@s.
 --
--- Since 1.2.0
+-- @since 1.2.0
 sendChunkLazyText :: Monad m => TL.Text -> Producer m (Flush Builder)
 sendChunkLazyText = sendChunk
 
 -- | Type-specialized version of 'sendChunk' for @Html@s.
 --
--- Since 1.2.0
+-- @since 1.2.0
 sendChunkHtml :: Monad m => Html -> Producer m (Flush Builder)
 sendChunkHtml = sendChunk
 
@@ -1374,7 +1387,7 @@
 
 -- | The default cookie name for the CSRF token ("XSRF-TOKEN").
 --
--- Since 1.4.14
+-- @since 1.4.14
 defaultCsrfCookieName :: S8.ByteString
 defaultCsrfCookieName = "XSRF-TOKEN"
 
@@ -1382,7 +1395,7 @@
 --
 -- The cookie's path is set to @/@, making it valid for your whole website.
 --
--- Since 1.4.14
+-- @since 1.4.14
 setCsrfCookie :: MonadHandler m => m ()
 setCsrfCookie = setCsrfCookieWithCookie def { setCookieName = 
defaultCsrfCookieName, setCookiePath = Just "/" }
 
@@ -1390,7 +1403,7 @@
 --
 -- Make sure to set the 'setCookiePath' to the root path of your application, 
otherwise you'll generate a new CSRF token for every path of your app. If your 
app is run from from e.g. www.example.com\/app1, use @app1@. The vast majority 
of sites will just use @/@.
 --
--- Since 1.4.14
+-- @since 1.4.14
 setCsrfCookieWithCookie :: MonadHandler m => SetCookie -> m ()
 setCsrfCookieWithCookie cookie  = do
     mCsrfToken <- reqToken <$> getRequest
@@ -1398,14 +1411,14 @@
 
 -- | The default header name for the CSRF token ("X-XSRF-TOKEN").
 --
--- Since 1.4.14
+-- @since 1.4.14
 defaultCsrfHeaderName :: CI S8.ByteString
 defaultCsrfHeaderName = "X-XSRF-TOKEN"
 
 -- | Takes a header name to lookup a CSRF token. If the value doesn't match 
the token stored in the session,
 -- this function throws a 'PermissionDenied' error.
 --
--- Since 1.4.14
+-- @since 1.4.14
 checkCsrfHeaderNamed :: MonadHandler m => CI S8.ByteString -> m ()
 checkCsrfHeaderNamed headerName = do
   valid <- hasValidCsrfHeaderNamed headerName
@@ -1413,7 +1426,7 @@
 
 -- | Takes a header name to lookup a CSRF token, and returns whether the value 
matches the token stored in the session.
 --
--- Since 1.4.14
+-- @since 1.4.14
 hasValidCsrfHeaderNamed :: MonadHandler m => CI S8.ByteString -> m Bool
 hasValidCsrfHeaderNamed headerName = do
   mCsrfToken  <- reqToken <$> getRequest
@@ -1425,14 +1438,14 @@
 
 -- | The default parameter name for the CSRF token ("_token")
 --
--- Since 1.4.14
+-- @since 1.4.14
 defaultCsrfParamName :: Text
 defaultCsrfParamName = "_token"
 
 -- | Takes a POST parameter name to lookup a CSRF token. If the value doesn't 
match the token stored in the session,
 -- this function throws a 'PermissionDenied' error.
 --
--- Since 1.4.14
+-- @since 1.4.14
 checkCsrfParamNamed :: MonadHandler m => Text -> m ()
 checkCsrfParamNamed paramName = do
   valid <- hasValidCsrfParamNamed paramName
@@ -1440,7 +1453,7 @@
 
 -- | Takes a POST parameter name to lookup a CSRF token, and returns whether 
the value matches the token stored in the session.
 --
--- Since 1.4.14
+-- @since 1.4.14
 hasValidCsrfParamNamed :: MonadHandler m => Text -> m Bool
 hasValidCsrfParamNamed paramName = do
   mCsrfToken  <- reqToken <$> getRequest
@@ -1451,7 +1464,7 @@
 -- | Checks that a valid CSRF token is present in either the request headers 
or POST parameters.
 -- If the value doesn't match the token stored in the session, this function 
throws a 'PermissionDenied' error.
 --
--- Since 1.4.14
+-- @since 1.4.14
 checkCsrfHeaderOrParam :: (MonadHandler m, MonadLogger m)
                        => CI S8.ByteString -- ^ The header name to lookup the 
CSRF token
                        -> Text -- ^ The POST parameter name to lookup the CSRF 
token
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/Yesod/Core/Json.hs 
new/yesod-core-1.4.32/Yesod/Core/Json.hs
--- old/yesod-core-1.4.31/Yesod/Core/Json.hs    2017-02-02 06:54:42.000000000 
+0100
+++ new/yesod-core-1.4.32/Yesod/Core/Json.hs    2017-02-05 13:38:01.000000000 
+0100
@@ -189,7 +189,7 @@
 jsonEncodingOrRedirect = jsonOrRedirect' J.toEncoding
 #endif
 
-jsonOrRedirect' :: (MonadHandler m, J.ToJSON a)
+jsonOrRedirect' :: MonadHandler m
             => (a -> b)
             -> Route (HandlerSite m) -- ^ Redirect target
             -> a            -- ^ Data to send via JSON
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/Yesod/Core/Types.hs 
new/yesod-core-1.4.32/Yesod/Core/Types.hs
--- old/yesod-core-1.4.31/Yesod/Core/Types.hs   2016-09-25 13:37:06.000000000 
+0200
+++ new/yesod-core-1.4.32/Yesod/Core/Types.hs   2017-02-05 13:38:01.000000000 
+0100
@@ -462,7 +462,12 @@
     WidgetT $ \e -> uninterruptibleMask $ \u -> unWidgetT (a $ q u) e
       where q u (WidgetT b) = WidgetT (u . b)
 
+-- CPP to avoid a redundant constraints warning
+#if MIN_VERSION_base(4,9,0)
+instance (MonadIO m, MonadBase IO m, MonadThrow m) => MonadResource (WidgetT 
site m) where
+#else
 instance (Applicative m, MonadIO m, MonadBase IO m, MonadThrow m) => 
MonadResource (WidgetT site m) where
+#endif
     liftResourceT f = WidgetT $ \hd -> liftIO $ (, mempty) <$> 
runInternalState f (handlerResource hd)
 
 instance MonadIO m => MonadLogger (WidgetT site m) where
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/Yesod/Routes/Parse.hs 
new/yesod-core-1.4.32/Yesod/Routes/Parse.hs
--- old/yesod-core-1.4.31/Yesod/Routes/Parse.hs 2016-09-25 13:37:06.000000000 
+0200
+++ new/yesod-core-1.4.32/Yesod/Routes/Parse.hs 2017-02-07 16:18:21.000000000 
+0100
@@ -63,7 +63,7 @@
 -- invalid input.
 resourcesFromString :: String -> [ResourceTree String]
 resourcesFromString =
-    fst . parse 0 . filter (not . all (== ' ')) . lines
+    fst . parse 0 . filter (not . all (== ' ')) . lines . filter (/= '\r')
   where
     parse _ [] = ([], [])
     parse indent (thisLine:otherLines)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/bench/widget.hs 
new/yesod-core-1.4.32/bench/widget.hs
--- old/yesod-core-1.4.31/bench/widget.hs       2016-09-25 13:37:06.000000000 
+0200
+++ new/yesod-core-1.4.32/bench/widget.hs       2017-02-05 13:38:01.000000000 
+0100
@@ -7,20 +7,16 @@
 
 import Criterion.Main
 import Text.Hamlet
-import Numeric (showInt)
 import qualified Data.ByteString.Lazy as L
 import qualified Text.Blaze.Html.Renderer.Utf8 as Utf8
 import Data.Monoid (mconcat)
 import Text.Blaze.Html5 (table, tr, td)
 import Text.Blaze.Html (toHtml)
 import Yesod.Core.Widget
-import Control.Monad.Trans.Writer
-import Control.Monad.Trans.RWS
-import Data.Functor.Identity
 import Yesod.Core.Types
-import Data.Monoid
-import Data.IORef
+import Data.Int
 
+main :: IO ()
 main = defaultMain
     [ bench "bigTable html" $ nf bigTableHtml bigTableData
     , bench "bigTable hamlet" $ nf bigTableHamlet bigTableData
@@ -35,6 +31,7 @@
     bigTableData = replicate rows [1..10]
     {-# NOINLINE bigTableData #-}
 
+bigTableHtml :: Show a => [[a]] -> Int64
 bigTableHtml rows = L.length $ Utf8.renderHtml $ ($ id) [hamlet|
 <table>
     $forall row <- rows
@@ -43,6 +40,7 @@
                 <td>#{show cell}
 |]
 
+bigTableHamlet :: Show a => [[a]] ->  Int64
 bigTableHamlet rows = L.length $ Utf8.renderHtml $ ($ id) [hamlet|
 <table>
     $forall row <- rows
@@ -51,6 +49,7 @@
                 <td>#{show cell}
 |]
 
+bigTableWidget :: Show a => [[a]] -> IO Int64
 bigTableWidget rows = fmap (L.length . Utf8.renderHtml . ($ render)) (run 
[whamlet|
 <table>
     $forall row <- rows
@@ -64,6 +63,7 @@
     (_, GWData { gwdBody = Body x }) <- w undefined
     return x
 
-bigTableBlaze t = L.length $ Utf8.renderHtml $ table $ mconcat $ map row t
+bigTableBlaze :: Show a => [[a]] -> Int64
+bigTableBlaze t = L.length $ Utf8.renderHtml $ table $ Data.Monoid.mconcat $ 
map row t
   where
     row r = tr $ mconcat $ map (td . toHtml . show) r
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/test/Hierarchy.hs 
new/yesod-core-1.4.32/test/Hierarchy.hs
--- old/yesod-core-1.4.31/test/Hierarchy.hs     2017-02-03 06:23:23.000000000 
+0100
+++ new/yesod-core-1.4.32/test/Hierarchy.hs     2017-02-05 13:38:01.000000000 
+0100
@@ -17,6 +17,9 @@
     , toText
     , Env (..)
     , subDispatch
+    -- to avoid warnings
+    , deleteDelete2
+    , deleteDelete3
     ) where
 
 import Test.Hspec
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/test/RouteSpec.hs 
new/yesod-core-1.4.32/test/RouteSpec.hs
--- old/yesod-core-1.4.31/test/RouteSpec.hs     2017-02-03 06:23:23.000000000 
+0100
+++ new/yesod-core-1.4.32/test/RouteSpec.hs     2017-02-05 13:38:01.000000000 
+0100
@@ -118,7 +118,7 @@
         route = MySubRoute (pieces, [])
 
 instance Dispatcher MySubParam master where
-    dispatcher env (pieces, method) =
+    dispatcher env (pieces, _method) =
         case map unpack pieces of
             [[c]] ->
                 let route = ParamRoute c
@@ -234,56 +234,65 @@
 
     describe "overlap checking" $ do
         it "catches overlapping statics" $ do
-            let routes = [parseRoutesNoCheck|
+            let routes :: [ResourceTree String]
+                routes = [parseRoutesNoCheck|
 /foo Foo1
 /foo Foo2
 |]
             findOverlapNames routes @?= [("Foo1", "Foo2")]
         it "catches overlapping dynamics" $ do
-            let routes = [parseRoutesNoCheck|
+            let routes :: [ResourceTree String]
+                routes = [parseRoutesNoCheck|
 /#Int Foo1
 /#String Foo2
 |]
             findOverlapNames routes @?= [("Foo1", "Foo2")]
         it "catches overlapping statics and dynamics" $ do
-            let routes = [parseRoutesNoCheck|
+            let routes :: [ResourceTree String]
+                routes = [parseRoutesNoCheck|
 /foo Foo1
 /#String Foo2
 |]
             findOverlapNames routes @?= [("Foo1", "Foo2")]
         it "catches overlapping multi" $ do
-            let routes = [parseRoutesNoCheck|
+            let routes :: [ResourceTree String]
+                routes = [parseRoutesNoCheck|
 /foo Foo1
 /##*Strings Foo2
 |]
             findOverlapNames routes @?= [("Foo1", "Foo2")]
         it "catches overlapping subsite" $ do
-            let routes = [parseRoutesNoCheck|
+            let routes :: [ResourceTree String]
+                routes = [parseRoutesNoCheck|
 /foo Foo1
 /foo Foo2 Subsite getSubsite
 |]
             findOverlapNames routes @?= [("Foo1", "Foo2")]
         it "no false positives" $ do
-            let routes = [parseRoutesNoCheck|
+            let routes :: [ResourceTree String]
+                routes = [parseRoutesNoCheck|
 /foo Foo1
 /bar/#String Foo2
 |]
             findOverlapNames routes @?= []
         it "obeys ignore rules" $ do
-            let routes = [parseRoutesNoCheck|
+            let routes :: [ResourceTree String]
+                routes = [parseRoutesNoCheck|
 /foo Foo1
 /#!String Foo2
 /!foo Foo3
 |]
             findOverlapNames routes @?= []
         it "obeys multipiece ignore rules #779" $ do
-            let routes = [parseRoutesNoCheck|
+            let routes :: [ResourceTree String]
+                routes = [parseRoutesNoCheck|
 /foo Foo1
 /+![String] Foo2
 |]
             findOverlapNames routes @?= []
         it "ignore rules for entire route #779" $ do
-            let routes = [parseRoutesNoCheck|
+            let routes :: [ResourceTree String]
+                routes = [parseRoutesNoCheck|
 /foo Foo1
 !/+[String] Foo2
 !/#String Foo3
@@ -291,7 +300,8 @@
 |]
             findOverlapNames routes @?= []
         it "ignore rules for hierarchy" $ do
-            let routes = [parseRoutesNoCheck|
+            let routes :: [ResourceTree String]
+                routes = [parseRoutesNoCheck|
 /+[String] Foo1
 !/foo Foo2:
     /foo Foo3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/test/YesodCoreTest/Auth.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/Auth.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/Auth.hs    2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/Auth.hs    2017-02-05 
13:38:01.000000000 +0100
@@ -1,5 +1,9 @@
 {-# LANGUAGE OverloadedStrings, TemplateHaskell, QuasiQuotes, TypeFamilies, 
MultiParamTypeClasses #-}
-module YesodCoreTest.Auth (specs, Widget) where
+module YesodCoreTest.Auth
+    ( specs
+    , Widget
+    , resourcesApp
+    ) where
 
 import Yesod.Core
 import Test.Hspec
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/test/YesodCoreTest/Cache.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/Cache.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/Cache.hs   2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/Cache.hs   2017-02-05 
13:38:01.000000000 +0100
@@ -3,7 +3,11 @@
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE DeriveDataTypeable #-}
 {-# LANGUAGE Rank2Types #-}
-module YesodCoreTest.Cache (cacheTest, Widget) where
+module YesodCoreTest.Cache
+    ( cacheTest
+    , Widget
+    , resourcesC
+    ) where
 
 import Test.Hspec
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/test/YesodCoreTest/CleanPath.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/CleanPath.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/CleanPath.hs       2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/CleanPath.hs       2017-02-05 
13:38:01.000000000 +0100
@@ -2,7 +2,11 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE FlexibleInstances, ViewPatterns #-}
 {-# LANGUAGE CPP #-}
-module YesodCoreTest.CleanPath (cleanPathTest, Widget) where
+module YesodCoreTest.CleanPath
+    ( cleanPathTest
+    , Widget
+    , resourcesY
+    ) where
 
 import Test.Hspec
 
@@ -60,7 +64,7 @@
         corrected = filter (not . TS.null) s
 
     joinPath Y ar pieces' qs' =
-        fromText ar `mappend` encodePath pieces qs
+        fromText ar `Data.Monoid.mappend` encodePath pieces qs
       where
         pieces = if null pieces' then [""] else pieces'
         qs = map (TE.encodeUtf8 *** go) qs'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yesod-core-1.4.31/test/YesodCoreTest/ErrorHandling.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/ErrorHandling.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/ErrorHandling.hs   2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/ErrorHandling.hs   2017-02-05 
13:38:01.000000000 +0100
@@ -4,6 +4,7 @@
 module YesodCoreTest.ErrorHandling
     ( errorHandlingTest
     , Widget
+    , resourcesApp
     ) where
 import Yesod.Core
 import Test.Hspec
@@ -98,7 +99,7 @@
 getFileBadNameR = return $ TypedContent "ignored" $ ContentFile (error 
"filebadname") Nothing
 
 goodBuilderContent :: Builder
-goodBuilderContent = mconcat $ replicate 100 $ fromByteString "This is a 
test\n"
+goodBuilderContent = Data.Monoid.mconcat $ replicate 100 $ fromByteString 
"This is a test\n"
 
 getGoodBuilderR :: Handler TypedContent
 getGoodBuilderR = return $ TypedContent "text/plain" $ toContent 
goodBuilderContent
@@ -114,6 +115,7 @@
 getErrorR 8 = cacheSeconds undefined
 getErrorR 9 = setUltDest (undefined :: Text)
 getErrorR 10 = setMessage undefined
+getErrorR x = error $ "getErrorR: " ++ show x
 
 errorHandlingTest :: Spec
 errorHandlingTest = describe "Test.ErrorHandling" $ do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/test/YesodCoreTest/Exceptions.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/Exceptions.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/Exceptions.hs      2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/Exceptions.hs      2017-02-05 
13:38:01.000000000 +0100
@@ -1,7 +1,11 @@
 {-# LANGUAGE QuasiQuotes, TypeFamilies, TemplateHaskell, MultiParamTypeClasses 
#-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE FlexibleInstances #-}
-module YesodCoreTest.Exceptions (exceptionsTest, Widget) where
+module YesodCoreTest.Exceptions
+    ( exceptionsTest
+    , Widget
+    , resourcesY
+    ) where
 
 import Test.Hspec
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yesod-core-1.4.31/test/YesodCoreTest/InternalRequest.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/InternalRequest.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/InternalRequest.hs 2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/InternalRequest.hs 2017-02-05 
13:38:01.000000000 +0100
@@ -21,8 +21,8 @@
 
 -- NOTE: this testcase may break on other systems/architectures if
 -- mkStdGen is not identical everywhere (is it?).
-looksRandom :: Bool
-looksRandom = runST $ do
+_looksRandom :: Bool
+_looksRandom = runST $ do
     gen <- MWC.create
     s <- randomString 20 gen
     return $ s == "VH9SkhtptqPs6GqtofVg"
@@ -57,7 +57,7 @@
 
 noDisabledToken :: Bool
 noDisabledToken = reqToken r == Nothing where
-  r = parseWaiRequest' defaultRequest mempty False 1000
+  r = parseWaiRequest' defaultRequest Data.Monoid.mempty False 1000
 
 ignoreDisabledToken :: Bool
 ignoreDisabledToken = reqToken r == Nothing where
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/test/YesodCoreTest/JsLoader.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/JsLoader.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/JsLoader.hs        2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/JsLoader.hs        2017-02-05 
13:38:01.000000000 +0100
@@ -1,7 +1,11 @@
 {-# LANGUAGE QuasiQuotes, TypeFamilies, TemplateHaskell, MultiParamTypeClasses 
#-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE FlexibleInstances #-}
-module YesodCoreTest.JsLoader (specs, Widget) where
+module YesodCoreTest.JsLoader
+    ( specs
+    , Widget
+    , resourcesH
+    ) where
 
 import YesodCoreTest.JsLoaderSites.Bottom (B(..))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yesod-core-1.4.31/test/YesodCoreTest/JsLoaderSites/Bottom.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/JsLoaderSites/Bottom.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/JsLoaderSites/Bottom.hs    
2017-02-03 06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/JsLoaderSites/Bottom.hs    
2017-02-05 13:38:01.000000000 +0100
@@ -1,7 +1,11 @@
 {-# LANGUAGE QuasiQuotes, TypeFamilies, TemplateHaskell, MultiParamTypeClasses 
#-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE FlexibleInstances #-}
-module YesodCoreTest.JsLoaderSites.Bottom (B(..), Widget) where
+module YesodCoreTest.JsLoaderSites.Bottom
+    ( B(..)
+    , Widget
+    , resourcesB -- avoid warning
+    ) where
 
 import Yesod.Core
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/test/YesodCoreTest/Json.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/Json.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/Json.hs    2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/Json.hs    2017-02-07 
13:16:55.000000000 +0100
@@ -1,5 +1,9 @@
 {-# LANGUAGE OverloadedStrings, TemplateHaskell, QuasiQuotes, TypeFamilies, 
MultiParamTypeClasses, ViewPatterns #-}
-module YesodCoreTest.Json (specs, Widget) where
+module YesodCoreTest.Json
+    ( specs
+    , Widget
+    , resourcesApp
+    ) where
 
 import Yesod.Core
 import Test.Hspec
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/test/YesodCoreTest/Links.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/Links.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/Links.hs   2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/Links.hs   2017-02-05 
13:38:01.000000000 +0100
@@ -1,7 +1,11 @@
 {-# LANGUAGE QuasiQuotes, TypeFamilies, TemplateHaskell, MultiParamTypeClasses 
#-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE FlexibleInstances, ViewPatterns #-}
-module YesodCoreTest.Links (linksTest, Widget) where
+module YesodCoreTest.Links
+    ( linksTest
+    , Widget
+    , resourcesY
+    ) where
 
 import Test.Hspec
 
@@ -26,12 +30,16 @@
 data Vector a = Vector
     deriving (Show, Read, Eq)
 
-instance PathMultiPiece (Vector a)
+instance PathMultiPiece (Vector a) where
+    toPathMultiPiece = error "toPathMultiPiece"
+    fromPathMultiPiece = error "fromPathMultiPiece"
 
 data Foo x y = Foo
     deriving (Show, Read, Eq)
 
-instance PathPiece (Foo x y)
+instance PathPiece (Foo x y) where
+    toPathPiece = error "toPathPiece"
+    fromPathPiece = error "fromPathPiece"
 
 instance Yesod Y
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yesod-core-1.4.31/test/YesodCoreTest/NoOverloadedStrings.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/NoOverloadedStrings.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/NoOverloadedStrings.hs     
2017-02-03 06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/NoOverloadedStrings.hs     
2017-02-05 13:38:01.000000000 +0100
@@ -1,7 +1,11 @@
 {-# LANGUAGE QuasiQuotes, TypeFamilies, TemplateHaskell, MultiParamTypeClasses 
#-}
 {-# LANGUAGE FlexibleInstances, ViewPatterns #-}
 {-# LANGUAGE OverloadedStrings #-} -- the module name is a lie!!!
-module YesodCoreTest.NoOverloadedStrings (noOverloadedTest, Widget) where
+module YesodCoreTest.NoOverloadedStrings
+    ( noOverloadedTest
+    , Widget
+    , resourcesY
+    ) where
 
 import Test.Hspec
 import YesodCoreTest.NoOverloadedStringsSub
@@ -60,7 +64,7 @@
 case_sanity :: IO ()
 case_sanity = runner $ do
     res <- request defaultRequest
-    assertBody mempty res
+    assertBody Data.Monoid.mempty res
 
 case_subsite :: IO ()
 case_subsite = runner $ do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/test/YesodCoreTest/RawResponse.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/RawResponse.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/RawResponse.hs     2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/RawResponse.hs     2017-02-05 
13:38:01.000000000 +0100
@@ -1,13 +1,13 @@
 {-# LANGUAGE OverloadedStrings, TemplateHaskell, QuasiQuotes, TypeFamilies, 
MultiParamTypeClasses, ScopedTypeVariables #-}
-module YesodCoreTest.RawResponse (specs, Widget) where
+module YesodCoreTest.RawResponse
+    ( specs
+    , Widget
+    , resourcesApp
+    ) where
 
 import Yesod.Core
 import Test.Hspec
-import qualified Data.Map as Map
-import Network.Wai.Test
 import Network.Wai (responseStream)
-import Data.Text (Text)
-import Data.ByteString.Lazy (ByteString)
 import qualified Data.Conduit.List as CL
 import qualified Data.ByteString.Char8 as S8
 import Data.Conduit
@@ -15,7 +15,7 @@
 import Data.Char (toUpper)
 import Control.Exception (try, IOException)
 import Data.Conduit.Network
-import Network.Socket (sClose)
+import Network.Socket (close)
 import Control.Concurrent (threadDelay)
 import Control.Concurrent.Async (withAsync)
 import Control.Monad.Trans.Resource (register)
@@ -36,7 +36,7 @@
 
 getHomeR :: Handler ()
 getHomeR = do
-    ref <- liftIO $ newIORef 0
+    ref <- liftIO $ newIORef (0 :: Int)
     _ <- register $ writeIORef ref 1
     sendRawResponse $ \src sink -> liftIO $ do
         val <- readIORef ref
@@ -66,7 +66,7 @@
         case esocket of
             Left (_ :: IOException) -> loop (succ port)
             Right socket -> do
-                sClose socket
+                close socket
                 return port
 
 specs :: Spec
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/test/YesodCoreTest/Redirect.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/Redirect.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/Redirect.hs        2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/Redirect.hs        2017-02-05 
13:38:01.000000000 +0100
@@ -1,5 +1,9 @@
 {-# LANGUAGE QuasiQuotes, TemplateHaskell, TypeFamilies, 
MultiParamTypeClasses, OverloadedStrings #-}
-module YesodCoreTest.Redirect (specs, Widget) where
+module YesodCoreTest.Redirect
+    ( specs
+    , Widget
+    , resourcesY
+    ) where
 
 import YesodCoreTest.YesodTest
 import Yesod.Core.Handler (redirectWith, setEtag)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/test/YesodCoreTest/Reps.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/Reps.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/Reps.hs    2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/Reps.hs    2017-02-05 
13:38:01.000000000 +0100
@@ -1,5 +1,9 @@
 {-# LANGUAGE OverloadedStrings, TemplateHaskell, QuasiQuotes, TypeFamilies, 
MultiParamTypeClasses, ViewPatterns #-}
-module YesodCoreTest.Reps (specs, Widget) where
+module YesodCoreTest.Reps
+    ( specs
+    , Widget
+    , resourcesApp
+    ) where
 
 import Yesod.Core
 import Test.Hspec
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yesod-core-1.4.31/test/YesodCoreTest/RequestBodySize.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/RequestBodySize.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/RequestBodySize.hs 2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/RequestBodySize.hs 2017-02-05 
13:38:01.000000000 +0100
@@ -1,7 +1,11 @@
 {-# LANGUAGE QuasiQuotes, TypeFamilies, TemplateHaskell, MultiParamTypeClasses 
#-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE FlexibleInstances #-}
-module YesodCoreTest.RequestBodySize (specs, Widget) where
+module YesodCoreTest.RequestBodySize
+    ( specs
+    , Widget
+    , resourcesY
+    ) where
 
 import Test.Hspec
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yesod-core-1.4.31/test/YesodCoreTest/StubLaxSameSite.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/StubLaxSameSite.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/StubLaxSameSite.hs 2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/StubLaxSameSite.hs 2017-02-05 
13:38:01.000000000 +0100
@@ -1,5 +1,9 @@
 {-# LANGUAGE TypeFamilies, QuasiQuotes, TemplateHaskell, 
MultiParamTypeClasses, OverloadedStrings #-}
-module YesodCoreTest.StubLaxSameSite ( App ( App ) ) where
+module YesodCoreTest.StubLaxSameSite
+    ( App ( App )
+    , Widget
+    , resourcesApp
+    ) where
 
 import Yesod.Core
 import qualified Web.ClientSession                  as CS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/test/YesodCoreTest/StubSslOnly.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/StubSslOnly.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/StubSslOnly.hs     2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/StubSslOnly.hs     2017-02-05 
13:38:01.000000000 +0100
@@ -1,5 +1,9 @@
 {-# LANGUAGE TypeFamilies, QuasiQuotes, TemplateHaskell, 
MultiParamTypeClasses, OverloadedStrings #-}
-module YesodCoreTest.StubSslOnly ( App ( App ) ) where
+module YesodCoreTest.StubSslOnly
+    ( App ( App )
+    , Widget
+    , resourcesApp
+    ) where
 
 import Yesod.Core
 import qualified Web.ClientSession                  as CS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yesod-core-1.4.31/test/YesodCoreTest/StubStrictSameSite.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/StubStrictSameSite.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/StubStrictSameSite.hs      
2017-02-03 06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/StubStrictSameSite.hs      
2017-02-05 13:38:01.000000000 +0100
@@ -1,5 +1,9 @@
 {-# LANGUAGE TypeFamilies, QuasiQuotes, TemplateHaskell, 
MultiParamTypeClasses, OverloadedStrings #-}
-module YesodCoreTest.StubStrictSameSite ( App ( App ) ) where
+module YesodCoreTest.StubStrictSameSite
+    ( App ( App )
+    , Widget
+    , resourcesApp
+    ) where
 
 import Yesod.Core
 import qualified Web.ClientSession                  as CS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yesod-core-1.4.31/test/YesodCoreTest/StubUnsecured.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/StubUnsecured.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/StubUnsecured.hs   2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/StubUnsecured.hs   2017-02-05 
13:38:01.000000000 +0100
@@ -1,5 +1,9 @@
 {-# LANGUAGE TypeFamilies, QuasiQuotes, TemplateHaskell, 
MultiParamTypeClasses, OverloadedStrings #-}
-module YesodCoreTest.StubUnsecured ( App ( App ) ) where
+module YesodCoreTest.StubUnsecured
+    ( App ( App )
+    , Widget
+    , resourcesApp
+    ) where
 
 import Yesod.Core
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/test/YesodCoreTest/WaiSubsite.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/WaiSubsite.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/WaiSubsite.hs      2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/WaiSubsite.hs      2017-02-05 
13:38:01.000000000 +0100
@@ -1,5 +1,9 @@
 {-# LANGUAGE CPP, QuasiQuotes, TemplateHaskell, TypeFamilies, 
MultiParamTypeClasses, OverloadedStrings, ViewPatterns #-}
-module YesodCoreTest.WaiSubsite (specs, Widget) where
+module YesodCoreTest.WaiSubsite
+    ( specs
+    , Widget
+    , resourcesY
+    ) where
 
 import YesodCoreTest.YesodTest
 import Yesod.Core
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/test/YesodCoreTest/Widget.hs 
new/yesod-core-1.4.32/test/YesodCoreTest/Widget.hs
--- old/yesod-core-1.4.31/test/YesodCoreTest/Widget.hs  2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test/YesodCoreTest/Widget.hs  2017-02-05 
13:38:01.000000000 +0100
@@ -1,7 +1,10 @@
 {-# LANGUAGE QuasiQuotes, TypeFamilies, TemplateHaskell, MultiParamTypeClasses 
#-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE FlexibleInstances, ViewPatterns #-}
-module YesodCoreTest.Widget (widgetTest) where
+module YesodCoreTest.Widget
+    ( widgetTest
+    , resourcesY
+    ) where
 
 import Test.Hspec
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/test.hs 
new/yesod-core-1.4.32/test.hs
--- old/yesod-core-1.4.31/test.hs       2017-02-03 06:23:23.000000000 +0100
+++ new/yesod-core-1.4.32/test.hs       1970-01-01 01:00:00.000000000 +0100
@@ -1,5 +0,0 @@
-import Test.Hspec
-import qualified YesodCoreTest
-
-main :: IO ()
-main = hspec YesodCoreTest.specs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-core-1.4.31/yesod-core.cabal 
new/yesod-core-1.4.32/yesod-core.cabal
--- old/yesod-core-1.4.31/yesod-core.cabal      2017-02-03 06:23:23.000000000 
+0100
+++ new/yesod-core-1.4.32/yesod-core.cabal      2017-02-08 10:14:31.000000000 
+0100
@@ -1,5 +1,5 @@
 name:            yesod-core
-version:         1.4.31
+version:         1.4.32
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman <mich...@snoyman.com>
@@ -12,7 +12,6 @@
 build-type:      Simple
 homepage:        http://www.yesodweb.com/
 extra-source-files:
-  test.hs
   test/YesodCoreTest.hs
   test/YesodCoreTest/*.hs
   test/YesodCoreTest/JsLoaderSites/Bottom.hs
@@ -119,6 +118,15 @@
     hs-source-dirs: test, .
 
     other-modules: Hierarchy
+                   Yesod.Routes.Class
+                   Yesod.Routes.Overlap
+                   Yesod.Routes.Parse
+                   Yesod.Routes.TH
+                   Yesod.Routes.TH.Dispatch
+                   Yesod.Routes.TH.ParseRoute
+                   Yesod.Routes.TH.RenderRoute
+                   Yesod.Routes.TH.RouteAttrs
+                   Yesod.Routes.TH.Types
 
     -- Workaround for: http://ghc.haskell.org/trac/ghc/ticket/8443
     extensions:      TemplateHaskell
@@ -138,6 +146,37 @@
     main-is: test.hs
     hs-source-dirs: test
 
+    other-modules: YesodCoreTest
+                   YesodCoreTest.Auth
+                   YesodCoreTest.Cache
+                   YesodCoreTest.CleanPath
+                   YesodCoreTest.Csrf
+                   YesodCoreTest.ErrorHandling
+                   YesodCoreTest.Exceptions
+                   YesodCoreTest.InternalRequest
+                   YesodCoreTest.JsLoader
+                   YesodCoreTest.JsLoaderSites.Bottom
+                   YesodCoreTest.Json
+                   YesodCoreTest.Links
+                   YesodCoreTest.LiteApp
+                   YesodCoreTest.Media
+                   YesodCoreTest.MediaData
+                   YesodCoreTest.NoOverloadedStrings
+                   YesodCoreTest.NoOverloadedStringsSub
+                   YesodCoreTest.RawResponse
+                   YesodCoreTest.Redirect
+                   YesodCoreTest.Reps
+                   YesodCoreTest.RequestBodySize
+                   YesodCoreTest.Ssl
+                   YesodCoreTest.Streaming
+                   YesodCoreTest.StubLaxSameSite
+                   YesodCoreTest.StubSslOnly
+                   YesodCoreTest.StubStrictSameSite
+                   YesodCoreTest.StubUnsecured
+                   YesodCoreTest.WaiSubsite
+                   YesodCoreTest.Widget
+                   YesodCoreTest.YesodTest
+
     cpp-options:   -DTEST
     build-depends: base
                   ,hspec >= 1.3

++++++ yesod-core.cabal ++++++
name:            yesod-core
version:         1.4.32
x-revision: 1
license:         MIT
license-file:    LICENSE
author:          Michael Snoyman <mich...@snoyman.com>
maintainer:      Michael Snoyman <mich...@snoyman.com>
synopsis:        Creation of type-safe, RESTful web applications.
description:     API docs and the README are available at 
<http://www.stackage.org/package/yesod-core>
category:        Web, Yesod
stability:       Stable
cabal-version:   >= 1.8
build-type:      Simple
homepage:        http://www.yesodweb.com/
extra-source-files:
  test/YesodCoreTest.hs
  test/YesodCoreTest/*.hs
  test/YesodCoreTest/JsLoaderSites/Bottom.hs
  test/en.msg
  test/test.hs
  ChangeLog.md
  README.md

library
    build-depends:   base                  >= 4.7      && < 5
                   , time                  >= 1.1.4
                   , wai                   >= 3.0
                   , wai-extra             >= 3.0.7
                   , bytestring            >= 0.10
                   , text                  >= 0.7
                   , template-haskell
                   , path-pieces           >= 0.1.2    && < 0.3
                   , shakespeare           >= 2.0
                   , blaze-builder         >= 0.2.1.4  && < 0.5
                   , transformers          >= 0.2.2
                   , mtl
                   , clientsession         >= 0.9.1    && < 0.10
                   , random                >= 1.0.0.2  && < 1.2
                   , cereal                >= 0.3
                   , old-locale            >= 1.0.0.2  && < 1.1
                   , containers            >= 0.2
                   , unordered-containers  >= 0.2
                   , monad-control         >= 0.3      && < 1.1
                   , transformers-base     >= 0.4
                   , cookie                >= 0.4.2    && < 0.5
                   , http-types            >= 0.7
                   , case-insensitive      >= 0.2
                   , parsec                >= 2        && < 3.2
                   , directory             >= 1
                   , vector                >= 0.9      && < 0.13
                   , aeson                 >= 0.5
                   , fast-logger           >= 2.2
                   , wai-logger            >= 0.2
                   , monad-logger          >= 0.3.1    && < 0.4
                   , conduit               >= 1.2
                   , resourcet             >= 0.4.9    && < 1.2
                   , lifted-base           >= 0.1.2
                   , blaze-html            >= 0.5
                   , blaze-markup          >= 0.7.1
                   , data-default
                   , safe
                   , warp                  >= 3.0.2
                   , unix-compat
                   , conduit-extra
                   , exceptions            >= 0.6
                   , deepseq               >= 1.3
                   , deepseq-generics
                   , mwc-random
                   , primitive
                   , word8
                   , auto-update
                   , semigroups
                   , byteable

    exposed-modules: Yesod.Core
                     Yesod.Core.Content
                     Yesod.Core.Dispatch
                     Yesod.Core.Handler
                     Yesod.Core.Json
                     Yesod.Core.Widget
                     Yesod.Core.Internal
                     Yesod.Core.Types
                     Yesod.Core.Unsafe
                     Yesod.Routes.TH.Types
    other-modules:   Yesod.Core.Internal.Session
                     Yesod.Core.Internal.Request
                     Yesod.Core.Class.Handler
                     Yesod.Core.Internal.Util
                     Yesod.Core.Internal.Response
                     Yesod.Core.Internal.Run
                     Yesod.Core.Internal.TH
                     Yesod.Core.Internal.LiteApp
                     Yesod.Core.Class.Yesod
                     Yesod.Core.Class.Dispatch
                     Yesod.Core.Class.Breadcrumbs
                     Yesod.Core.TypeCache
                     Paths_yesod_core

                     Yesod.Routes.TH
                     Yesod.Routes.Class
                     Yesod.Routes.Parse
                     Yesod.Routes.Overlap
                     Yesod.Routes.TH.Dispatch
                     Yesod.Routes.TH.RenderRoute
                     Yesod.Routes.TH.ParseRoute
                     Yesod.Routes.TH.RouteAttrs

    ghc-options:     -Wall
    -- Following line added due to: https://github.com/yesodweb/yesod/issues/545
    -- This looks like a GHC bug
    extensions:      MultiParamTypeClasses

    -- Workaround for: http://ghc.haskell.org/trac/ghc/ticket/8443
    extensions:      TemplateHaskell

test-suite test-routes
    type: exitcode-stdio-1.0
    main-is: RouteSpec.hs
    hs-source-dirs: test, .

    other-modules: Hierarchy
                   Yesod.Routes.Class
                   Yesod.Routes.Overlap
                   Yesod.Routes.Parse
                   Yesod.Routes.TH
                   Yesod.Routes.TH.Dispatch
                   Yesod.Routes.TH.ParseRoute
                   Yesod.Routes.TH.RenderRoute
                   Yesod.Routes.TH.RouteAttrs
                   Yesod.Routes.TH.Types

    -- Workaround for: http://ghc.haskell.org/trac/ghc/ticket/8443
    extensions:      TemplateHaskell

    build-depends: base
                 , hspec
                 , containers
                 , bytestring
                 , template-haskell
                 , text
                 , random
                 , path-pieces
                 , HUnit

test-suite tests
    type: exitcode-stdio-1.0
    main-is: test.hs
    hs-source-dirs: test

    other-modules: YesodCoreTest
                   YesodCoreTest.Auth
                   YesodCoreTest.Cache
                   YesodCoreTest.CleanPath
                   YesodCoreTest.Csrf
                   YesodCoreTest.ErrorHandling
                   YesodCoreTest.Exceptions
                   YesodCoreTest.InternalRequest
                   YesodCoreTest.JsLoader
                   YesodCoreTest.JsLoaderSites.Bottom
                   YesodCoreTest.Json
                   YesodCoreTest.Links
                   YesodCoreTest.LiteApp
                   YesodCoreTest.Media
                   YesodCoreTest.MediaData
                   YesodCoreTest.NoOverloadedStrings
                   YesodCoreTest.NoOverloadedStringsSub
                   YesodCoreTest.RawResponse
                   YesodCoreTest.Redirect
                   YesodCoreTest.Reps
                   YesodCoreTest.RequestBodySize
                   YesodCoreTest.Ssl
                   YesodCoreTest.Streaming
                   YesodCoreTest.StubLaxSameSite
                   YesodCoreTest.StubSslOnly
                   YesodCoreTest.StubStrictSameSite
                   YesodCoreTest.StubUnsecured
                   YesodCoreTest.WaiSubsite
                   YesodCoreTest.Widget
                   YesodCoreTest.YesodTest

    cpp-options:   -DTEST
    build-depends: base
                  ,hspec >= 1.3
                  ,hspec-expectations
                  ,clientsession
                  ,wai >= 3.0
                  ,yesod-core
                  ,bytestring
                  ,text
                  ,http-types
                  , random
                  , blaze-builder
                  ,HUnit
                  ,QuickCheck >= 2 && < 3
                  ,transformers
                  , conduit
                  , containers
                  , lifted-base
                  , resourcet
                  , network
                  , async
                  , conduit-extra
                  , shakespeare
                  , streaming-commons
                  , wai-extra
                  , mwc-random
                  , cookie >= 0.4.1    && < 0.5
    ghc-options:     -Wall
    extensions: TemplateHaskell

benchmark widgets
    type: exitcode-stdio-1.0
    hs-source-dirs: bench
    build-depends:  base
                  , criterion
                  , bytestring
                  , text
                  , transformers
                  , yesod-core
                  , blaze-html
                  , shakespeare
    main-is:        widget.hs
    ghc-options:    -Wall -O2

source-repository head
  type:     git
  location: https://github.com/yesodweb/yesod

Reply via email to