diff --git a/json-rpc-generic.cabal b/json-rpc-generic.cabal
--- a/json-rpc-generic.cabal
+++ b/json-rpc-generic.cabal
@@ -1,5 +1,5 @@
 name:                json-rpc-generic
-version:             0.2.1.1
+version:             0.2.1.2
 synopsis:            Generic encoder and decode for JSON-RPC
 description:         This package contains generic encoder and decode for JSON-RPC
 homepage:            http://github.com/khibino/haskell-json-rpc-generic
@@ -51,6 +51,7 @@
                        , scientific
                        , vector >=0.10
                        , aeson >=0.7
+                       , aeson-generic-compat
 
   hs-source-dirs:      src
   default-language:    Haskell2010
diff --git a/src/Data/JsonRpc/Generic.hs b/src/Data/JsonRpc/Generic.hs
--- a/src/Data/JsonRpc/Generic.hs
+++ b/src/Data/JsonRpc/Generic.hs
@@ -25,6 +25,7 @@
 import qualified Data.Text as T
 import Data.Aeson.Types
   (FromJSON (..), ToJSON (..), GFromJSON, genericParseJSON, Parser, Options (..), Value (..))
+import Data.Aeson.Generic.Compat (GFromJSON0)
 import Data.Vector (Vector)
 import qualified Data.Vector as Vector
 
@@ -89,7 +90,7 @@
 instance GFieldSetJSON (K1 i a) where
   gFieldSet  =  return $ K1 undefined
 
-genericFieldSetParseJSON :: (Generic a, GFromJSON (Rep a), GFieldSetJSON (Rep a))
+genericFieldSetParseJSON :: (Generic a, GFromJSON0 (Rep a), GFieldSetJSON (Rep a))
                          => JsonRpcOptions
                          -> Options
                          -> Value
@@ -108,7 +109,7 @@
     genericParseJSON opts v
 
 
-genericParseJSONRPC :: (Generic a, GFromJSON (Rep a), GFromArrayJSON (Rep a), GFieldSetJSON (Rep a))
+genericParseJSONRPC :: (Generic a, GFromJSON0 (Rep a), GFromArrayJSON (Rep a), GFieldSetJSON (Rep a))
                     => JsonRpcOptions -> Options -> Value -> Parser a
 genericParseJSONRPC rpcOpt opt = d where
   d (Array vs)      =  do (a, s) <- runStateT gFromArrayJSON $ Vector.toList vs
