diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for deriving-aeson
 
+## 0.2.4
+
+* Added `RejectUnknownFields`
+
 ## 0.2.3
 
 * Fixed a bug in `SumTaggedObject`
diff --git a/deriving-aeson.cabal b/deriving-aeson.cabal
--- a/deriving-aeson.cabal
+++ b/deriving-aeson.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.4
 name:                deriving-aeson
-version:             0.2.3
+version:             0.2.4
 synopsis:            Type driven generic aeson instance customisation
 description:         This package provides a newtype wrapper with
   FromJSON/ToJSON instances customisable via a phantom type parameter.
@@ -13,7 +13,7 @@
 copyright:           Copyright (c) 2020 Fumiaki Kinoshita
 category:            JSON, Generics
 extra-source-files:  CHANGELOG.md, README.md
-tested-with:         GHC == 8.6.5, GHC == 8.8.3
+tested-with:         GHC == 8.6.5, GHC == 8.8.3, GHC == 8.10.1
 
 source-repository head
   type: git
@@ -23,7 +23,7 @@
   exposed-modules:
     Deriving.Aeson
     Deriving.Aeson.Stock
-  build-depends:       base >= 4.12 && <5, aeson >= 1.3 && <1.5
+  build-depends:       base >= 4.12 && <5, aeson >= 1.4.7.0 && <1.5
   hs-source-dirs: src
   default-language:    Haskell2010
   ghc-options: -Wall -Wcompat
diff --git a/src/Deriving/Aeson.hs b/src/Deriving/Aeson.hs
--- a/src/Deriving/Aeson.hs
+++ b/src/Deriving/Aeson.hs
@@ -15,6 +15,7 @@
   , FieldLabelModifier
   , ConstructorTagModifier
   , OmitNothingFields
+  , RejectUnknownFields
   , TagSingleConstructors
   , NoAllNullaryToStringTag
   , UnwrapUnaryRecords
@@ -37,6 +38,7 @@
   )where
 
 import Data.Aeson
+import Data.Aeson.Types
 import Data.Coerce
 import Data.List (stripPrefix)
 import Data.Maybe (fromMaybe)
@@ -66,6 +68,9 @@
 -- | Record fields with a Nothing value will be omitted from the resulting object.
 data OmitNothingFields
 
+-- | JSON Documents mapped to records with unmatched keys will be rejected
+data RejectUnknownFields
+
 -- | Encode types with a single constructor as sums, so that allNullaryToStringTag and sumEncoding apply.
 data TagSingleConstructors
 
@@ -125,6 +130,9 @@
 
 instance AesonOptions xs => AesonOptions (OmitNothingFields ': xs) where
   aesonOptions = (aesonOptions @xs) { omitNothingFields = True }
+
+instance AesonOptions xs => AesonOptions (RejectUnknownFields ': xs) where
+  aesonOptions = (aesonOptions @xs) { rejectUnknownFields = True }
 
 instance (StringModifier f, AesonOptions xs) => AesonOptions (FieldLabelModifier f ': xs) where
   aesonOptions = (aesonOptions @xs) { fieldLabelModifier = getStringModifier @f }
