Hello community,

here is the log from the commit of package ghc-yesod-auth for openSUSE:Factory 
checked in at 2017-04-14 13:39:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-yesod-auth (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-yesod-auth.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-yesod-auth"

Fri Apr 14 13:39:18 2017 rev:6 rq:485176 version:1.4.17

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-yesod-auth/ghc-yesod-auth.changes    
2017-03-16 09:35:56.202315823 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-yesod-auth.new/ghc-yesod-auth.changes       
2017-04-14 13:39:19.545783831 +0200
@@ -1,0 +2,5 @@
+Tue Mar  7 11:19:21 UTC 2017 - [email protected]
+
+- Update to version 1.4.17 with cabal2obs.
+
+-------------------------------------------------------------------

Old:
----
  yesod-auth-1.4.16.tar.gz

New:
----
  yesod-auth-1.4.17.tar.gz

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

Other differences:
------------------
++++++ ghc-yesod-auth.spec ++++++
--- /var/tmp/diff_new_pack.A3lZTx/_old  2017-04-14 13:39:20.441657216 +0200
+++ /var/tmp/diff_new_pack.A3lZTx/_new  2017-04-14 13:39:20.441657216 +0200
@@ -18,7 +18,7 @@
 
 %global pkg_name yesod-auth
 Name:           ghc-%{pkg_name}
-Version:        1.4.16
+Version:        1.4.17
 Release:        0
 Summary:        Authentication for Yesod
 License:        MIT

++++++ yesod-auth-1.4.16.tar.gz -> yesod-auth-1.4.17.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-auth-1.4.16/ChangeLog.md 
new/yesod-auth-1.4.17/ChangeLog.md
--- old/yesod-auth-1.4.16/ChangeLog.md  2017-02-02 06:54:23.000000000 +0100
+++ new/yesod-auth-1.4.17/ChangeLog.md  2017-02-27 08:46:27.000000000 +0100
@@ -1,6 +1,14 @@
+## 1.4.17
+
+* Add Show instance for user credentials `Creds`
+* Export pid type for identifying plugin
+* Fix warnings
+* Allow for a custom Email Login DOM with `emailLoginHandler`
+
 ## 1.4.16
 
 * Fix email provider [#1330](https://github.com/yesodweb/yesod/issues/1330)
+* Document JSON endpoints of Yesod.Auth.Email
 
 ## 1.4.15
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-auth-1.4.16/Yesod/Auth/Email.hs 
new/yesod-auth-1.4.17/Yesod/Auth/Email.hs
--- old/yesod-auth-1.4.16/Yesod/Auth/Email.hs   2017-02-03 06:23:23.000000000 
+0100
+++ new/yesod-auth-1.4.17/Yesod/Auth/Email.hs   2017-02-27 08:46:27.000000000 
+0100
@@ -106,6 +106,7 @@
     , loginLinkKey
     , setLoginLinkKey
      -- * Default handlers
+    , defaultEmailLoginHandler
     , defaultRegisterHandler
     , defaultForgotPasswordHandler
     , defaultSetPasswordHandler
@@ -131,8 +132,7 @@
 import           Safe                     (readMay)
 import           System.IO.Unsafe         (unsafePerformIO)
 import qualified Text.Email.Validate
-import           Network.HTTP.Types.Status (status400)
-import           Data.Aeson.Types (Parser(..), Result(..), parseMaybe, 
withObject, (.:?))
+import           Data.Aeson.Types (Parser, Result(..), parseMaybe, withObject, 
(.:?))
 import           Data.Maybe (isJust, isNothing, fromJust)
 
 loginR, registerR, forgotPasswordR, setpassR :: AuthRoute
@@ -170,10 +170,10 @@
     , emailCredsEmail  :: Email
     }
 
-data ForgotPasswordForm = ForgotPasswordForm { forgotEmail :: Text }
-data PasswordForm = PasswordForm { passwordCurrent :: Text, passwordNew :: 
Text, passwordConfirm :: Text }
-data UserForm = UserForm { email :: Text }
-data UserLoginForm = UserLoginForm { loginEmail :: Text, loginPassword :: Text 
}
+data ForgotPasswordForm = ForgotPasswordForm { _forgotEmail :: Text }
+data PasswordForm = PasswordForm { _passwordCurrent :: Text, _passwordNew :: 
Text, _passwordConfirm :: Text }
+data UserForm = UserForm { _userFormEmail :: Text }
+data UserLoginForm = UserLoginForm { _loginEmail :: Text, _loginPassword :: 
Text }
 
 class ( YesodAuth site
       , PathPiece (AuthEmailId site)
@@ -291,6 +291,17 @@
     normalizeEmailAddress :: site -> Text -> Text
     normalizeEmailAddress _ = TS.toLower
 
+    -- | Handler called to render the login page.
+    -- The default works fine, but you may want to override it in
+    -- order to have a different DOM.
+    --
+    -- Default: 'defaultEmailLoginHandler'.
+    --
+    -- @since 1.4.17
+    emailLoginHandler :: (Route Auth -> Route site) -> WidgetT site IO ()
+    emailLoginHandler = defaultEmailLoginHandler
+
+
     -- | Handler called to render the registration page.  The
     -- default works fine, but you may want to override it in
     -- order to have a different DOM.
@@ -298,7 +309,7 @@
     -- Default: 'defaultRegisterHandler'.
     --
     -- @since: 1.2.6
-    registerHandler :: AuthHandler site Html
+    registerHandler :: HandlerT Auth (HandlerT site IO) Html
     registerHandler = defaultRegisterHandler
 
     -- | Handler called to render the \"forgot password\" page.
@@ -308,7 +319,7 @@
     -- Default: 'defaultForgotPasswordHandler'.
     --
     -- @since: 1.2.6
-    forgotPasswordHandler :: AuthHandler site Html
+    forgotPasswordHandler :: HandlerT Auth (HandlerT site IO) Html
     forgotPasswordHandler = defaultForgotPasswordHandler
 
     -- | Handler called to render the \"set password\" page.  The
@@ -324,7 +335,7 @@
          -- field for the old password should be presented.
          -- Otherwise, just two fields for the new password are
          -- needed.
-      -> AuthHandler site TypedContent
+      -> HandlerT Auth (HandlerT site IO) TypedContent
     setPasswordHandler = defaultSetPasswordHandler
 
 authEmail :: (YesodAuthEmail m) => AuthPlugin m
@@ -347,12 +358,15 @@
 getRegisterR :: YesodAuthEmail master => HandlerT Auth (HandlerT master IO) 
Html
 getRegisterR = registerHandler
 
-emailLoginHandler :: YesodAuthEmail master => (Route Auth -> Route master) -> 
WidgetT master IO ()
-emailLoginHandler toParent = do
+-- | Default implementation of 'emailLoginHandler'.
+--
+-- @since 1.4.17
+defaultEmailLoginHandler :: YesodAuthEmail master => (Route Auth -> Route 
master) -> WidgetT master IO ()
+defaultEmailLoginHandler toParent = do
         (widget, enctype) <- liftWidgetT $ generateFormPost loginForm
 
         [whamlet|
-            <form method="post" action="@{toParent loginR}">
+            <form method="post" action="@{toParent loginR}", 
enctype=#{enctype}>
                 <div id="emailLoginForm">
                     ^{widget}
                     <div>
@@ -371,7 +385,8 @@
         passwordMsg <- renderMessage' Msg.Password
         (passwordRes, passwordView) <- mreq passwordField (passwordSettings 
passwordMsg) Nothing
 
-        let userRes = UserLoginForm <$> emailRes <*> passwordRes
+        let userRes = UserLoginForm Control.Applicative.<$> emailRes
+                                    Control.Applicative.<*> passwordRes
         let widget = do
             [whamlet|
                 #{extra}
@@ -402,10 +417,11 @@
         langs <- languages
         master <- getYesod
         return $ renderAuthMessage master langs msg
+
 -- | Default implementation of 'registerHandler'.
 --
 -- @since 1.2.6
-defaultRegisterHandler :: YesodAuthEmail master => AuthHandler master Html
+defaultRegisterHandler :: YesodAuthEmail master => HandlerT Auth (HandlerT 
master IO) Html
 defaultRegisterHandler = do
     (widget, enctype) <- lift $ generateFormPost registrationForm
     toParentRoute <- getRouteToParent
@@ -502,7 +518,7 @@
 -- | Default implementation of 'forgotPasswordHandler'.
 --
 -- @since 1.2.6
-defaultForgotPasswordHandler :: YesodAuthEmail master => AuthHandler master 
Html
+defaultForgotPasswordHandler :: YesodAuthEmail master => HandlerT Auth 
(HandlerT master IO) Html
 defaultForgotPasswordHandler = do
     (widget, enctype) <- lift $ generateFormPost forgotPasswordForm
     toParent <- getRouteToParent
@@ -518,7 +534,7 @@
   where
     forgotPasswordForm extra = do
         (emailRes, emailView) <- mreq emailField emailSettings Nothing
-    
+
         let forgotPasswordRes = ForgotPasswordForm <$> emailRes
         let widget = do
             [whamlet|
@@ -603,21 +619,21 @@
                    , emailCredsEmail <$> mecreds
                    , emailCredsStatus <$> mecreds
                    ) of
-                (Just aid, Just email, Just True) -> do
+                (Just aid, Just email', Just True) -> do
                        mrealpass <- lift $ getPassword aid
                        case mrealpass of
                          Nothing -> return Nothing
                          Just realpass -> return $ if isValidPass pass realpass
-                                                   then Just email
+                                                   then Just email'
                                                    else Nothing
                 _ -> return Nothing
           let isEmail = Text.Email.Validate.isValid $ encodeUtf8 identifier
           case maid of
-            Just email ->
+            Just email' ->
                 lift $ setCredsRedirect $ Creds
                          (if isEmail then "email" else "username")
-                         email
-                         [("verifiedEmail", email)]
+                         email'
+                         [("verifiedEmail", email')]
             Nothing ->
                 loginErrorMessageI LoginR $
                                    if isEmail
@@ -636,22 +652,22 @@
 -- | Default implementation of 'setPasswordHandler'.
 --
 -- @since 1.2.6
-defaultSetPasswordHandler :: YesodAuthEmail master => Bool -> AuthHandler 
master TypedContent
+defaultSetPasswordHandler :: YesodAuthEmail master => Bool -> HandlerT Auth 
(HandlerT master IO) TypedContent
 defaultSetPasswordHandler needOld = do
     messageRender <- lift getMessageRender
     toParent <- getRouteToParent
     selectRep $ do
         provideJsonMessage $ messageRender Msg.SetPass
         provideRep $ lift $ authLayout $ do
-            (widget, enctype) <- liftWidgetT $ generateFormPost $ 
setPasswordForm needOld
+            (widget, enctype) <- liftWidgetT $ generateFormPost setPasswordForm
             setTitleI Msg.SetPassTitle
             [whamlet|
                 <h3>_{Msg.SetPass}
-                <form method="post" action="@{toParent setpassR}">
+                <form method="post" action="@{toParent setpassR}" 
enctype=#{enctype}>
                     ^{widget}
             |]
   where
-    setPasswordForm needOld extra = do
+    setPasswordForm extra = do
         (currentPasswordRes, currentPasswordView) <- mreq passwordField 
currentPasswordSettings Nothing
         (newPasswordRes, newPasswordView) <- mreq passwordField 
newPasswordSettings Nothing
         (confirmPasswordRes, confirmPasswordView) <- mreq passwordField 
confirmPasswordSettings Nothing
@@ -823,7 +839,10 @@
 -- | Set 'loginLinkKey' to the current time.
 --
 -- @since 1.2.1
-setLoginLinkKey :: (YesodAuthEmail site, MonadHandler m, HandlerSite m ~ site) 
=> AuthId site -> m ()
+--setLoginLinkKey :: (MonadHandler m) => AuthId site -> m ()
+setLoginLinkKey :: (MonadHandler m, YesodAuthEmail (HandlerSite m))
+                => AuthId (HandlerSite m)
+                -> m ()
 setLoginLinkKey aid = do
     now <- liftIO getCurrentTime
     setSession loginLinkKey $ TS.pack $ show (toPathPiece aid, now)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-auth-1.4.16/Yesod/Auth/GoogleEmail.hs 
new/yesod-auth-1.4.17/Yesod/Auth/GoogleEmail.hs
--- old/yesod-auth-1.4.16/Yesod/Auth/GoogleEmail.hs     2016-09-25 
13:37:06.000000000 +0200
+++ new/yesod-auth-1.4.17/Yesod/Auth/GoogleEmail.hs     2017-02-05 
13:38:01.000000000 +0100
@@ -71,7 +71,7 @@
         completeHelper posts
     dispatch _ _ = notFound
 
-completeHelper :: YesodAuth master => [(Text, Text)] -> AuthHandler master 
TypedContent
+completeHelper :: [(Text, Text)] -> AuthHandler master TypedContent
 completeHelper gets' = do
       master <- lift getYesod
       eres <- lift $ try $ OpenId.authenticateClaimed gets' (authHttpManager 
master)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-auth-1.4.16/Yesod/Auth/GoogleEmail2.hs 
new/yesod-auth-1.4.17/Yesod/Auth/GoogleEmail2.hs
--- old/yesod-auth-1.4.16/Yesod/Auth/GoogleEmail2.hs    2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-auth-1.4.17/Yesod/Auth/GoogleEmail2.hs    2017-02-07 
16:18:21.000000000 +0100
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP               #-}
 {-# LANGUAGE FlexibleContexts  #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE QuasiQuotes       #-}
@@ -21,7 +22,7 @@
 --
 -- * Enable the Google+ API.
 --
--- Since 1.3.1
+-- @since 1.3.1
 module Yesod.Auth.GoogleEmail2
     ( -- * Authentication handlers
       authGoogleEmail
@@ -45,6 +46,8 @@
     , Place(..)
     , Email(..)
     , EmailType(..)
+    -- * Other functions
+    , pid
     ) where
 
 import           Yesod.Auth               (Auth, AuthPlugin (AuthPlugin),
@@ -59,7 +62,7 @@
                                            lift, liftIO, lookupGetParam,
                                            lookupSession, notFound, redirect,
                                            setSession, whamlet, (.:),
-                                           addMessage, getYesod, authRoute,
+                                           addMessage, getYesod,
                                            toHtml)
 
 
@@ -85,14 +88,19 @@
 import           Data.Text.Encoding       (decodeUtf8, encodeUtf8)
 import qualified Data.Text.Lazy           as TL
 import qualified Data.Text.Lazy.Builder   as TL
-import           Network.HTTP.Client      (Manager, parseUrl, requestHeaders,
+import           Network.HTTP.Client      (Manager, requestHeaders,
                                            responseBody, urlEncodedBody)
+import qualified Network.HTTP.Client      as HTTP
 import           Network.HTTP.Client.Conduit (Request, bodyReaderSource)
 import           Network.HTTP.Conduit (http)
 import           Network.HTTP.Types       (renderQueryText)
 import           System.IO.Unsafe         (unsafePerformIO)
 
 
+-- | Plugin identifier. This is used to identify the plugin used for
+-- authentication. The 'credsPlugin' will contain this value when this
+-- plugin is used for authentication.
+-- @since 1.4.17
 pid :: Text
 pid = "googleemail2"
 
@@ -133,7 +141,7 @@
 -- | An alternative version which stores user access token in the session
 --   variable. Use it if you want to request user's profile from your app.
 --
--- Since 1.4.3
+-- @since 1.4.3
 authGoogleEmailSaveToken :: YesodAuth m
                          => Text -- ^ client ID
                          -> Text -- ^ client secret
@@ -167,7 +175,7 @@
         return $ decodeUtf8
                $ toByteString
                $ fromByteString "https://accounts.google.com/o/oauth2/auth";
-                    `mappend` renderQueryText True qs
+                    `Data.Monoid.mappend` renderQueryText True qs
 
     login tm = do
         [whamlet|<a href=@{tm forwardUrl}>_{Msg.LoginGoogle}|]
@@ -206,7 +214,13 @@
 
         render <- getUrlRender
 
-        req' <- liftIO $ parseUrl "https://accounts.google.com/o/oauth2/token"; 
-- FIXME don't hardcode, use: 
https://accounts.google.com/.well-known/openid-configuration
+        req' <- liftIO $
+#if MIN_VERSION_http_client(0,4,30)
+            HTTP.parseUrlThrow
+#else
+            HTTP.parseUrl
+#endif
+            "https://accounts.google.com/o/oauth2/token"; -- FIXME don't 
hardcode, use: https://accounts.google.com/.well-known/openid-configuration
         let req =
                 urlEncodedBody
                     [ ("code", encodeUtf8 code)
@@ -254,7 +268,7 @@
 --   In case of parsing error returns 'Nothing'.
 --   Will throw 'HttpException' in case of network problems or error response 
code.
 --
--- Since 1.4.3
+-- @since 1.4.3
 getPerson :: Manager -> Token -> HandlerT site IO (Maybe Person)
 getPerson manager token = parseMaybe parseJSON <$> (do
     req <- personValueRequest token
@@ -264,7 +278,13 @@
 
 personValueRequest :: MonadIO m => Token -> m Request
 personValueRequest token = do
-    req2' <- liftIO $ parseUrl "https://www.googleapis.com/plus/v1/people/me";
+    req2' <- liftIO $
+#if MIN_VERSION_http_client(0,4,30)
+            HTTP.parseUrlThrow
+#else
+            HTTP.parseUrl
+#endif
+        "https://www.googleapis.com/plus/v1/people/me";
     return req2'
             { requestHeaders =
                 [ ("Authorization", encodeUtf8 $ "Bearer " `mappend` 
accessToken token)
@@ -277,20 +297,20 @@
 --   'authGoogleEmailSaveToken'.
 --   You can acquire saved token with 'getUserAccessToken'.
 --
--- Since 1.4.3
+-- @since 1.4.3
 data Token = Token { accessToken :: Text
                    , tokenType   :: Text
                    } deriving (Show, Eq)
 
 instance FromJSON Token where
     parseJSON = withObject "Tokens" $ \o -> Token
-        <$> o .: "access_token"
-        <*> o .: "token_type"
+        Control.Applicative.<$> o .: "access_token"
+        Control.Applicative.<*> o .: "token_type"
 
 
--------------------------------------------------------------------------------
 -- | Gender of the person
 --
--- Since 1.4.3
+-- @since 1.4.3
 data Gender = Male | Female | OtherGender deriving (Show, Eq)
 
 instance FromJSON Gender where
@@ -302,7 +322,7 @@
 
--------------------------------------------------------------------------------
 -- | URIs specified in the person's profile
 --
--- Since 1.4.3
+-- @since 1.4.3
 data PersonURI =
     PersonURI { uriLabel :: Maybe Text
               , uriValue :: Maybe Text
@@ -317,7 +337,7 @@
 
--------------------------------------------------------------------------------
 -- | The type of URI
 --
--- Since 1.4.3
+-- @since 1.4.3
 data PersonURIType = OtherProfile       -- ^ URI for another profile
                    | Contributor        -- ^ URI to a site for which this 
person is a contributor
                    | Website            -- ^ URI for this Google+ Page's 
primary website
@@ -336,7 +356,7 @@
 
--------------------------------------------------------------------------------
 -- | Current or past organizations with which this person is associated
 --
--- Since 1.4.3
+-- @since 1.4.3
 data Organization =
     Organization { orgName      :: Maybe Text
                    -- ^ The person's job title or role within the organization
@@ -363,7 +383,7 @@
 
--------------------------------------------------------------------------------
 -- | The type of an organization
 --
--- Since 1.4.3
+-- @since 1.4.3
 data OrganizationType = Work
                       | School
                       | OrganizationType Text -- ^ Something else
@@ -377,7 +397,7 @@
 
--------------------------------------------------------------------------------
 -- | A place where the person has lived or is living at the moment.
 --
--- Since 1.4.3
+-- @since 1.4.3
 data Place =
     Place { -- | A place where this person has lived. For example: "Seattle, 
WA", "Near Toronto".
             placeValue   :: Maybe Text
@@ -391,7 +411,7 @@
 
--------------------------------------------------------------------------------
 -- | Individual components of a name
 --
--- Since 1.4.3
+-- @since 1.4.3
 data Name =
     Name { -- | The full name of this person, including middle names, 
suffixes, etc
            nameFormatted       :: Maybe Text
@@ -418,7 +438,7 @@
 
--------------------------------------------------------------------------------
 -- | The person's relationship status.
 --
--- Since 1.4.3
+-- @since 1.4.3
 data RelationshipStatus = Single              -- ^ Person is single
                         | InRelationship      -- ^ Person is in a relationship
                         | Engaged             -- ^ Person is engaged
@@ -447,7 +467,7 @@
 
--------------------------------------------------------------------------------
 -- | The URI of the person's profile photo.
 --
--- Since 1.4.3
+-- @since 1.4.3
 newtype PersonImage = PersonImage { imageUri :: Text } deriving (Show, Eq)
 
 instance FromJSON PersonImage where
@@ -457,7 +477,7 @@
 --   the image under the URI. If for some reason you need to modify the query
 --   part, you should do it after resizing.
 --
--- Since 1.4.3
+-- @since 1.4.3
 resizePersonImage :: PersonImage -> Int -> PersonImage
 resizePersonImage (PersonImage uri) size =
     PersonImage $ uri `mappend` "?sz=" `mappend` T.pack (show size)
@@ -466,7 +486,7 @@
 -- | Information about the user
 --   Full description of the resource 
https://developers.google.com/+/api/latest/people
 --
--- Since 1.4.3
+-- @since 1.4.3
 data Person = Person
     { personId                 :: Text
       -- | The name of this person, which is suitable for display
@@ -536,7 +556,7 @@
 
--------------------------------------------------------------------------------
 -- | Person's email
 --
--- Since 1.4.3
+-- @since 1.4.3
 data Email = Email
     { emailValue :: Text
     , emailType  :: EmailType
@@ -551,7 +571,7 @@
 
--------------------------------------------------------------------------------
 -- | Type of email
 --
--- Since 1.4.3
+-- @since 1.4.3
 data EmailType = EmailAccount   -- ^ Google account email address
                | EmailHome      -- ^ Home email address
                | EmailWork      -- ^ Work email adress
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-auth-1.4.16/Yesod/Auth/Hardcoded.hs 
new/yesod-auth-1.4.17/Yesod/Auth/Hardcoded.hs
--- old/yesod-auth-1.4.16/Yesod/Auth/Hardcoded.hs       2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-auth-1.4.17/Yesod/Auth/Hardcoded.hs       2017-02-05 
13:38:01.000000000 +0100
@@ -186,8 +186,8 @@
            => HandlerT Auth (HandlerT master IO) TypedContent
 postLoginR =
   do (username, password) <- lift (runInputPost
-       ((,) <$> ireq textField "username"
-            <*> ireq textField "password"))
+       ((,) Control.Applicative.<$> ireq textField "username"
+            Control.Applicative.<*> ireq textField "password"))
      isValid <- lift (validatePassword username password)
      if isValid
         then lift (setCredsRedirect (Creds "hardcoded" username []))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-auth-1.4.16/Yesod/Auth/Message.hs 
new/yesod-auth-1.4.17/Yesod/Auth/Message.hs
--- old/yesod-auth-1.4.16/Yesod/Auth/Message.hs 2017-02-03 06:23:23.000000000 
+0100
+++ new/yesod-auth-1.4.17/Yesod/Auth/Message.hs 2017-02-05 13:38:01.000000000 
+0100
@@ -87,7 +87,7 @@
 englishMessage EnterEmail = "Enter your e-mail address below, and a 
confirmation e-mail will be sent to you."
 englishMessage ConfirmationEmailSentTitle = "Confirmation e-mail sent"
 englishMessage (ConfirmationEmailSent email) =
-    "A confirmation e-mail has been sent to " `mappend`
+    "A confirmation e-mail has been sent to " `Data.Monoid.mappend`
     email `mappend`
     "."
 englishMessage AddressVerified = "Address verified, please set a new password"
@@ -464,7 +464,7 @@
 finnishMessage Email = "Sähköposti"
 finnishMessage UserName = "Käyttäjätunnus" -- FIXME by Google Translate "user 
name"
 finnishMessage Password = "Salasana"
-finnishMessage Password = "Current password"
+finnishMessage CurrentPassword = "Current password"
 finnishMessage Register = "Luo uusi"
 finnishMessage RegisterLong = "Luo uusi tili"
 finnishMessage EnterEmail = "Kirjoita alle sähköpostiosoitteesi, johon 
vahvistussähköposti lähetetään."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-auth-1.4.16/Yesod/Auth.hs 
new/yesod-auth-1.4.17/Yesod/Auth.hs
--- old/yesod-auth-1.4.16/Yesod/Auth.hs 2017-02-03 06:23:23.000000000 +0100
+++ new/yesod-auth-1.4.17/Yesod/Auth.hs 2017-02-07 16:18:21.000000000 +0100
@@ -105,7 +105,7 @@
     { credsPlugin :: Text -- ^ How the user was authenticated
     , credsIdent :: Text -- ^ Identifier. Exact meaning depends on plugin.
     , credsExtra :: [(Text, Text)]
-    }
+    } deriving (Show)
 
 class (Yesod master, PathPiece (AuthId master), RenderMessage master 
FormMessage) => YesodAuth master where
     type AuthId master
@@ -167,7 +167,7 @@
     -- >             lift $ redirect HomeR   -- or any other Handler code you 
want
     -- >         defaultLoginHandler
     -- 
-    loginHandler :: AuthHandler master Html
+    loginHandler :: HandlerT Auth (HandlerT master IO) Html
     loginHandler = defaultLoginHandler
 
     -- | Used for i18n of messages provided by this package.
@@ -227,7 +227,7 @@
     --  This is an experimental API that is not broadly used throughout the 
yesod-auth code base
     runHttpRequest :: Request -> (Response BodyReader -> HandlerT master IO a) 
-> HandlerT master IO a
     runHttpRequest req inner = do
-      man <- authHttpManager <$> getYesod
+      man <- authHttpManager Control.Applicative.<$> getYesod
       HandlerT $ \t -> withResponse req man $ \res -> unHandlerT (inner res) t
 
     {-# MINIMAL loginDest, logoutDest, (authenticate | getAuthId), 
authPlugins, authHttpManager #-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-auth-1.4.16/Yesod/PasswordStore.hs 
new/yesod-auth-1.4.17/Yesod/PasswordStore.hs
--- old/yesod-auth-1.4.16/Yesod/PasswordStore.hs        2017-02-03 
06:23:23.000000000 +0100
+++ new/yesod-auth-1.4.17/Yesod/PasswordStore.hs        2017-02-05 
13:38:01.000000000 +0100
@@ -163,7 +163,7 @@
     let hLen = 32
         dkLen = hLen in go hLen dkLen
   where
-    go hLen dkLen | dkLen > (2^32 - 1) * hLen = error "Derived key too long."
+    go hLen dkLen | dkLen > (2^(32 :: Int) - 1) * hLen = error "Derived key 
too long."
                   | otherwise =
                       let !l = ceiling ((fromIntegral dkLen / fromIntegral 
hLen) :: Double)
                           !r = dkLen - (l - 1) * hLen
@@ -413,17 +413,3 @@
     let x' = f x
     x' `seq` writeSTRef ref x'
 #endif
-
-#if MIN_VERSION_bytestring(0, 10, 0)
-toStrict :: BL.ByteString -> BS.ByteString
-toStrict = BL.toStrict
-
-fromStrict :: BS.ByteString -> BL.ByteString
-fromStrict = BL.fromStrict
-#else
-toStrict :: BL.ByteString -> BS.ByteString
-toStrict = BS.concat . BL.toChunks
-
-fromStrict :: BS.ByteString -> BL.ByteString
-fromStrict = BL.fromChunks . return
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yesod-auth-1.4.16/yesod-auth.cabal 
new/yesod-auth-1.4.17/yesod-auth.cabal
--- old/yesod-auth-1.4.16/yesod-auth.cabal      2017-02-02 06:44:36.000000000 
+0100
+++ new/yesod-auth-1.4.17/yesod-auth.cabal      2017-02-08 10:15:58.000000000 
+0100
@@ -1,5 +1,5 @@
 name:            yesod-auth
-version:         1.4.16
+version:         1.4.17
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman, Patrick Brisbin


Reply via email to