diff --git a/library/PostgreSQL/Binary/Decoding.hs b/library/PostgreSQL/Binary/Decoding.hs
--- a/library/PostgreSQL/Binary/Decoding.hs
+++ b/library/PostgreSQL/Binary/Decoding.hs
@@ -417,7 +417,7 @@
 
 newtype Composite a =
   Composite ( Value a )
-  deriving ( Functor , Applicative , Monad )
+  deriving ( Functor , Applicative , Monad , MonadFail )
 
 -- |
 -- Unlift a 'Composite' to a value 'Value'.
diff --git a/postgresql-binary.cabal b/postgresql-binary.cabal
--- a/postgresql-binary.cabal
+++ b/postgresql-binary.cabal
@@ -1,7 +1,7 @@
 name:
   postgresql-binary
 version:
-  0.12.2
+  0.12.3
 synopsis:
   Encoders and decoders for the PostgreSQL's binary format
 description:
@@ -89,8 +89,8 @@
     placeholders ==0.1.*,
     -- general:
     transformers >=0.3 && <0.6,
-    base-prelude >=0.1.19 && <2,
-    base >=4.6 && <5
+    base-prelude >=1.4 && <2,
+    base >=4.9 && <5
 
 -- This test-suite must be executed in a single-thread.
 test-suite tasty
@@ -117,11 +117,11 @@
     -- testing:
     postgresql-binary,
     postgresql-libpq ==0.9.*,
-    QuickCheck >=2.8.1 && <3,
-    quickcheck-instances >=0.3.11 && <0.4,
-    tasty >=0.12 && <2,
-    tasty-hunit >=0.9 && <0.11,
-    tasty-quickcheck >=0.9 && <0.11,
+    QuickCheck >=2.10 && <3,
+    quickcheck-instances >=0.3.22 && <0.4,
+    tasty >=1.2.3 && <2,
+    tasty-hunit >=0.10 && <0.11,
+    tasty-quickcheck >=0.10 && <0.11,
     -- data:
     aeson,
     json-ast ==0.3.*,
