diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,12 @@
+## 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`
diff --git a/Setup.hs b/Setup.hs
deleted file mode 100644
--- a/Setup.hs
+++ /dev/null
@@ -1,2 +0,0 @@
-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
@@ -17,12 +17,10 @@
 import Test.QuickCheck.Property (Testable, Callback(PostTest), CallbackKind(NotCounterexample), callback)
 import Test.QuickCheck.State (numSuccessTests)
 import Test.QuickCheck.Test
-#if MIN_VERSION_QuickCheck(2,7,0)
 import Test.QuickCheck.Random (QCGen, mkQCGen)
-#endif
-import System.Random
+import System.Random (randomIO)
 
-import Data.Typeable
+import Data.Typeable (Typeable)
 
 
 -- | Create a 'Test' for a QuickCheck2 'Testable' property
@@ -49,7 +47,7 @@
                     | 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,8,0) && !MIN_VERSION_QuickCheck(2,12,0)
+#if !MIN_VERSION_QuickCheck(2,12,0)
                     | PropertyInsufficientCoverage      -- ^ The tests passed but a use of 'cover' had insufficient coverage.
 #endif
 
@@ -61,7 +59,7 @@
             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,8,0) && !MIN_VERSION_QuickCheck(2,12,0)
+#if !MIN_VERSION_QuickCheck(2,12,0)
             PropertyInsufficientCoverage  -> "Insufficient coverage after " ++ tests_run_str ++ " tests"
 #endif
       where
@@ -81,21 +79,12 @@
     runTest topts (Property testable) = runProperty topts testable
     testTypeName _ = "Properties"
 
-#if MIN_VERSION_QuickCheck(2,7,0)
-
 newSeededQCGen :: Seed -> IO (QCGen, Int)
 newSeededQCGen (FixedSeed seed) = return $ (mkQCGen seed, seed)
 newSeededQCGen RandomSeed = do
   seed <- randomIO
   return (mkQCGen seed, seed)
 
-#else
-
-newSeededQCGen :: Seed -> IO (StdGen, Int)
-newSeededQCGen = newSeededStdGen
-
-#endif
-
 runProperty :: Testable a => CompleteTestOptions -> a -> IO (PropertyTestCount :~> PropertyResult, IO ())
 runProperty topts testable = do
     (gen, seed) <- newSeededQCGen (unK $ topt_seed topts)
@@ -103,11 +92,7 @@
         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) + 1
-#else
-                       , maxDiscard = max_discard
-#endif
                        , maxSize = unK $ topt_maximum_test_size topts
                        , chatty = False }
     -- FIXME: yield gradual improvement after each test
@@ -127,6 +112,6 @@
     toPropertyStatus (GaveUp {})                               = PropertyArgumentsExhausted
     toPropertyStatus (Failure { reason = rsn, output = otpt }) = PropertyFalsifiable rsn otpt
     toPropertyStatus (NoExpectedFailure {})                    = PropertyNoExpectedFailure
-#if MIN_VERSION_QuickCheck(2,8,0) && !MIN_VERSION_QuickCheck(2,12,0)
+#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,20 +1,34 @@
-Cabal-Version:       >= 1.10
+Cabal-Version:       1.18
 Name:                test-framework-quickcheck2
-Version:             0.3.0.5
-
+Version:             0.3.0.6
 Category:            Testing
 Synopsis:            QuickCheck-2 support for the test-framework package.
 License:             BSD3
 License-File:        LICENSE
 Author:              Max Bolingbroke <batterseapower@hotmail.com>
-Maintainer:          Haskell Libraries <libraries@haskell.org>
-Homepage:            http://haskell.github.io/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
 Description:         Allows @QuickCheck-2@ properties to be used with the </package/test-framework test-framework package>.
-Tested-With:         GHC==8.4.1, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2, GHC==7.2.2, GHC==7.0.4
-extra-source-files:  ChangeLog.md
 
+Tested-With:
+  GHC == 9.12.1
+  GHC == 9.10.1
+  GHC == 9.8.4
+  GHC == 9.6.6
+  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
@@ -27,12 +41,13 @@
         Exposed-Modules:        Test.Framework.Providers.QuickCheck2
 
         Build-Depends:          test-framework        == 0.8.*
-                              , QuickCheck            >= 2.4    && < 2.13
-                              , base                  >= 4.3    && < 5
+                              , QuickCheck            >= 2.9.2  && < 2.16
+                              , base                  >= 4.9    && < 5
                               , extensible-exceptions >= 0.1.1  && < 0.2.0
-                              , random                >= 1      && < 1.2
+                              , random                >= 1      && < 1.4
 
-        Ghc-Options:            -Wall
+        Ghc-Options:            -Wno-deprecations
+                                   -- This package is legacy and won't address deprecation warnings.
 
 Source-Repository head
   Type:     git
