diff --git a/ChangeLog.md b/ChangeLog.md
new file mode 100644
--- /dev/null
+++ b/ChangeLog.md
@@ -0,0 +1,25 @@
+## 0.3.0.7
+
+_2026-01-05, Andreas Abel_
+
+- Remove obsolete `deriving Typeable`
+- Tested building with GHC 8.0 - 9.14.1
+
+## 0.3.0.6
+
+_2025-02-26, Andreas Abel_
+
+- Support `random-1.3` and other latest dependencies
+- Drop support for GHC 7
+- Drop support for dependency versions that predate Stackage LTS 9.21
+- Tested building with GHC 8.0 - 9.12.1
+
+## 0.3.0.5
+
+- Add support for `QuickCheck-2.12`
+
+## 0.3.0.4
+
+- Add support for `Quickcheck >= 2.8 && < 2.11`'s `InsufficientCoverage` status result
+- Drop support for GHC < 7.0 (require `Haskell2010` support)
+- Prevent `maxDiscardRatio` from becoming zero
diff --git a/Setup.lhs b/Setup.lhs
deleted file mode 100644
--- a/Setup.lhs
+++ /dev/null
@@ -1,4 +0,0 @@
-#! /usr/bin/env runhaskell
-
-> import Distribution.Simple
-> main = defaultMain
diff --git a/Test/Framework/Providers/QuickCheck2.hs b/Test/Framework/Providers/QuickCheck2.hs
--- a/Test/Framework/Providers/QuickCheck2.hs
+++ b/Test/Framework/Providers/QuickCheck2.hs
@@ -1,7 +1,12 @@
-{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE CPP #-}
+{-# LANGUAGE ExistentialQuantification #-}
+{-# LANGUAGE MultiParamTypeClasses #-}
+{-# LANGUAGE TypeOperators #-}
+{-# LANGUAGE TypeSynonymInstances #-}
+
 -- | Allows QuickCheck2 properties to be used with the test-framework package.
 --
--- For an example of how to use test-framework, please see <http://github.com/batterseapower/test-framework/raw/master/example/Test/Framework/Example.lhs>
+-- For an example of how to use @test-framework@, please see <https://github.com/haskell/test-framework/raw/master/example/Test/Framework/Example.lhs>.
 module Test.Framework.Providers.QuickCheck2 (
         testProperty
     ) where
@@ -11,8 +16,8 @@
 import Test.QuickCheck.Property (Testable, Callback(PostTest), CallbackKind(NotCounterexample), callback)
 import Test.QuickCheck.State (numSuccessTests)
 import Test.QuickCheck.Test
-
-import Data.Typeable
+import Test.QuickCheck.Random (QCGen, mkQCGen)
+import System.Random (randomIO)
 
 
 -- | Create a 'Test' for a QuickCheck2 'Testable' property
@@ -39,6 +44,9 @@
                     | PropertyFalsifiable String String -- ^ The property was not true. The strings are the reason and the output.
                     | PropertyNoExpectedFailure         -- ^ We expected that a property would fail but it didn't
                     | PropertyTimedOut                  -- ^ The property timed out during execution
+#if !MIN_VERSION_QuickCheck(2,12,0)
+                    | PropertyInsufficientCoverage      -- ^ The tests passed but a use of 'cover' had insufficient coverage.
+#endif
 
 instance Show PropertyResult where
     show (PropertyResult { pr_status = status, pr_used_seed = used_seed, pr_tests_run = mb_tests_run })
@@ -48,6 +56,9 @@
             PropertyFalsifiable _rsn otpt -> otpt ++ "(used seed " ++ show used_seed ++ ")"
             PropertyNoExpectedFailure     -> "No expected failure with seed " ++ show used_seed ++ ", after " ++ tests_run_str ++ " tests"
             PropertyTimedOut              -> "Timed out after " ++ tests_run_str ++ " tests"
+#if !MIN_VERSION_QuickCheck(2,12,0)
+            PropertyInsufficientCoverage  -> "Insufficient coverage after " ++ tests_run_str ++ " tests"
+#endif
       where
         tests_run_str = fmap show mb_tests_run `orElse` "an unknown number of"
 
@@ -59,24 +70,25 @@
 
 
 data Property = forall a. Testable a => Property a
-    deriving Typeable
 
 instance Testlike PropertyTestCount PropertyResult Property where
     runTest topts (Property testable) = runProperty topts testable
     testTypeName _ = "Properties"
 
+newSeededQCGen :: Seed -> IO (QCGen, Int)
+newSeededQCGen (FixedSeed seed) = return $ (mkQCGen seed, seed)
+newSeededQCGen RandomSeed = do
+  seed <- randomIO
+  return (mkQCGen seed, seed)
+
 runProperty :: Testable a => CompleteTestOptions -> a -> IO (PropertyTestCount :~> PropertyResult, IO ())
 runProperty topts testable = do
-    (gen, seed) <- newSeededStdGen (unK $ topt_seed topts)
+    (gen, seed) <- newSeededQCGen (unK $ topt_seed topts)
     let max_success = unK $ topt_maximum_generated_tests topts
         max_discard = unK $ topt_maximum_unsuitable_generated_tests topts
         args = stdArgs { replay = Just (gen, 0) -- NB: the 0 is the saved size. Defaults to 0 if you supply "Nothing" for "replay".
                        , maxSuccess = max_success
-#if MIN_VERSION_QuickCheck(2,5,0)
-                       , maxDiscardRatio = max_discard `div` max_success
-#else
-                       , maxDiscard = max_discard
-#endif
+                       , maxDiscardRatio = (max_discard `div` max_success) + 1
                        , maxSize = unK $ topt_maximum_test_size topts
                        , chatty = False }
     -- FIXME: yield gradual improvement after each test
@@ -96,3 +108,6 @@
     toPropertyStatus (GaveUp {})                               = PropertyArgumentsExhausted
     toPropertyStatus (Failure { reason = rsn, output = otpt }) = PropertyFalsifiable rsn otpt
     toPropertyStatus (NoExpectedFailure {})                    = PropertyNoExpectedFailure
+#if !MIN_VERSION_QuickCheck(2,12,0)
+    toPropertyStatus (InsufficientCoverage _ _ _)              = PropertyInsufficientCoverage
+#endif
diff --git a/test-framework-quickcheck2.cabal b/test-framework-quickcheck2.cabal
--- a/test-framework-quickcheck2.cabal
+++ b/test-framework-quickcheck2.cabal
@@ -1,38 +1,56 @@
+Cabal-Version:       1.18
 Name:                test-framework-quickcheck2
-Version:             0.3.0.1
-Cabal-Version:       >= 1.2.3
+Version:             0.3.0.7
+
 Category:            Testing
-Synopsis:            QuickCheck2 support for the test-framework package.
+Synopsis:            QuickCheck-2 support for the test-framework package.
 License:             BSD3
 License-File:        LICENSE
 Author:              Max Bolingbroke <batterseapower@hotmail.com>
-Maintainer:          Max Bolingbroke <batterseapower@hotmail.com>
-Homepage:            http://batterseapower.github.com/test-framework/
+Maintainer:          Andreas Abel
+Homepage:            https://github.com/haskell/test-framework#readme
+Bug-Reports:         https://github.com/haskell/test-framework/issues
 Build-Type:          Simple
-
-Flag Base4
-        Description:    Choose base version 4
-        Default:        True
+Description:         Allows @QuickCheck-2@ properties to be used with the </package/test-framework test-framework package>.
 
-Flag Base3
-        Description:    Choose base version 3
-        Default:        False
+Tested-With:
+  GHC == 9.14.1
+  GHC == 9.12.2
+  GHC == 9.10.3
+  GHC == 9.8.4
+  GHC == 9.6.7
+  GHC == 9.4.8
+  GHC == 9.2.8
+  GHC == 9.0.2
+  GHC == 8.10.7
+  GHC == 8.8.4
+  GHC == 8.6.5
+  GHC == 8.4.4
+  GHC == 8.2.2
+  GHC == 8.0.2
 
+extra-doc-files:  ChangeLog.md
 
 Library
+        Default-Language:       Haskell2010
+        Other-Extensions:       CPP
+                                DeriveDataTypeable
+                                ExistentialQuantification
+                                MultiParamTypeClasses
+                                TypeOperators
+                                TypeSynonymInstances
+
         Exposed-Modules:        Test.Framework.Providers.QuickCheck2
 
-        Build-Depends:          test-framework >= 0.7.1, QuickCheck >= 2.4 && < 2.6, extensible-exceptions >= 0.1.1 && < 0.2.0
-        if flag(base3)
-                Build-Depends:          base >= 3 && < 4, random >= 1
-        else
-                if flag(base4)
-                        Build-Depends:          base >= 4 && < 5, random >= 1
+        Build-Depends:          test-framework        == 0.8.*
+                              , QuickCheck            >= 2.9.2  && < 3
+                              , base                  >= 4.9    && < 5
+                              , random                >= 1      && < 1.4
 
-        Extensions:             TypeSynonymInstances
-                                TypeOperators
-                                MultiParamTypeClasses
-                                ExistentialQuantification
-                                CPP
+        Ghc-Options:            -Wno-deprecations
+                                   -- This package is legacy and won't address deprecation warnings.
 
-        Ghc-Options:            -Wall
+Source-Repository head
+  Type:     git
+  Location: https://github.com/haskell/test-framework.git
+  subdir:   quickcheck2
