diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 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
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
@@ -49,7 +49,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)
+#if MIN_VERSION_QuickCheck(2,8,0) && !MIN_VERSION_QuickCheck(2,12,0)
                     | PropertyInsufficientCoverage      -- ^ The tests passed but a use of 'cover' had insufficient coverage.
 #endif
 
@@ -61,7 +61,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)
+#if MIN_VERSION_QuickCheck(2,8,0) && !MIN_VERSION_QuickCheck(2,12,0)
             PropertyInsufficientCoverage  -> "Insufficient coverage after " ++ tests_run_str ++ " tests"
 #endif
       where
@@ -127,6 +127,6 @@
     toPropertyStatus (GaveUp {})                               = PropertyArgumentsExhausted
     toPropertyStatus (Failure { reason = rsn, output = otpt }) = PropertyFalsifiable rsn otpt
     toPropertyStatus (NoExpectedFailure {})                    = PropertyNoExpectedFailure
-#if MIN_VERSION_QuickCheck(2,8,0)
+#if MIN_VERSION_QuickCheck(2,8,0) && !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,6 +1,7 @@
-Name:                test-framework-quickcheck2
-Version:             0.3.0.4
 Cabal-Version:       >= 1.10
+Name:                test-framework-quickcheck2
+Version:             0.3.0.5
+
 Category:            Testing
 Synopsis:            QuickCheck-2 support for the test-framework package.
 License:             BSD3
@@ -11,7 +12,7 @@
 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.2.1, 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
+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
 
 Library
@@ -26,7 +27,7 @@
         Exposed-Modules:        Test.Framework.Providers.QuickCheck2
 
         Build-Depends:          test-framework        == 0.8.*
-                              , QuickCheck            >= 2.4    && < 2.11
+                              , QuickCheck            >= 2.4    && < 2.13
                               , base                  >= 4.3    && < 5
                               , extensible-exceptions >= 0.1.1  && < 0.2.0
                               , random                >= 1      && < 1.2
