diff --git a/CHANGES.markdown b/CHANGES.markdown
--- a/CHANGES.markdown
+++ b/CHANGES.markdown
@@ -1,3 +1,8 @@
+## Changes in 0.8.1 [2019.03.25]
+ - Ensure that the test suite passes non-negative numbers to `Bits` methods
+   that require them, such as `bit`, `setBit`, `clearBit`, `complementBit`,
+   and `testBit`.
+
 ## Changes in 0.8 [2018.07.02]
  - Backported new instance from GHC 8.6/`base-4.12`
    * Data types in `GHC.Generics`:
diff --git a/README.markdown b/README.markdown
--- a/README.markdown
+++ b/README.markdown
@@ -85,6 +85,9 @@
 
 ## Supported versions of GHC/`base`
 
+ * `ghc-8.6.4`  / `base-4.12.0.0`
+ * `ghc-8.6.3`  / `base-4.12.0.0`
+ * `ghc-8.6.2`  / `base-4.12.0.0`
  * `ghc-8.6.1`  / `base-4.12.0.0`
  * `ghc-8.4.3`  / `base-4.11.1.0`
  * `ghc-8.4.2`  / `base-4.11.1.0`
diff --git a/base-orphans.cabal b/base-orphans.cabal
--- a/base-orphans.cabal
+++ b/base-orphans.cabal
@@ -1,11 +1,13 @@
--- This file has been generated from package.yaml by hpack version 0.28.2.
+cabal-version: 1.12
+
+-- This file has been generated from package.yaml by hpack version 0.31.2.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: f7b54386bbe16442a11779267f4a728967659e625e63acc7a4a4a9d07cfd302f
+-- hash: 8a268198122a850483f734c68a9c0a82b17c3ce8e2bf1bfda6930aeb4f7deff0
 
 name:                base-orphans
-version:             0.8
+version:             0.8.1
 synopsis:            Backwards-compatible orphan instances for base
 description:         @base-orphans@ defines orphan instances that mimic instances available in later versions of @base@ to a wider (older) range of compilers. @base-orphans@ does not export anything except the orphan instances themselves and complements @<http://hackage.haskell.org/package/base-compat base-compat>@.
                      See the README for what instances are covered: <https://github.com/haskell-compat/base-orphans#readme>. See also the <https://github.com/haskell-compat/base-orphans#what-is-not-covered what is not covered> section.
@@ -24,8 +26,7 @@
 license:             MIT
 license-file:        LICENSE
 build-type:          Simple
-cabal-version:       >= 1.10
-tested-with:         GHC == 7.0.1,  GHC == 7.0.2,  GHC == 7.0.3,  GHC == 7.0.4 , GHC == 7.2.1,  GHC == 7.2.2 , GHC == 7.4.1,  GHC == 7.4.2 , GHC == 7.6.1,  GHC == 7.6.2,  GHC == 7.6.3 , GHC == 7.8.1,  GHC == 7.8.2,  GHC == 7.8.3,  GHC == 7.8.4 , GHC == 7.10.1, GHC == 7.10.2, GHC == 7.10.3 , GHC == 8.0.1,  GHC == 8.0.2 , GHC == 8.2.1,  GHC == 8.2.2 , GHC == 8.4.1,  GHC == 8.4.2,  GHC == 8.4.3 , GHC == 8.6.1
+tested-with:         GHC == 7.0.* , GHC == 7.2.* , GHC == 7.4.* , GHC == 7.6.* , GHC == 7.8.* , GHC == 7.10.* , GHC == 8.0.* , GHC == 8.2.* , GHC == 8.4.* , GHC == 8.6.*
 extra-source-files:
     CHANGES.markdown
     README.markdown
diff --git a/test/System/Posix/Types/OrphansSpec.hs b/test/System/Posix/Types/OrphansSpec.hs
--- a/test/System/Posix/Types/OrphansSpec.hs
+++ b/test/System/Posix/Types/OrphansSpec.hs
@@ -16,7 +16,7 @@
 import           System.Posix.Types
 
 import           Test.Hspec.QuickCheck (prop)
-import           Test.QuickCheck (NonZero(..))
+import           Test.QuickCheck (NonNegative(..), NonZero(..))
 #endif
 
 main :: IO ()
@@ -39,17 +39,17 @@
     prop "implements rotate" $
       pred2IntHDev rotate rotate
     prop "implements setBit" $
-      pred2IntHDev setBit setBit
+      pred2NonNegIntHDev setBit setBit
     prop "implements clearBit" $
-      pred2IntHDev clearBit clearBit
+      pred2NonNegIntHDev clearBit clearBit
     prop "implements complementBit" $
-      pred2IntHDev complementBit complementBit
+      pred2NonNegIntHDev complementBit complementBit
     prop "implements testBit" $
-      pred2IntEq testBit testBit
+      pred2NonNegIntEq testBit testBit
     prop "implements complement" $
       pred1HDevHDev complement complement
     prop "implements bit" $
-      pred1IntHDev bit bit
+      pred1NonNegIntHDev bit bit
     prop "implements bitSize" $
       pred1HDevEq bitSize bitSize
     prop "implements isSigned" $
@@ -96,8 +96,8 @@
 pred1HDevHDev :: (CDev -> CDev) -> (HDev -> HDev) -> HDev -> Bool
 pred1HDevHDev = pred1HDev eqCDevHDev
 
-pred1IntHDev :: (Int -> CDev) -> (Int -> HDev) -> Int -> Bool
-pred1IntHDev = pred1Common eqCDevHDev
+pred1NonNegIntHDev :: (Int -> CDev) -> (Int -> HDev) -> NonNegative Int -> Bool
+pred1NonNegIntHDev f g (NonNegative x) = pred1Common eqCDevHDev f g x
 
 pred2Common :: (c -> d -> e)
             -> (a -> b -> c)
@@ -138,11 +138,16 @@
              -> HDev -> Int -> Bool
 pred2IntHDev = pred2Int eqCDevHDev
 
-pred2IntEq :: Eq a
-           => (CDev -> Int -> a)
-           -> (HDev -> Int -> a)
-           -> HDev -> Int -> Bool
-pred2IntEq = pred2Int (==)
+pred2NonNegIntHDev :: (CDev -> Int -> CDev)
+                   -> (HDev -> Int -> HDev)
+                   -> HDev -> NonNegative Int -> Bool
+pred2NonNegIntHDev f g hDev (NonNegative x) = pred2Int eqCDevHDev f g hDev x
+
+pred2NonNegIntEq :: Eq a
+                 => (CDev -> Int -> a)
+                 -> (HDev -> Int -> a)
+                 -> HDev -> NonNegative Int -> Bool
+pred2NonNegIntEq f g hDev (NonNegative x) = pred2Int (==) f g hDev x
 #else
 spec :: Spec
 spec = return ()
