diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,11 @@
 CHANGES
 =======
 
+#### 4.7.8.4 (2025-08-26)
+
+  - fix build with `-Werror=incomplete-patterns`
+  - tested with GHC 8.0 - 9.14 alpha1
+
 #### 4.7.8.3 (2025-03-13)
 
   - drop support for GHC 7
diff --git a/ListLike.cabal b/ListLike.cabal
--- a/ListLike.cabal
+++ b/ListLike.cabal
@@ -1,6 +1,6 @@
 Cabal-Version: 1.18
 Name: ListLike
-Version: 4.7.8.3
+Version: 4.7.8.4
 
 License: BSD3
 Maintainer: David Fox <dsf@seereason.com>, Andreas Abel
@@ -24,10 +24,11 @@
 Stability: Stable
 
 Tested-With:
-  GHC == 9.12.1
-  GHC == 9.10.1
+  GHC == 9.14.1
+  GHC == 9.12.2
+  GHC == 9.10.2
   GHC == 9.8.4
-  GHC == 9.6.6
+  GHC == 9.6.7
   GHC == 9.4.8
   GHC == 9.2.8
   GHC == 9.0.2
@@ -111,7 +112,6 @@
     , ListLike
     , HUnit      >= 1.5 && < 2
     , QuickCheck >= 2.9 && < 3
-    , random     >= 1.1 && < 2
     , array
     , bytestring
     , containers
diff --git a/src/Data/ListLike/Instances.hs b/src/Data/ListLike/Instances.hs
--- a/src/Data/ListLike/Instances.hs
+++ b/src/Data/ListLike/Instances.hs
@@ -4,7 +4,7 @@
             ,TypeFamilies
             ,TypeSynonymInstances #-}
 {-# OPTIONS -Wno-orphans #-}
-#if __GLASGOW_HASKELL__ > 901
+#if __GLASGOW_HASKELL__ >= 900
 {-# OPTIONS -Wno-incomplete-uni-patterns #-}
 #endif
 
diff --git a/testsrc/TestInfrastructure.hs b/testsrc/TestInfrastructure.hs
--- a/testsrc/TestInfrastructure.hs
+++ b/testsrc/TestInfrastructure.hs
@@ -275,7 +275,9 @@
     -- Andreas Abel, 2023-10-10, issue #32:
     -- Avoid 'head' and 'tail' from 'Prelude' and thus the x-partial warning of GHC 9.8.
     head (MyList (x:xs)) = x
+    head (MyList [])     = undefined
     tail (MyList (x:xs)) = MyList xs
+    tail (MyList []    ) = undefined
     null (MyList x) = null x
 
 instance IsString (MyList Char) where
diff --git a/testsrc/runtests.hs b/testsrc/runtests.hs
--- a/testsrc/runtests.hs
+++ b/testsrc/runtests.hs
@@ -57,11 +57,15 @@
 prop_cons f i = llcmp (LL.cons i f) (i : (LL.toList f))
 prop_append f1 f2 = llcmp (LL.append f1 f2) (LL.toList f1 ++ LL.toList f2)
 prop_head f = not (LL.null f) ==> LL.head f == head (LL.toList f)
-  where head (x:xs) = x
+  where
+    head (x:xs) = x
+    head []     = undefined
   -- Andreas Abel, 2023-10-10, issue #32:
   -- Redefine 'head' and 'tail' to avoid the x-partial warning of GHC 9.8.
 prop_tail f = not (LL.null f) ==> llcmp (LL.tail f) (tail (LL.toList f))
-  where tail (x:xs) = xs
+  where
+    tail (x:xs) = xs
+    tail []     = undefined
 prop_init f = not (LL.null f) ==> llcmp (LL.init f) (init (LL.toList f))
 prop_last f = not (LL.null f) ==> LL.last f == last (LL.toList f)
 prop_null f = LL.null f == null (LL.toList f)
