diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [1.1.0.0] - 2022-08-30
+
+### Changed
+
+* Shrinking a `Value` now also shrinks to `Null` in every case.
+* Sped up generating `Key` by going via `Text` instead of going via `String`
+
 ## [1.0.0.1] - 2022-04-26
 
 ### Added
diff --git a/bench/Main.hs b/bench/Main.hs
--- a/bench/Main.hs
+++ b/bench/Main.hs
@@ -12,4 +12,16 @@
 main :: IO ()
 main =
   Criterion.defaultMain
-    [genValidBench @Array, genValidBench @Object, genValidBench @Value]
+    [ bgroup
+        "generators"
+        [ genValidBench @Array,
+          genValidBench @Object,
+          genValidBench @Value
+        ],
+      bgroup
+        "shrinkers"
+        [ shrinkValidBench @Array,
+          shrinkValidBench @Object,
+          shrinkValidBench @Value
+        ]
+    ]
diff --git a/genvalidity-aeson.cabal b/genvalidity-aeson.cabal
--- a/genvalidity-aeson.cabal
+++ b/genvalidity-aeson.cabal
@@ -1,18 +1,18 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.34.7.
+-- This file has been generated from package.yaml by hpack version 0.38.3.
 --
 -- see: https://github.com/sol/hpack
 
 name:           genvalidity-aeson
-version:        1.0.0.1
+version:        1.1.0.0
 synopsis:       GenValidity support for aeson
 category:       Testing
 homepage:       https://github.com/NorfairKing/validity#readme
 bug-reports:    https://github.com/NorfairKing/validity/issues
 author:         Tom Sydney Kerckhove
 maintainer:     syd@cs-syd.eu
-copyright:      Copyright: (c) 2016-2021 Tom Sydney Kerckhove
+copyright:      Copyright: (c) 2016-2022 Tom Sydney Kerckhove
 license:        MIT
 license-file:   LICENSE
 build-type:     Simple
@@ -40,7 +40,6 @@
     , genvalidity-text >=0.5
     , genvalidity-unordered-containers >=0.2
     , genvalidity-vector >=0.2
-    , validity >=0.5
     , validity-aeson >=0.2
   default-language: Haskell2010
 
@@ -57,7 +56,6 @@
       aeson >=1.4.0.0
     , base >=4.10 && <5
     , deepseq
-    , genvalidity
     , genvalidity-aeson
     , genvalidity-hspec
     , hspec
@@ -76,5 +74,5 @@
     , base >=4.10 && <5
     , criterion
     , genvalidity-aeson
-    , genvalidity-criterion
+    , genvalidity-criterion >=1.1.0.0
   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
@@ -20,8 +20,8 @@
 
 #if MIN_VERSION_aeson(2,0,0)
 instance GenValid Key where
-  genValid = K.fromString <$> genValid
-  shrinkValid = fmap K.fromString . shrinkValid . K.toString
+   genValid = K.fromText <$> genValid
+   shrinkValid = fmap K.fromText . shrinkValid . K.toText
 
 instance (GenValid v) => GenValid (KeyMap v) where
   genValid = KM.fromList <$> genValid
@@ -39,12 +39,12 @@
         pure Null
       ]
   shrinkValid (Object hm) =
-    toList hm
-      ++ (Object <$> shrinkValid hm)
+    Null
+      : (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
+    Null
+      : (toList a ++ (Array <$> shrinkValid a))
+  shrinkValid (String s) = Null : (String <$> shrinkValid s)
+  shrinkValid (Number s) = Null : (Number <$> shrinkValid s)
+  shrinkValid (Bool s) = Null : (Bool <$> shrinkValid s)
   shrinkValid Null = []
