diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,23 @@
+# Changelog
+
+## [1.0.0.0] - 2021-11-20
+
+* Compatibility with `genvalidity >= 1.0.0.0`
+* Renamed every combinator that ends in `OnValid` (or similar) to not have that suffix anymore.
+
+### Removed
+
+* Every combinator that relates to unchecked or invalid values.
+
+## [0.3.0.4] - 2020-02-10
+
+### Changed
+
+* Removed the doctests
+* Improved the cabal file
+
+## [0.2.0.3] - 2018-10-07
+
+### Changed
+
+* Compatibility with validity >=0.9, genvalidity >=0.7 and genvalidity-property >=0.3
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
 The MIT License (MIT)
 
-Copyright (c) 2016-2020 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/genvalidity-hspec-cereal.cabal b/genvalidity-hspec-cereal.cabal
--- a/genvalidity-hspec-cereal.cabal
+++ b/genvalidity-hspec-cereal.cabal
@@ -1,23 +1,24 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.33.0.
+-- This file has been generated from package.yaml by hpack version 0.34.4.
 --
 -- see: https://github.com/sol/hpack
---
--- hash: b9b98f1c3119e96c7122101d2a7f662a49b2c0cbfb7019b7cff86555785ea557
 
 name:           genvalidity-hspec-cereal
-version:        0.2.0.4
+version:        1.0.0.0
 synopsis:       Standard spec's for cereal-related instances
 category:       Testing
 homepage:       http://cs-syd.eu
 bug-reports:    https://github.com/NorfairKing/validity/issues
 author:         Tom Sydney Kerckhove
 maintainer:     syd@cs-syd.eu
-copyright:      Copyright: (c) 2016-2020 Tom Sydney Kerckhove
+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
@@ -36,7 +37,7 @@
     , base >=4.9 && <=5
     , cereal
     , deepseq
-    , genvalidity >=0.5
+    , genvalidity >=1.0
     , genvalidity-hspec >=0.6
     , hspec
   default-language: Haskell2010
@@ -54,9 +55,9 @@
       QuickCheck
     , base >=4.9 && <=5
     , cereal
-    , genvalidity >=0.7
+    , genvalidity
     , genvalidity-hspec-cereal
-    , genvalidity-property >=0.3
+    , genvalidity-property
     , hspec
     , validity >=0.9
   default-language: Haskell2010
