diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,26 @@
+# Changelog
+
+## [1.0.0.0] - 2021-11-20
+
+### Changed
+
+* Compatibility with `genvalidity >= 1.0.0.0`
+* Improved shrinking for 'Value'.
+
+## [0.3.0.1] - 2020-02-10
+
+### Added
+
+* Added benchmarks.
+* Added a test to make sure that it generates renderable values.
+
+## [0.3.0.0] - 2019-03-06
+
+### Changed
+
+* Removed the 'GenUnchecked' and 'GenInvalid' instance for 'Value'.
+
+## Older versions
+
+No history before version 0.3.0.0
+
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
 The MIT License (MIT)
 
-Copyright (c) 2016 Tom Sydney Kerckhove
+Copyright (c) 2016-2021 Tom Sydney Kerckhove
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/Setup.hs b/Setup.hs
deleted file mode 100644
--- a/Setup.hs
+++ /dev/null
@@ -1,3 +0,0 @@
-import Distribution.Simple
-
-main = defaultMain
diff --git a/bench/Main.hs b/bench/Main.hs
new file mode 100644
--- /dev/null
+++ b/bench/Main.hs
@@ -0,0 +1,15 @@
+{-# LANGUAGE AllowAmbiguousTypes #-}
+{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE TypeApplications #-}
+
+module Main where
+
+import Criterion.Main as Criterion
+import Data.Aeson
+import Data.GenValidity.Aeson ()
+import Data.GenValidity.Criterion
+
+main :: IO ()
+main =
+  Criterion.defaultMain
+    [genValidBench @Array, genValidBench @Object, genValidBench @Value]
diff --git a/genvalidity-aeson.cabal b/genvalidity-aeson.cabal
--- a/genvalidity-aeson.cabal
+++ b/genvalidity-aeson.cabal
@@ -1,25 +1,24 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.31.1.
+-- This file has been generated from package.yaml by hpack version 0.34.4.
 --
 -- see: https://github.com/sol/hpack
---
--- hash: d45a5c5de46da85d9d5f805bc0b5b69757c4d185ca5656d39b3c8225a0df0bb5
 
 name:           genvalidity-aeson
-version:        0.3.0.0
+version:        1.0.0.0
 synopsis:       GenValidity support for aeson
-description:    Please see README.md
 category:       Testing
 homepage:       https://github.com/NorfairKing/validity#readme
 bug-reports:    https://github.com/NorfairKing/validity/issues
 author:         Tom Sydney Kerckhove
-maintainer:     syd.kerckhove@gmail.com,
-                nick.van.den.broeck666@gmail.com
-copyright:      Copyright: (c) 2017-2019 Tom Sydney Kerckhove
+maintainer:     syd@cs-syd.eu
+copyright:      Copyright: (c) 2016-2021 Tom Sydney Kerckhove
 license:        MIT
 license-file:   LICENSE
 build-type:     Simple
+extra-source-files:
+    LICENSE
+    CHANGELOG.md
 
 source-repository head
   type: git
@@ -34,9 +33,9 @@
       src
   build-depends:
       QuickCheck
-    , aeson
-    , base <5
-    , genvalidity >=0.8
+    , aeson >=1.4.0.0
+    , base >=4.10 && <5
+    , genvalidity >=1.0
     , genvalidity-scientific >=0.2
     , genvalidity-text >=0.5
     , genvalidity-unordered-containers >=0.2
@@ -55,10 +54,27 @@
       test/
   ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
   build-depends:
-      aeson
-    , base >=4.9 && <=5
+      aeson >=1.4.0.0
+    , base >=4.10 && <5
+    , deepseq
     , genvalidity
     , genvalidity-aeson
     , genvalidity-hspec
     , hspec
+  default-language: Haskell2010
+
+benchmark genvalidity-aeson-bench
+  type: exitcode-stdio-1.0
+  main-is: Main.hs
+  other-modules:
+      Paths_genvalidity_aeson
+  hs-source-dirs:
+      bench/
+  ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
+  build-depends:
+      aeson >=1.4.0.0
+    , base >=4.10 && <5
+    , criterion
+    , genvalidity-aeson
+    , genvalidity-criterion
   default-language: Haskell2010
diff --git a/src/Data/GenValidity/Aeson.hs b/src/Data/GenValidity/Aeson.hs
--- a/src/Data/GenValidity/Aeson.hs
+++ b/src/Data/GenValidity/Aeson.hs
@@ -1,10 +1,8 @@
 {-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# LANGUAGE CPP #-}
 
 module Data.GenValidity.Aeson where
-#if !MIN_VERSION_base(4,8,0)
-import Data.Functor ((<$>))
-#endif
+
+import Data.Aeson
 import Data.Foldable (toList)
 import Data.GenValidity
 import Data.GenValidity.HashMap ()
@@ -12,28 +10,25 @@
 import Data.GenValidity.Text ()
 import Data.GenValidity.Vector ()
 import Data.Validity.Aeson ()
-
-import Data.Aeson
-
 import Test.QuickCheck
 
 instance GenValid Value where
-    genValid =
-        oneof
-            [ Object <$> genValid
-            , Array <$> genValid
-            , String <$> genValid
-            , Number <$> genValid
-            , Bool <$> genValid
-            , pure Null
-            ]
-    shrinkValid (Object hm) =
-        (Object <$> shrinkValid hm) ++
-        toList hm ++ concatMap shrinkValid (toList hm)
-    shrinkValid (Array a) =
-        (Array <$> shrinkValid a) ++
-        toList a ++ concatMap shrinkValid (toList a)
-    shrinkValid (String s) = String <$> shrinkValid s
-    shrinkValid (Number s) = Number <$> shrinkValid s
-    shrinkValid (Bool s) = Bool <$> shrinkValid s
-    shrinkValid Null = []
+  genValid =
+    oneof
+      [ Object <$> genValid,
+        Array <$> genValid,
+        String <$> genValid,
+        Number <$> genValid,
+        Bool <$> genValid,
+        pure Null
+      ]
+  shrinkValid (Object hm) =
+    toList hm
+      ++ (Object <$> shrinkValid hm)
+  shrinkValid (Array a) =
+    toList a
+      ++ (Array <$> shrinkValid a)
+  shrinkValid (String s) = String <$> shrinkValid s
+  shrinkValid (Number s) = Number <$> shrinkValid s
+  shrinkValid (Bool s) = Bool <$> shrinkValid s
+  shrinkValid Null = []
diff --git a/test/Test/Validity/AesonSpec.hs b/test/Test/Validity/AesonSpec.hs
--- a/test/Test/Validity/AesonSpec.hs
+++ b/test/Test/Validity/AesonSpec.hs
@@ -2,11 +2,17 @@
 
 module Test.Validity.AesonSpec where
 
-import Test.Hspec
-
-import Data.Aeson (Value)
+import Control.DeepSeq
+import Control.Exception (evaluate)
+import Data.Aeson (Value, encode)
 import Data.GenValidity.Aeson ()
-import Test.Validity.GenValidity
+import Test.Hspec
+import Test.Validity
 
 spec :: Spec
-spec = genValidSpec @Value
+spec = do
+  genValidSpec @Value
+  describe "genValid :: Gen Value" $
+    it "produces deepseqable values" $
+      forAllValid $ \v ->
+        evaluate (deepseq (encode (v :: Value)) ()) `shouldReturn` ()
