diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,8 @@
+0.7.1
+-----
+* Support `semigroups` 0.17 on older GHCs
+* Backported `NFData`'s `semigroup` instance to older GHCs.
+
 0.7
 ---
 * adapt to `Data.Void` being moved into `base-4.8`
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright 2013 Edward Kmett
+Copyright 2015 Edward Kmett
 
 All rights reserved.
 
diff --git a/README.markdown b/README.markdown
--- a/README.markdown
+++ b/README.markdown
@@ -1,7 +1,7 @@
 void
 ====
 
-[![Build Status](https://secure.travis-ci.org/ekmett/void.png?branch=master)](http://travis-ci.org/ekmett/void)
+[![Hackage](https://img.shields.io/hackage/v/void.svg)](https://hackage.haskell.org/package/void) [![Build Status](https://secure.travis-ci.org/ekmett/void.png?branch=master)](http://travis-ci.org/ekmett/void)
 
 This package provides a canonical 'uninhabited' data type for Haskell. This arises in a surprisingly wide array of situations in practice.
 
diff --git a/src-old/Data/Void.hs b/src-old/Data/Void.hs
--- a/src-old/Data/Void.hs
+++ b/src-old/Data/Void.hs
@@ -15,9 +15,13 @@
 #ifndef MIN_VERSION_base
 #define MIN_VERSION_base(x,y,z) 1
 #endif
+
+#ifndef MIN_VERSION_semigroups
+#define MIN_VERSION_semigroups(x,y,z) 1
+#endif
 -----------------------------------------------------------------------------
 -- |
--- Copyright   :  (C) 2008-2013 Edward Kmett
+-- Copyright   :  (C) 2008-2015 Edward Kmett
 -- License     :  BSD-style (see the file LICENSE)
 --
 -- Maintainer  :  Edward Kmett <ekmett@gmail.com>
@@ -32,6 +36,7 @@
   , vacuousM
   ) where
 
+import Control.DeepSeq (NFData(..))
 import Control.Monad (liftM)
 import Data.Ix
 import Data.Hashable
@@ -98,7 +103,11 @@
 
 instance Semigroup Void where
   a <> _ = a
+#if MIN_VERSION_semigroups(0,17,0)
+  stimes _ a = a
+#else
   times1p _ a = a
+#endif
 
 instance Ix Void where
   range _ = []
@@ -109,3 +118,7 @@
 #if MIN_VERSION_base(4,0,0)
 instance Exception Void
 #endif
+
+-- | Defined as @'rnf' = 'absurd'@.
+instance NFData Void where
+  rnf = absurd
diff --git a/src/Data/Void/Unsafe.hs b/src/Data/Void/Unsafe.hs
--- a/src/Data/Void/Unsafe.hs
+++ b/src/Data/Void/Unsafe.hs
@@ -5,7 +5,7 @@
 #endif
 -----------------------------------------------------------------------------
 -- |
--- Copyright   :  (C) 2008-2013 Edward Kmett
+-- Copyright   :  (C) 2008-2015 Edward Kmett
 -- License     :  BSD-style (see the file LICENSE)
 --
 -- Maintainer  :  Edward Kmett <ekmett@gmail.com>
diff --git a/void.cabal b/void.cabal
--- a/void.cabal
+++ b/void.cabal
@@ -1,6 +1,6 @@
 name:          void
 category:      Data Structures
-version:       0.7
+version:       0.7.1
 license:       BSD3
 cabal-version: >= 1.10
 license-file:  LICENSE
@@ -9,7 +9,7 @@
 stability:     portable
 homepage:      http://github.com/ekmett/void
 bug-reports:   http://github.com/ekmett/void/issues
-copyright:     Copyright (C) 2008-2013 Edward A. Kmett
+copyright:     Copyright (C) 2008-2015 Edward A. Kmett
 synopsis:      A Haskell 98 logically uninhabited data type
 description:   A Haskell 98 logically uninhabited data type, used to indicate that a given term should not exist.
 build-type:    Simple
@@ -41,7 +41,8 @@
     exposed-modules: Data.Void
 
   build-depends:
-    base       >= 3 && < 10,
+    base       >= 3   && < 10,
+    deepseq    >= 1.1 && < 1.5,
     hashable   >= 1.1,
     semigroups >= 0.8.2
 
