diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,10 @@
 # Revsion history of io-classes
 
-## next version
+## 1.0.0.1
+
+### Non breaking changes
+
+* Support `ghc-9.6`.
 
 ## 1.0.0.0
 
diff --git a/io-classes.cabal b/io-classes.cabal
--- a/io-classes.cabal
+++ b/io-classes.cabal
@@ -1,6 +1,6 @@
 cabal-version:       3.0
 name:                io-classes
-version:             1.0.0.0
+version:             1.0.0.1
 synopsis:            Type classes for concurrency with STM, ST and timing
 description:
   IO Monad class hierarchy compatible with
@@ -17,7 +17,7 @@
 build-type:          Simple
 extra-source-files:  CHANGELOG.md
                      README.md
-tested-with:         GHC == { 8.10, 9.2, 9.4 }
+tested-with:         GHC == { 8.10, 9.2, 9.4, 9.6 }
 
 source-repository head
   type:     git
@@ -90,7 +90,7 @@
                        TypeFamilyDependencies
                        TypeOperators
                        UndecidableInstances
-  build-depends:       base  >=4.9 && <4.18,
+  build-depends:       base  >=4.9 && <4.19,
                        array,
                        async >=2.1,
                        bytestring,
diff --git a/src/Control/Monad/Class/MonadAsync.hs b/src/Control/Monad/Class/MonadAsync.hs
--- a/src/Control/Monad/Class/MonadAsync.hs
+++ b/src/Control/Monad/Class/MonadAsync.hs
@@ -29,7 +29,11 @@
 
 import           Prelude hiding (read)
 
+#if MIN_VERSION_base(4,18,0)
+import           Control.Applicative (Alternative (..))
+#else
 import           Control.Applicative (Alternative (..), liftA2)
+#endif
 import           Control.Monad (forever)
 import           Control.Monad.Class.MonadFork
 import           Control.Monad.Class.MonadSTM
diff --git a/src/Control/Monad/Class/MonadThrow.hs b/src/Control/Monad/Class/MonadThrow.hs
--- a/src/Control/Monad/Class/MonadThrow.hs
+++ b/src/Control/Monad/Class/MonadThrow.hs
@@ -25,7 +25,7 @@
 import qualified Control.Exception as IO
 import           Control.Monad (liftM)
 
-import           Control.Monad.Reader (ReaderT (..), lift)
+import           Control.Monad.Reader (ReaderT (..), runReaderT, lift)
 
 import           Control.Monad.STM (STM)
 import qualified Control.Monad.STM as STM
