diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,8 @@
+5.2 (2023-08-09)
+
+  * Fixed import issues with GHC 9.6.2 related to monad transformer functions
+
+
 5.1 (2023-07-09)
 
   * Fixed an sdist problem with missing autogen-modules
diff --git a/epub-metadata.cabal b/epub-metadata.cabal
--- a/epub-metadata.cabal
+++ b/epub-metadata.cabal
@@ -1,7 +1,7 @@
 cabal-version: 2.2
 
 name:           epub-metadata
-version:        5.1
+version:        5.2
 synopsis:       Library for parsing epub document metadata
 description:    Library for parsing and manipulating epub document metadata. Supports epub versions 2 and 3. This library was constructed by studying the IDPF specifications for epub documents found here <http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm> and here <http://www.idpf.org/epub/30/spec/epub30-publications.html>
 category:       Codec, Text
diff --git a/src/app/epub-metadata-example.hs b/src/app/epub-metadata-example.hs
--- a/src/app/epub-metadata-example.hs
+++ b/src/app/epub-metadata-example.hs
@@ -6,6 +6,7 @@
 import Codec.Epub
 import Codec.Epub.Data.Package
 import Control.Monad.Except
+import Control.Monad.IO.Class ( liftIO )
 
 
 main :: IO ()
diff --git a/src/lib/Codec/Epub/IO.hs b/src/lib/Codec/Epub/IO.hs
--- a/src/lib/Codec/Epub/IO.hs
+++ b/src/lib/Codec/Epub/IO.hs
@@ -16,7 +16,10 @@
 import Codec.Archive.Zip
 import Control.Arrow.ListArrows ( (>>>), deep )
 import Control.Exception
+import Control.Monad ( (>=>), forM, liftM )
 import Control.Monad.Except
+import Control.Monad.IO.Class ( liftIO )
+import Control.Monad.Trans ( MonadIO )
 import qualified Data.ByteString.Char8 as BS
 import Data.ByteString.Lazy ( fromChunks )
 import qualified Data.ByteString.Lazy as B
diff --git a/src/lib/Codec/Epub/Parse.hs b/src/lib/Codec/Epub/Parse.hs
--- a/src/lib/Codec/Epub/Parse.hs
+++ b/src/lib/Codec/Epub/Parse.hs
@@ -18,6 +18,8 @@
 
 import Control.Arrow.ListArrows
 import Control.Monad.Except
+import Control.Monad.IO.Class ( liftIO )
+import Control.Monad.Trans ( MonadIO )
 import Text.XML.HXT.Arrow.Namespace ( propagateNamespaces )
 import Text.XML.HXT.Arrow.XmlState ( no, runX, withValidate )
 import Text.XML.HXT.Arrow.XmlState.TypeDefs
diff --git a/src/tests/Epub2/ParseGuide.hs b/src/tests/Epub2/ParseGuide.hs
--- a/src/tests/Epub2/ParseGuide.hs
+++ b/src/tests/Epub2/ParseGuide.hs
@@ -3,6 +3,7 @@
    where
 
 import Control.Monad.Except
+import Control.Monad.IO.Class ( liftIO )
 import System.FilePath
 import Test.HUnit
 
diff --git a/src/tests/Epub2/ParseMetadata.hs b/src/tests/Epub2/ParseMetadata.hs
--- a/src/tests/Epub2/ParseMetadata.hs
+++ b/src/tests/Epub2/ParseMetadata.hs
@@ -3,6 +3,7 @@
    where
 
 import Control.Monad.Except
+import Control.Monad.IO.Class ( liftIO )
 import qualified Data.Map.Strict as Map
 import System.FilePath
 import Test.HUnit
diff --git a/src/tests/ParsePackage.hs b/src/tests/ParsePackage.hs
--- a/src/tests/ParsePackage.hs
+++ b/src/tests/ParsePackage.hs
@@ -3,6 +3,7 @@
    where
 
 import Control.Monad.Except
+import Control.Monad.IO.Class ( liftIO )
 import System.FilePath
 import Test.HUnit
 
diff --git a/src/tests/ParseSpine.hs b/src/tests/ParseSpine.hs
--- a/src/tests/ParseSpine.hs
+++ b/src/tests/ParseSpine.hs
@@ -3,6 +3,7 @@
    where
 
 import Control.Monad.Except
+import Control.Monad.IO.Class ( liftIO )
 import System.FilePath
 import Test.HUnit
 
