diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for fakepull
 
-## 0.0.1.0 (2020-09-05)
+## 0.3.0.2 (2020-09-05)
+
+Support GHC 8.6.1 or later.
+
+## 0.3.0.1 (2020-09-05)
 
 Initial Release
diff --git a/fakepull.cabal b/fakepull.cabal
--- a/fakepull.cabal
+++ b/fakepull.cabal
@@ -1,7 +1,7 @@
 cabal-version: 2.2
 
 name:           fakepull
-version:        0.3.0.1
+version:        0.3.0.2
 synopsis:       Monad to pull from fake stream-like objects.
 description:    See <https://github.com/igrep/haskell-fakepull#readme>.
 
diff --git a/src/Test/Pull/Fake/Pure.hs b/src/Test/Pull/Fake/Pure.hs
--- a/src/Test/Pull/Fake/Pure.hs
+++ b/src/Test/Pull/Fake/Pure.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP                        #-}
 {-# LANGUAGE ConstraintKinds            #-}
 {-# LANGUAGE FlexibleContexts           #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
@@ -28,6 +29,10 @@
 import           Control.Monad.State.Strict (StateT, get, put, runStateT)
 import           Control.Monad.Trans        (MonadTrans)
 import           Data.Functor.Identity      (Identity, runIdentity)
+
+#if __GLASGOW_HASKELL__ < 808
+import           Control.Monad.Fail         (MonadFail)
+#endif
 
 
 newtype PullT payload m a =
