diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,12 @@
+# 1.5.0
+
++ Drop QuickCheck dependency (thanks @mmhat !).
+
+# 1.4.0
+
++ Enable GHC 8.4 (thanks @4e6 !).
++ Drop GHC 7.10.
+
 # 1.3.0
 
 + Test with GHC 8.2. Drop GHC 7.8.
diff --git a/hjsonpointer.cabal b/hjsonpointer.cabal
--- a/hjsonpointer.cabal
+++ b/hjsonpointer.cabal
@@ -1,5 +1,5 @@
 name:               hjsonpointer
-version:            1.3.0
+version:            1.5.0
 synopsis:           JSON Pointer library
 homepage:           https://github.com/seagreen/hjsonpointer
 license:            MIT
@@ -10,7 +10,7 @@
 build-type:         Simple
 cabal-version:      >=1.10
 -- Rerun multi-ghc-travis (executable make-travis-yml-2) after changing:
-Tested-With:        GHC == 7.10.3, GHC == 8.0.1, GHC == 8.2.1
+Tested-With:        GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.1
 extra-source-files:
   changelog.md
   README.md
@@ -24,13 +24,10 @@
   exposed-modules:
     JSONPointer
   build-depends:
-      base                 >= 4.6 && < 4.11
+      base                 >= 4.6 && < 5
     , aeson                >= 0.7
     , hashable             >= 1.2
-    , QuickCheck           >= 2.8
     , unordered-containers >= 0.2
-    , semigroups           >= 0.18
-      -- ^ for GHCs < 8
     , text                 >= 1.2
     , vector               >= 0.10
 
@@ -45,6 +42,7 @@
     OverloadedStrings
   ghc-options:
     -Wall
+    -fno-warn-orphans
   other-modules: Example
   build-depends:
       aeson
diff --git a/src/JSONPointer.hs b/src/JSONPointer.hs
--- a/src/JSONPointer.hs
+++ b/src/JSONPointer.hs
@@ -13,7 +13,6 @@
 import qualified Data.Text           as T
 import qualified Data.Vector         as V
 import           GHC.Generics        (Generic)
-import           Test.QuickCheck
 import           Text.Read           (readMaybe)
 
 --------------------------------------------------
@@ -37,7 +36,7 @@
 
 newtype Pointer
     = Pointer { _unPointer :: [Token] }
-    deriving (Eq, Show, Semigroup, Monoid, Generic, Arbitrary)
+    deriving (Eq, Show, Semigroup, Monoid, Generic)
 
 instance HA.Hashable Pointer
 
@@ -62,9 +61,6 @@
     deriving (Eq, Show, Generic)
 
 instance HA.Hashable Token
-
-instance Arbitrary Token where
-    arbitrary = Token . T.pack <$> arbitrary
 
 -- | This escapes @"/"@ (because it's the token separator character).
 --
diff --git a/test/Unit.hs b/test/Unit.hs
--- a/test/Unit.hs
+++ b/test/Unit.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE StandaloneDeriving #-}
 
 module Main where
 
@@ -13,9 +15,14 @@
 import           Network.HTTP.Types.URI (urlDecode)
 
 import           Test.Hspec
-import           Test.QuickCheck        (property)
+import           Test.QuickCheck        (Arbitrary(..), property)
 
 import qualified Example
+
+deriving instance Arbitrary JP.Pointer
+
+instance Arbitrary JP.Token where
+    arbitrary = JP.Token . T.pack <$> arbitrary
 
 main :: IO ()
 main = hspec $ do
