diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,11 @@
+happstack-clientsession [![Hackage](https://img.shields.io/hackage/v/happstack-clientsession.svg)](https://hackage.haskell.org/package/happstack-clientsession) [![Build Status](https://api.travis-ci.com/Happstack/happstack-clientsession.svg?branch=master)](https://travis-ci.com/Happstack/happstack-clientsession)
+=========
+
+Support for using `clientsession` with `Happstack`. This allows you to store in session data in client cookies.
+
+
+
+
+
+
+
diff --git a/happstack-clientsession.cabal b/happstack-clientsession.cabal
--- a/happstack-clientsession.cabal
+++ b/happstack-clientsession.cabal
@@ -1,5 +1,5 @@
 Name          : happstack-clientsession
-Version       : 7.3.1
+Version       : 7.3.2
 License       : BSD3
 License-file  : COPYING
 Synopsis      : client-side session data
@@ -7,26 +7,29 @@
 Author        : Dag Odenhall
 Maintainer    : Happstack team <happs@googlegroups.com>
 Homepage      : http://happstack.com
-Cabal-Version : >= 1.6
+Cabal-Version : >= 1.10
 Category      : Web, Happstack
 Build-Type    : Simple
+tested-with   : GHC==8.0.1, GHC==8.2.2, GHC==8.4.1, GHC==8.6.5, GHC==8.8.1, GHC==8.10.2
+extra-source-files:  README.md
 
 source-repository head
     type:     git
     location: https://github.com/Happstack/happstack-clientsession
 
 Library
+  Default-language: Haskell2010
   GHC-Options     : -Wall
   Hs-Source-Dirs  : src
   Exposed-Modules :
     Happstack.Server.ClientSession
   Build-Depends   :
     base              == 4.*,
-    bytestring        >= 0.9 && < 0.11,
+    bytestring        >= 0.9 && < 0.12,
     cereal            >= 0.3 && < 0.6,
     clientsession     >= 0.8 && < 0.10,
-    happstack-server  >= 7.0 && < 7.5,
+    happstack-server  >= 7.0 && < 7.8,
     monad-control     >= 1.0 && < 1.1,
     mtl               >= 2.0 && < 2.3,
-    safecopy          >= 0.7 && < 0.10,
+    safecopy          >= 0.7 && < 0.11,
     transformers-base == 0.4.*
diff --git a/src/Happstack/Server/ClientSession.hs b/src/Happstack/Server/ClientSession.hs
--- a/src/Happstack/Server/ClientSession.hs
+++ b/src/Happstack/Server/ClientSession.hs
@@ -177,6 +177,7 @@
                                                  , ComposeSt, defaultLiftBaseWith, defaultRestoreM
                                                  )
 import Data.ByteString.Char8 (pack, unpack)
+import Data.Semigroup        (Semigroup(..))
 import Data.Monoid           (Monoid(..))
 import Data.SafeCopy         (SafeCopy(getCopy, putCopy), contain, safeGet, safePut)
 import Data.Serialize        (runGet, runPut)
@@ -269,6 +270,9 @@
 
 instance Happstack m => Happstack (SessionStateT sessionData m)
 
+instance (MonadPlus m) => Semigroup (SessionStateT sessionData m a) where
+    (<>) = mplus
+
 instance (MonadPlus m) => Monoid (SessionStateT sessionData m a) where
     mempty  = mzero
     mappend = mplus
@@ -343,6 +347,9 @@
 runClientSessionT cs sc = runSessionStateT (runReaderT (unClientSessionT cs) sc) Unread
 
 instance Happstack m => Happstack (ClientSessionT sessionData m)
+
+instance (MonadPlus m) => Semigroup (ClientSessionT sessionData m a) where
+    (<>) = mplus
 
 instance (MonadPlus m) => Monoid (ClientSessionT sessionData m a) where
     mempty  = mzero
