diff --git a/genvalidity-aeson.cabal b/genvalidity-aeson.cabal
--- a/genvalidity-aeson.cabal
+++ b/genvalidity-aeson.cabal
@@ -1,5 +1,5 @@
 name: genvalidity-aeson
-version: 0.0.0.0
+version: 0.1.0.0
 cabal-version: >=1.10
 build-type: Simple
 license: MIT
@@ -23,13 +23,13 @@
     build-depends:
         base <5,
         QuickCheck -any,
-        genvalidity >=0.3 && <0.4,
-        validity >=0.3 && <0.4,
-        validity-aeson >= 0.0 && < 0.1,
-        genvalidity-text >= 0.3 && < 0.4,
-        genvalidity-vector >= 0.0 && < 0.1,
-        genvalidity-unordered-containers >= 0.0 && < 0.1,
-        genvalidity-scientific >= 0.0 && < 0.1,
+        genvalidity >=0.4 && <0.5,
+        validity >=0.4 && <0.5,
+        validity-aeson >=0.1 && <0.2,
+        genvalidity-text >=0.4 && <0.5,
+        genvalidity-vector >=0.1 && <0.2,
+        genvalidity-unordered-containers >=0.1 && <0.2,
+        genvalidity-scientific >=0.1 && <0.2,
         aeson -any
     default-language: Haskell2010
     hs-source-dirs: src
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
@@ -5,11 +5,12 @@
 #if !MIN_VERSION_base(4,8,0)
 import Data.Functor ((<$>))
 #endif
+import Data.Foldable (toList)
 import Data.GenValidity
 import Data.GenValidity.HashMap ()
+import Data.GenValidity.Scientific ()
 import Data.GenValidity.Text ()
 import Data.GenValidity.Vector ()
-import Data.GenValidity.Scientific ()
 import Data.Validity.Aeson ()
 
 import Data.Aeson
@@ -26,6 +27,16 @@
             , Bool <$> genUnchecked
             , pure Null
             ]
+    shrinkUnchecked (Object hm) =
+        (Object <$> shrinkUnchecked hm) ++
+        toList hm ++ concatMap shrinkUnchecked (toList hm)
+    shrinkUnchecked (Array a) =
+        (Array <$> shrinkUnchecked a) ++
+        toList a ++ concatMap shrinkUnchecked (toList a)
+    shrinkUnchecked (String s) = String <$> shrinkUnchecked s
+    shrinkUnchecked (Number s) = Number <$> shrinkUnchecked s
+    shrinkUnchecked (Bool s) = Bool <$> shrinkUnchecked s
+    shrinkUnchecked Null = []
 
 instance GenValid Value where
     genValid =
