diff --git a/composite-aeson-refined.cabal b/composite-aeson-refined.cabal
--- a/composite-aeson-refined.cabal
+++ b/composite-aeson-refined.cabal
@@ -1,11 +1,13 @@
--- This file has been generated from package.yaml by hpack version 0.20.0.
+cabal-version: 1.12
+
+-- This file has been generated from package.yaml by hpack version 0.31.0.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 170cc0e585bd302406efd7480633161799ed9c5027f62f50cfeea723b73865f6
+-- hash: a61486d28933012d285084ce32b7c5b064e687752c1672322ee9b4658d50b0e1
 
 name:           composite-aeson-refined
-version:        0.5.4.0
+version:        0.5.5.0
 synopsis:       composite-aeson support for Refined from the refined package
 description:    JsonFormat and DefaultJsonFormat for Refined
 category:       Records
@@ -15,7 +17,6 @@
 copyright:      2017 Confer Health, Inc.
 license:        BSD3
 build-type:     Simple
-cabal-version:  >= 1.10
 
 library
   hs-source-dirs:
@@ -27,7 +28,7 @@
     , base >=4.7 && <5
     , composite-aeson >=0.5.3.0 && <0.6
     , mtl >=2.2.1 && <2.3
-    , refined >=0.1.2.1 && <0.2
+    , refined >=0.1.2.1 && <0.3
   exposed-modules:
       Composite.Aeson.Refined
   other-modules:
diff --git a/src/Composite/Aeson/Refined.hs b/src/Composite/Aeson/Refined.hs
--- a/src/Composite/Aeson/Refined.hs
+++ b/src/Composite/Aeson/Refined.hs
@@ -1,10 +1,16 @@
 {-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# LANGUAGE CPP #-}
 module Composite.Aeson.Refined (refinedJsonFormat) where
 
 import Composite.Aeson (DefaultJsonFormat, defaultJsonFormat, JsonFormat(JsonFormat), JsonProfunctor(JsonProfunctor))
 import Control.Monad.Error.Class (throwError)
 import qualified Data.Aeson.BetterErrors as ABE
-import Refined (Predicate, Refined, refine, unrefine)
+import Refined
+  ( Predicate, Refined, refine, unrefine
+#if MIN_VERSION_refined(0,2,0)
+  , displayRefineException
+#endif
+  )
 
 -- |Given a @'JsonFormat' e a@, produce a @JsonFormat e ('Refined' p a)@ where @p@ is some 'Predicate' from the refined library for @a@.
 --
@@ -14,7 +20,11 @@
 refinedJsonFormat (JsonFormat (JsonProfunctor oa ia)) = JsonFormat $ JsonProfunctor o i
   where
     o = oa . unrefine
+#if MIN_VERSION_refined(0,2,0)
+    i = either (toss . show . displayRefineException) pure . refine =<< ia
+#else
     i = either toss pure . refine =<< ia
+#endif
     toss = throwError . ABE.BadSchema [] . ABE.FromAeson
 
 instance (DefaultJsonFormat a, Predicate p a) => DefaultJsonFormat (Refined p a) where
