diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+## Req Conduit 1.0.2
+
+* Maintenance release with support for GHC 9.8 and more minimal
+  dependencies.
+
 ## Req Conduit 1.0.1
 
 * Builds with GHC 8.8, 8.10, 9.0 and the newest nightly Stackage snapshots.
diff --git a/Network/HTTP/Req/Conduit.hs b/Network/HTTP/Req/Conduit.hs
--- a/Network/HTTP/Req/Conduit.hs
+++ b/Network/HTTP/Req/Conduit.hs
@@ -25,11 +25,11 @@
 import Control.Monad
 import Control.Monad.IO.Class (MonadIO (..))
 import Data.ByteString (ByteString)
-import qualified Data.ByteString as B
+import Data.ByteString qualified as B
 import Data.Conduit (ConduitT, await, yield, ($$+), ($$++))
 import Data.IORef
 import Data.Int (Int64)
-import qualified Network.HTTP.Client as L
+import Network.HTTP.Client qualified as L
 import Network.HTTP.Req
 
 ----------------------------------------------------------------------------
@@ -111,7 +111,7 @@
 --
 -- @since 1.0.0
 responseBodySource ::
-  MonadIO m =>
+  (MonadIO m) =>
   -- | Response with body reader
   L.Response L.BodyReader ->
   -- | Response body as a 'C.Producer'
@@ -139,7 +139,7 @@
   f popper
 
 -- | This is taken from "Network.HTTP.Client.Conduit" without modifications.
-bodyReaderSource :: MonadIO m => L.BodyReader -> ConduitT i ByteString m ()
+bodyReaderSource :: (MonadIO m) => L.BodyReader -> ConduitT i ByteString m ()
 bodyReaderSource br = go
   where
     go = do
diff --git a/Setup.hs b/Setup.hs
deleted file mode 100644
--- a/Setup.hs
+++ /dev/null
@@ -1,6 +0,0 @@
-module Main (main) where
-
-import Distribution.Simple
-
-main :: IO ()
-main = defaultMain
diff --git a/httpbin-tests/Network/HTTP/Req/ConduitSpec.hs b/httpbin-tests/Network/HTTP/Req/ConduitSpec.hs
--- a/httpbin-tests/Network/HTTP/Req/ConduitSpec.hs
+++ b/httpbin-tests/Network/HTTP/Req/ConduitSpec.hs
@@ -7,10 +7,10 @@
 
 import Control.Exception (throwIO)
 import Control.Monad
-import qualified Data.ByteString as B
+import Data.ByteString qualified as B
 import Data.Conduit (runConduitRes, (.|))
-import qualified Data.Conduit.Binary as CB
-import qualified Data.Conduit.List as CL
+import Data.Conduit.Binary qualified as CB
+import Data.Conduit.List qualified as CL
 import Data.Int (Int64)
 import Network.HTTP.Req
 import Network.HTTP.Req.Conduit
diff --git a/req-conduit.cabal b/req-conduit.cabal
--- a/req-conduit.cabal
+++ b/req-conduit.cabal
@@ -1,13 +1,13 @@
-cabal-version:   1.18
+cabal-version:   2.4
 name:            req-conduit
-version:         1.0.1
-license:         BSD3
+version:         1.0.2
+license:         BSD-3-Clause
 license-file:    LICENSE.md
 maintainer:      Mark Karpov <markkarpov92@gmail.com>
 author:
     Mark Karpov <markkarpov92@gmail.com>, Michael Snoyman <michael@snoyman.com>
 
-tested-with:     ghc ==8.8.4 ghc ==8.10.5 ghc ==9.0.1
+tested-with:     ghc ==9.4.7 ghc ==9.6.3 ghc ==9.8.1
 homepage:        https://github.com/mrkkrp/req-conduit
 bug-reports:     https://github.com/mrkkrp/req-conduit/issues
 synopsis:        Conduit helpers for the req HTTP client library
@@ -29,48 +29,43 @@
 
 library
     exposed-modules:  Network.HTTP.Req.Conduit