diff --git a/src/Test/Validity/Cereal.hs b/src/Test/Validity/Cereal.hs
--- a/src/Test/Validity/Cereal.hs
+++ b/src/Test/Validity/Cereal.hs
@@ -1,25 +1,24 @@
+{-# LANGUAGE AllowAmbiguousTypes #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE TypeApplications #-}
-{-# LANGUAGE AllowAmbiguousTypes #-}
 
 -- | Standard test `Spec`s and raw `Property`s for `Serialize` instances.
 --
 -- You will need @TypeApplications@ to use these.
 module Test.Validity.Cereal
-    ( serializeSpecOnValid
-    , serializeSpec
-    , serializeSpecOnArbitrary
-    , serializeSpecOnGen
-    , neverFailsToEncodeOnGen
-    , encodeAndDecodeAreInversesOnGen
-    ) where
-
-import Data.GenValidity
+  ( serializeSpec,
+    serializeSpecOnArbitrary,
+    serializeSpecOnGen,
+    neverFailsToEncodeOnGen,
+    encodeAndDecodeAreInversesOnGen,
+  )
+where
 
 import Control.DeepSeq (deepseq)
 import Control.Exception (evaluate)
-import qualified Data.Serialize as Serialize
+import Data.GenValidity
 import Data.Serialize (Serialize)
+import qualified Data.Serialize as Serialize
 import Data.Typeable
 import Test.Hspec
 import Test.QuickCheck
@@ -29,21 +28,12 @@
 --
 -- Example usage:
 --
--- > serializeSpecOnValid @Double
-serializeSpecOnValid ::
-       forall a. (Show a, Eq a, Typeable a, GenValid a, Serialize a)
-    => Spec
-serializeSpecOnValid = serializeSpecOnGen (genValid @a) "valid" shrinkValid
-
--- | Standard test spec for properties of 'Serialize'-related functions for unchecked values
---
--- Example usage:
---
 -- > serializeSpec @Int
 serializeSpec ::
-       forall a. (Show a, Eq a, Typeable a, GenUnchecked a, Serialize a)
-    => Spec
-serializeSpec = serializeSpecOnGen (genUnchecked @a) "unchecked" shrinkUnchecked
+  forall a.
+  (Show a, Eq a, Typeable a, GenValid a, Serialize a) =>
+  Spec
+serializeSpec = serializeSpecOnGen (genValid @a) "valid" shrinkValid
 
 -- | Standard test spec for properties of 'Serialize'-related functions for arbitrary values
 --
@@ -51,8 +41,9 @@
 --
 -- > serializeSpecOnArbitrary @Int
 serializeSpecOnArbitrary ::
-       forall a. (Show a, Eq a, Typeable a, Arbitrary a, Serialize a)
-    => Spec
+  forall a.
+  (Show a, Eq a, Typeable a, Arbitrary a, Serialize a) =>
+  Spec
 serializeSpecOnArbitrary = serializeSpecOnGen (arbitrary @a) "arbitrary" shrink
 
 -- | Standard test spec for properties of 'Serialize'-related functions for a given generator (and a name for that generator).
@@ -61,56 +52,59 @@
 --
 -- > serializeSpecOnGen (genListOf $ pure 'a') "sequence of 'a's"
 serializeSpecOnGen ::
-       forall a. (Show a, Eq a, Typeable a, Serialize a)
-    => Gen a
-    -> String
-    -> (a -> [a])
-    -> Spec
+  forall a.
+  (Show a, Eq a, Typeable a, Serialize a) =>
+  Gen a ->
+  String ->
+  (a -> [a]) ->
+  Spec
 serializeSpecOnGen gen genname s =
-    parallel $ do
-        let name = nameOf @a
-        describe ("Serialize " ++ name ++ " (" ++ genname ++ ")") $ do
-            describe ("encode :: " ++ name ++ " -> Data.ByteString.ByteString") $
-                it
-                    (unwords
-                         [ "never fails to encode a"
-                         , "\"" ++ genname
-                         , name ++ "\""
-                         ]) $
-                neverFailsToEncodeOnGen gen s
-            describe ("decode :: " ++ name ++ " -> Data.ByteString.ByteString") $
-                it
-                    (unwords
-                         [ "ensures that encode and decode are inverses for"
-                         , "\"" ++ genname
-                         , name ++ "\"" ++ "'s"
-                         ]) $
-                encodeAndDecodeAreInversesOnGen gen s
+  parallel $ do
+    let name = nameOf @a
+    describe ("Serialize " ++ name ++ " (" ++ genname ++ ")") $ do
+      describe ("encode :: " ++ name ++ " -> Data.ByteString.ByteString") $
+        it
+          ( unwords
+              [ "never fails to encode a",
+                "\"" ++ genname,
+                name ++ "\""
+              ]
+          )
+          $ neverFailsToEncodeOnGen gen s
+      describe ("decode :: " ++ name ++ " -> Data.ByteString.ByteString") $
+        it
+          ( unwords
+              [ "ensures that encode and decode are inverses for",
+                "\"" ++ genname,
+                name ++ "\"" ++ "'s"
+              ]
+          )
+          $ encodeAndDecodeAreInversesOnGen gen s
 
 -- |
 --
 -- prop> neverFailsToEncodeOnGen @Bool arbitrary shrink
--- prop> neverFailsToEncodeOnGen @Bool genUnchecked shrinkUnchecked
 -- prop> neverFailsToEncodeOnGen @Bool genValid shrinkValid
+-- prop> neverFailsToEncodeOnGen @Bool genValid shrinkValid
 -- prop> neverFailsToEncodeOnGen @Int arbitrary shrink
--- prop> neverFailsToEncodeOnGen @Int genUnchecked shrinkUnchecked
 -- prop> neverFailsToEncodeOnGen @Int genValid shrinkValid
+-- prop> neverFailsToEncodeOnGen @Int genValid shrinkValid
 neverFailsToEncodeOnGen ::
-       (Show a, Serialize a) => Gen a -> (a -> [a]) -> Property
+  (Show a, Serialize a) => Gen a -> (a -> [a]) -> Property
 neverFailsToEncodeOnGen gen s =
-    forAllShrink gen s $ \(a :: a) ->
-        evaluate (deepseq (Serialize.encode a) ()) `shouldReturn` ()
+  forAllShrink gen s $ \(a :: a) ->
+    evaluate (deepseq (Serialize.encode a) ()) `shouldReturn` ()
 
 -- |
 --
 -- prop> encodeAndDecodeAreInversesOnGen @Bool arbitrary shrink
--- prop> encodeAndDecodeAreInversesOnGen @Bool genUnchecked shrinkUnchecked
 -- prop> encodeAndDecodeAreInversesOnGen @Bool genValid shrinkValid
+-- prop> encodeAndDecodeAreInversesOnGen @Bool genValid shrinkValid
 -- prop> encodeAndDecodeAreInversesOnGen @Int arbitrary shrink
--- prop> encodeAndDecodeAreInversesOnGen @Int genUnchecked shrinkUnchecked
 -- prop> encodeAndDecodeAreInversesOnGen @Int genValid shrinkValid
+-- prop> encodeAndDecodeAreInversesOnGen @Int genValid shrinkValid
 encodeAndDecodeAreInversesOnGen ::
-       (Show a, Eq a, Serialize a) => Gen a -> (a -> [a]) -> Property
+  (Show a, Eq a, Serialize a) => Gen a -> (a -> [a]) -> Property
 encodeAndDecodeAreInversesOnGen gen s =
-    forAllShrink gen s $ \(a :: a) ->
-        Serialize.decode (Serialize.encode a) `shouldBe` Right a
+  forAllShrink gen s $ \(a :: a) ->
+    Serialize.decode (Serialize.encode a) `shouldBe` Right a
diff --git a/test/Test/Validity/CerealSpec.hs b/test/Test/Validity/CerealSpec.hs
--- a/test/Test/Validity/CerealSpec.hs
+++ b/test/Test/Validity/CerealSpec.hs
@@ -2,15 +2,14 @@
 
 module Test.Validity.CerealSpec where
 
-import Test.Hspec
-
 import Data.GenValidity
+import Test.Hspec
 import Test.Validity.Cereal
 
 spec :: Spec
 spec = do
-    serializeSpecOnGen (genListOf $ pure 'a') "sequence of 'a's" (const [])
-    -- serializeSpec @Double DOES NOT HOLD
-    serializeSpecOnValid @Rational
-    serializeSpec @Int
-    serializeSpecOnArbitrary @Int
+  serializeSpecOnGen (genListOf $ pure 'a') "sequence of 'a's" (const [])
+  -- serializeSpec @Double DOES NOT HOLD
+  serializeSpec @Rational
+  serializeSpec @Int
+  serializeSpecOnArbitrary @Int
