diff --git a/Data/Stream/Future/Skew.hs b/Data/Stream/Future/Skew.hs
--- a/Data/Stream/Future/Skew.hs
+++ b/Data/Stream/Future/Skew.hs
@@ -56,7 +56,6 @@
 import Data.Semigroup hiding (Last)
 import Data.Semigroup.Foldable
 import Data.Semigroup.Traversable
-import Data.Monoid (Monoid(mappend))
 import Prelude hiding (null, head, tail, drop, dropWhile, length, foldr, last, span, repeat, replicate, break)
 
 infixr 5 :<, <|
diff --git a/Data/Stream/Infinite.hs b/Data/Stream/Infinite.hs
--- a/Data/Stream/Infinite.hs
+++ b/Data/Stream/Infinite.hs
@@ -80,7 +80,6 @@
 import Data.Char (isSpace)
 import Data.Data
 import Data.Functor.Apply
-import Data.Monoid
 import Data.Semigroup
 import Data.Foldable
 import Data.Traversable
diff --git a/Data/Stream/Infinite/Skew.hs b/Data/Stream/Infinite/Skew.hs
--- a/Data/Stream/Infinite/Skew.hs
+++ b/Data/Stream/Infinite/Skew.hs
@@ -54,7 +54,6 @@
 import Data.Semigroup hiding (Last)
 import Data.Semigroup.Foldable
 import Data.Semigroup.Traversable
-import Data.Monoid (Monoid(mappend))
 import Prelude hiding (null, head, tail, drop, dropWhile, length, foldr, last, span, repeat, replicate, (!!), break)
 
 infixr 5 :<, <|
diff --git a/Data/Stream/Supply.hs b/Data/Stream/Supply.hs
--- a/Data/Stream/Supply.hs
+++ b/Data/Stream/Supply.hs
@@ -45,7 +45,6 @@
 import Data.Foldable
 import Data.IORef(newIORef, atomicModifyIORef)
 import Data.Traversable
-import Data.Monoid
 import Data.Semigroup
 import Data.Semigroup.Foldable
 import Data.Semigroup.Traversable
diff --git a/streams.cabal b/streams.cabal
--- a/streams.cabal
+++ b/streams.cabal
@@ -1,6 +1,6 @@
 name:          streams
 category:      Control, Comonads
-version:       0.8.0.4
+version:       0.8.1
 license:       BSD3
 cabal-version: >= 1.6
 license-file:  LICENSE
@@ -84,7 +84,7 @@
     comonad >= 1.1.1 && < 1.2,
     distributive >= 0.2 && < 0.3,
     semigroupoids >= 1.2.4 && < 1.3, 
-    semigroups >= 0.7.1 && < 0.8
+    semigroups >= 0.8 && < 0.9
 
   extensions: CPP
   if impl(ghc)
