diff --git a/Control/Watchdog.hs b/Control/Watchdog.hs
--- a/Control/Watchdog.hs
+++ b/Control/Watchdog.hs
@@ -105,7 +105,7 @@
 import Control.Applicative
 import Control.Concurrent
 import Control.Monad.State.Strict
-import Data.Monoid                ((<>))
+import Data.Semigroup             (Semigroup, (<>))
 import Data.String                (IsString, fromString)
 import Data.Time
 
@@ -262,7 +262,7 @@
 -- Watchdog: Error executing task (some error) - trying again immediately.
 -- Watchdog: Error executing task (some error) - waiting 1s before trying again.
 -- @
-formatWatchdogError :: (IsString str, Monoid str)
+formatWatchdogError :: (IsString str, Semigroup str)
                        => str       -- ^ Error message returned by the task.
                        -> Maybe Int -- ^ Waiting time - if any - before trying again.
                        -> str
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2012 - 2017, Jan Vornberger
+Copyright (c) 2012 - 2021, Jan Vornberger
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
diff --git a/watchdog.cabal b/watchdog.cabal
--- a/watchdog.cabal
+++ b/watchdog.cabal
@@ -1,13 +1,13 @@
 name:           watchdog
-version:        0.3
+version:        0.3.1
 author:         Jan Vornberger <jan@uos.de>
-copyright:      (c) 2012 - 2017 Jan Vornberger
+copyright:      (c) 2012 - 2021 Jan Vornberger
 maintainer:     Jan Vornberger <jan@uos.de>
 synopsis:       Simple control structure to re-try an action with exponential backoff
 description:    See Control.Watchdog for documentation.
 category:       Control
 build-type:     Simple
-cabal-version:  >= 1.8
+cabal-version:  >= 1.10
 license:        BSD3
 license-file:   LICENSE
 bug-reports:    https://github.com/javgh/watchdog/issues
@@ -17,8 +17,9 @@
     location: https://github.com/javgh/watchdog
 
 library
-    build-depends: base >= 4.5 && < 5
-                   , time >= 1.4 && < 1.9
+    build-depends: base >= 4.9 && < 5
+                   , time >= 1.4 && < 1.13
                    , mtl >= 2.1 && < 2.3
     exposed-modules: Control.Watchdog
     ghc-options: -Wall
+    default-language: Haskell98
