diff --git a/parsec-class.cabal b/parsec-class.cabal
--- a/parsec-class.cabal
+++ b/parsec-class.cabal
@@ -1,5 +1,5 @@
 name:          parsec-class
-version:       1.0.0.0
+version:       1.0.1.0
 synopsis:      Class of types that can be constructed from their text representation
 description:   This library provides the type class 'HasParser' as a dual to 'Pretty'.
                Instances of this class provide a parser than can be used to construct the
@@ -8,7 +8,8 @@
 license-file:  LICENSE
 author:        Peter Simons
 maintainer:    simons@cryp.to
-tested-with:   GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.3
+tested-with:   GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.7
+               GHC == 9.0.2, GHC == 9.2.8, GHC == 9.4.8, GHC == 9.6.4, GHC == 9.8.1
 category:      Text
 homepage:      https://github.com/peti/parsec-class
 bug-reports:   https://github.com/peti/parsec-class/issues
@@ -17,13 +18,20 @@
 
 source-repository head
   type:     git
-  location: git://github.com/peti/parsec-class.git
+  location: https://github.com/peti/parsec-class.git
 
+Flag parsec_error_has_exception_instance
+  default: True
+
 library
   exposed-modules:  Text.Parsec.Class
-                    Text.Parsec.Class.Orphans
   hs-source-dirs:   src
-  build-depends:    base >= 4.9 && < 5, parsec >= 3
+  build-depends:    base >= 4.9 && < 5
   default-language: Haskell2010
-  other-extensions: RankNTypes
-                    FlexibleContexts
+  other-extensions: RankNTypes, FlexibleContexts, CPP
+
+  if flag(parsec_error_has_exception_instance)
+    build-depends:      parsec >= 3.1.17.0
+  else
+    build-depends:      parsec >= 3 && < 3.1.17.0
+    other-modules:      Text.Parsec.Class.Orphans
diff --git a/src/Text/Parsec/Class.hs b/src/Text/Parsec/Class.hs
--- a/src/Text/Parsec/Class.hs
+++ b/src/Text/Parsec/Class.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE FlexibleContexts, RankNTypes #-}   -- for 'CharParser'
+{-# LANGUAGE CPP #-}
 
 -- | 'HasParser' can be considered a dual to 'Pretty' like 'Read' is to 'Show'.
 -- The class provides "Data.Parsec" parsers for its instances that construct
@@ -18,7 +19,9 @@
 
 import Prelude hiding ( fail )
 
-import Text.Parsec.Class.Orphans ( )   -- TODO: This is unnecessary.
+#if !MIN_VERSION_parsec(3,1,17)
+import Text.Parsec.Class.Orphans ( )
+#endif
 
 import Control.Exception ( throw )
 import Control.Monad.Fail
