diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,3 +1,7 @@
+## 0.5.1
+
+- Minor cleanups (see commit 1bb4746eaf3fbc100b9003da771eb4198a8a198a)
+
 ## 0.5.0
 
 - [PR #26](https://bitbucket.org/echo_rm/hailgun/pull-requests/26/) Support named emails
diff --git a/Mail/Hailgun/Communication.hs b/Mail/Hailgun/Communication.hs
--- a/Mail/Hailgun/Communication.hs
+++ b/Mail/Hailgun/Communication.hs
@@ -13,7 +13,9 @@
 import           Data.Aeson
 import qualified Data.ByteString.Char8                 as BC
 import qualified Data.ByteString.Lazy.Char8            as BLC
+#if __GLASGOW_HASKELL__ < 806
 import           Data.Foldable                         (foldMap)
+#endif
 import           Data.Monoid
 import           Mail.Hailgun.Errors
 import           Mail.Hailgun.Internal.Data
@@ -28,7 +30,11 @@
 
 getRequest :: (MonadThrow m) => String -> HailgunContext -> [(BC.ByteString, Maybe BC.ByteString)] -> m NC.Request
 getRequest url context queryParams = do
+#if MIN_VERSION_http_client(0,5,0)
+   initRequest <- NC.parseUrlThrow url
+#else
    initRequest <- NC.parseUrl url
+#endif
    let request = appEndo (applyHailgunAuth context) $
          initRequest
             { NC.method = NM.methodGet
@@ -41,7 +47,11 @@
 
 postRequest :: (MonadThrow m, MonadIO m) => String -> HailgunContext -> [Part] -> m NC.Request
 postRequest url context parts = do
+#if MIN_VERSION_http_client(0,5,0)
+   initRequest <- NC.parseUrlThrow url
+#else
    initRequest <- NC.parseUrl url
+#endif
    let request = initRequest
          { NC.method = NM.methodPost
 #if MIN_VERSION_http_client(0,5,0)
@@ -77,5 +87,8 @@
 responseDecode :: (FromJSON a) => NC.Response BLC.ByteString -> Either HailgunErrorResponse a
 responseDecode = mapError . eitherDecode . NC.responseBody
 
+#if MIN_VERSION_http_client(0,5,0)
+#else
 ignoreStatus :: a -> b -> c -> Maybe d
 ignoreStatus _ _ _ = Nothing
+#endif
diff --git a/Mail/Hailgun/Domains.hs b/Mail/Hailgun/Domains.hs
--- a/Mail/Hailgun/Domains.hs
+++ b/Mail/Hailgun/Domains.hs
@@ -1,10 +1,13 @@
+{-# LANGUAGE CPP #-}
 module Mail.Hailgun.Domains
     ( getDomains
     , HailgunDomainResponse(..)
     , HailgunDomain(..)
     ) where
 
+#if __GLASGOW_HASKELL__ < 800
 import           Control.Applicative
+#endif
 import           Control.Monad              (mzero)
 import           Data.Aeson
 import qualified Data.Text                  as T
@@ -13,7 +16,7 @@
 import           Mail.Hailgun.Internal.Data
 import           Mail.Hailgun.MailgunApi
 import           Mail.Hailgun.Pagination
-import           Network.HTTP.Client        (httpLbs, withManager)
+import qualified Network.HTTP.Client        as NC
 import           Network.HTTP.Client.TLS    (tlsManagerSettings)
 
 -- | Make a request to Mailgun for the domains against your account. This is a paginated request so you must specify
@@ -24,7 +27,12 @@
    -> IO (Either HailgunErrorResponse HailgunDomainResponse) -- ^ The IO response which is either an error or the list of domains.
 getDomains context page = do
    request <- getRequest url context (toQueryParams . pageToParams $ page)
-   response <- withManager tlsManagerSettings (httpLbs request)
+#if MIN_VERSION_http_client(0,5,0)
+   mgr <- NC.newManager tlsManagerSettings
+   response <- NC.httpLbs request mgr
+#else
+   response <- NC.withManager tlsManagerSettings (NC.httpLbs request)
+#endif
    return $ parseResponse response
    where
       url = mailgunApiPrefix ++ "/domains"
diff --git a/Mail/Hailgun/Errors.hs b/Mail/Hailgun/Errors.hs
--- a/Mail/Hailgun/Errors.hs
+++ b/Mail/Hailgun/Errors.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 module Mail.Hailgun.Errors
     ( HailgunErrorResponse(..) -- TODO Make it so that herMessage is a hidden detail in the next version
     , toHailgunError
@@ -7,7 +8,9 @@
     , mapError
     ) where
 
+#if __GLASGOW_HASKELL__ < 800
 import           Control.Applicative
+#endif
 import           Control.Monad       (mzero)
 import           Data.Aeson
 import qualified Data.Text           as T
diff --git a/Mail/Hailgun/Internal/Data.hs b/Mail/Hailgun/Internal/Data.hs
--- a/Mail/Hailgun/Internal/Data.hs
+++ b/Mail/Hailgun/Internal/Data.hs
@@ -16,19 +16,24 @@
     , AttachmentType(..)
     ) where
 
+#if __GLASGOW_HASKELL__ < 800
 import           Control.Applicative
+#endif
 import           Data.Aeson
 import qualified Data.ByteString      as B
 import qualified Data.ByteString.Lazy as BL
 import qualified Data.Text            as T
 import           Data.Time.Clock      (UTCTime (..))
+#if MIN_VERSION_time(1,6,0)
+import           Data.Time.Format     (ParseTime (..), parseTimeM)
+#else
 import           Data.Time.Format     (ParseTime (..), parseTime)
+#endif
 #if MIN_VERSION_time(1,9,0)
 import           Data.Time.Format.Internal (ParseTime (..))
 #endif
 import           Data.Time.LocalTime  (zonedTimeToUTC)
 import qualified Network.HTTP.Client  as NHC
-import qualified Text.Email.Validate  as TEV
 
 #if MIN_VERSION_time(1,5,0)
 import           Data.Time.Format     (defaultTimeLocale)
@@ -156,7 +161,11 @@
 -- Example Input: 'Thu, 13 Oct 2011 18:02:00 GMT'
 instance FromJSON HailgunTime where
    parseJSON = withText "HailgunTime" $ \t ->
+#if MIN_VERSION_time(1,6,0)
+      case parseTimeM True defaultTimeLocale "%a, %d %b %Y %T %Z" (T.unpack t) of
+#else
       case parseTime defaultTimeLocale "%a, %d %b %Y %T %Z" (T.unpack t) of
+#endif
          Just d -> pure d
          _      -> fail "could not parse Mailgun Style date"
 
diff --git a/Mail/Hailgun/Message.hs b/Mail/Hailgun/Message.hs
--- a/Mail/Hailgun/Message.hs
+++ b/Mail/Hailgun/Message.hs
@@ -3,7 +3,6 @@
     ) where
 
 import           Control.Applicative
-import           Data.Either                        (either)
 import qualified Data.ByteString.Char8              as BC
 import qualified Data.Text                          as T
 import           Data.Text.Encoding                 (encodeUtf8, decodeUtf8)
diff --git a/Mail/Hailgun/SendEmail.hs b/Mail/Hailgun/SendEmail.hs
--- a/Mail/Hailgun/SendEmail.hs
+++ b/Mail/Hailgun/SendEmail.hs
@@ -1,9 +1,12 @@
+{-# LANGUAGE CPP #-}
 module Mail.Hailgun.SendEmail
     ( sendEmail
     , HailgunSendResponse(..)
     ) where
 
+#if __GLASGOW_HASKELL__ < 800
 import           Control.Applicative
+#endif
 import           Control.Monad                         (mzero)
 import           Data.Aeson
 import qualified Data.ByteString.Char8                 as BC
@@ -14,11 +17,9 @@
 import           Mail.Hailgun.Internal.Data
 import           Mail.Hailgun.MailgunApi
 import           Mail.Hailgun.PartUtil
-import           Network.HTTP.Client                   (httpLbs, withManager)
+import qualified Network.HTTP.Client                   as NC
 import qualified Network.HTTP.Client.MultipartFormData as NCM
 import           Network.HTTP.Client.TLS               (tlsManagerSettings)
-import           Text.Email.Validate                   (EmailAddress,
-                                                        toByteString)
 
 -- | Send an email using the Mailgun API's. This method is capable of sending a message over the
 -- Mailgun service. All it needs is the appropriate context.
@@ -28,7 +29,12 @@
    -> IO (Either HailgunErrorResponse HailgunSendResponse) -- ^ The result of the sent email. Either a sent email or a successful send.
 sendEmail context message = do
    request <- postRequest url context (toEmailParts message)
-   response <- withManager tlsManagerSettings (httpLbs request)
+#if MIN_VERSION_http_client(0,5,0)
+   mgr <- NC.newManager tlsManagerSettings
+   response <- NC.httpLbs request mgr
+#else
+   response <- NC.withManager tlsManagerSettings (NC.httpLbs request)
+#endif
    return $ parseResponse response
    where
       url = mailgunApiPrefixContext context ++ "/messages"
diff --git a/hailgun.cabal b/hailgun.cabal
--- a/hailgun.cabal
+++ b/hailgun.cabal
@@ -10,7 +10,7 @@
 -- PVP summary:      +-+------- breaking API changes
 --                   | | +----- non-breaking API additions
 --                   | | | +--- code changes with no API change
-version:             0.5.0
+version:             0.5.1
 
 -- A short (one-line) description of the package.
 synopsis:            Mailgun REST api interface for Haskell.