-    default-language: Haskell2010
+    default-language: GHC2021
     build-depends:
-        base >=4.13 && <5.0,
-        bytestring >=0.2 && <0.12,
+        base >=4.15 && <5,
+        bytestring >=0.2 && <0.13,
         conduit >=1.3 && <1.4,
         http-client >=0.5 && <0.8,
-        req >=1.0 && <4.0,
-        resourcet >=1.1 && <1.3,
-        transformers >=0.4 && <0.6
+        req >=1 && <4
 
     if flag(dev)
-        ghc-options: -Wall -Werror
+        ghc-options:
+            -Wall -Werror -Wredundant-constraints -Wpartial-fields
+            -Wunused-packages
 
     else
         ghc-options: -O2 -Wall
 
-    if flag(dev)
-        ghc-options:
-            -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns
-            -Wnoncanonical-monad-instances
-
 test-suite httpbin-tests
-    type:             exitcode-stdio-1.0
-    main-is:          Spec.hs
-    build-tools:      hspec-discover >=2.0 && <3.0
-    hs-source-dirs:   httpbin-tests
-    other-modules:    Network.HTTP.Req.ConduitSpec
-    default-language: Haskell2010
+    type:               exitcode-stdio-1.0
+    main-is:            Spec.hs
+    build-tool-depends: hspec-discover:hspec-discover >=2 && <3
+    hs-source-dirs:     httpbin-tests
+    other-modules:      Network.HTTP.Req.ConduitSpec
+    default-language:   GHC2021
     build-depends:
-        base >=4.13 && <5.0,
-        bytestring >=0.2 && <0.12,
+        base >=4.15 && <5,
+        bytestring >=0.2 && <0.13,
         conduit >=1.3 && <1.4,
         conduit-extra >=1.1.10 && <1.4,
-        hspec >=2.0 && <3.0,
-        req >=1.0 && <4.0,
+        hspec >=2 && <3,
+        req >=1 && <4,
         req-conduit,
-        resourcet >=1.1 && <1.3,
-        temporary >=1.1 && <1.4,
-        transformers >=0.4 && <0.6
+        temporary >=1.1 && <1.4
 
     if flag(dev)
-        ghc-options: -Wall -Werror
+        ghc-options:
+            -Wall -Werror -Wredundant-constraints -Wpartial-fields
+            -Wunused-packages
 
     else
         ghc-options: -O2 -Wall
@@ -79,20 +74,21 @@
     type:             exitcode-stdio-1.0
     main-is:          Main.hs
     hs-source-dirs:   weigh-bench
-    default-language: Haskell2010
+    default-language: GHC2021
     build-depends:
-        base >=4.13 && <5.0,
-        bytestring >=0.2 && <0.12,
+        base >=4.15 && <5,
+        bytestring >=0.2 && <0.13,
         conduit >=1.3 && <1.4,
         conduit-extra >=1.1.10 && <1.4,
-        req >=1.0 && <4.0,
+        req >=1 && <4,
         req-conduit,
-        resourcet >=1.1 && <1.3,
         temporary >=1.1 && <1.4,
         weigh >=0.0.4
 
     if flag(dev)
-        ghc-options: -O2 -Wall -Werror
+        ghc-options:
+            -Wall -Werror -Wredundant-constraints -Wpartial-fields
+            -Wunused-packages
 
     else
         ghc-options: -O2 -Wall
diff --git a/weigh-bench/Main.hs b/weigh-bench/Main.hs
--- a/weigh-bench/Main.hs
+++ b/weigh-bench/Main.hs
@@ -7,10 +7,10 @@
 
 import Control.Exception (throwIO)
 import Control.Monad
-import qualified Data.ByteString as B
+import Data.ByteString qualified as B
 import Data.Conduit (runConduitRes, (.|))
-import qualified Data.Conduit.Binary as CB
-import qualified Data.Conduit.List as CL
+import Data.Conduit.Binary qualified as CB
+import Data.Conduit.List qualified as CL
 import Data.Int (Int64)
 import Network.HTTP.Req
 import Network.HTTP.Req.Conduit
