diff --git a/README.markdown b/README.markdown
--- a/README.markdown
+++ b/README.markdown
@@ -1,6 +1,6 @@
 # [GitHub Release][]
 
-[![CI](https://github.com/tfausak/github-release/workflows/CI/badge.svg)](https://github.com/tfausak/github-release/actions/new)
+[![Workflow](https://github.com/tfausak/github-release/actions/workflows/workflow.yaml/badge.svg)](https://github.com/tfausak/github-release/actions/workflows/workflow.yaml)
 [![Hackage](https://img.shields.io/hackage/v/github-release)](https://hackage.haskell.org/package/github-release)
 [![Stackage](https://www.stackage.org/package/github-release/badge/nightly?label=stackage)](https://www.stackage.org/package/github-release)
 
diff --git a/github-release.cabal b/github-release.cabal
--- a/github-release.cabal
+++ b/github-release.cabal
@@ -1,7 +1,7 @@
 cabal-version: 2.2
 
 name: github-release
-version: 2.0.0.3
+version: 2.0.0.4
 
 synopsis: Upload files to GitHub releases.
 description: GitHub Release uploads files to GitHub releases.
@@ -24,32 +24,30 @@
 
 common library
   build-depends:
-    , base >= 4.15.0 && < 4.18
-    , aeson >= 1.4.7 && < 1.6 || >= 2.0.0 && < 2.2
+    , aeson >= 2.0.3 && < 2.2
+    , base >= 4.16.0 && < 4.19
     , burrito >= 1.2.0 && < 1.3 || >= 2.0.0 && < 2.1
-    , bytestring >= 0.10.12 && < 0.12
-    , http-client >= 0.6.4 && < 0.8
-    , http-client-tls >= 0.3.5 && < 0.4
+    , bytestring >= 0.11.4 && < 0.12
+    , http-client >= 0.7.13 && < 0.8
+    , http-client-tls >= 0.3.6 && < 0.4
     , http-types >= 0.12.3 && < 0.13
     , mime-types >= 0.1.0 && < 0.2
-    , optparse-generic >= 1.3.1 && < 1.5
+    , optparse-generic >= 1.4.8 && < 1.5
     , text >= 1.2.5 && < 1.3 || >= 2.0 && < 2.1
-    , unordered-containers >= 0.2.10 && < 0.3
+    , unordered-containers >= 0.2.17 && < 0.3
   default-language: Haskell2010
   ghc-options:
     -Weverything
     -Wno-all-missed-specialisations
     -Wno-implicit-prelude
+    -Wno-missed-specialisations
     -Wno-missing-deriving-strategies
     -Wno-missing-exported-signatures
+    -Wno-missing-kind-signatures
     -Wno-missing-safe-haskell-mode
     -Wno-prepositive-qualified-module
     -Wno-safe
     -Wno-unsafe
-
-  if impl(ghc >= 9.2)
-    ghc-options:
-      -Wno-missing-kind-signatures
 
   if flag(pedantic)
     ghc-options: -Werror
diff --git a/source/library/GitHubRelease.hs b/source/library/GitHubRelease.hs
--- a/source/library/GitHubRelease.hs
+++ b/source/library/GitHubRelease.hs
@@ -240,7 +240,7 @@
         Nothing -> pure ()
         Just _ -> IO.hPutStrLn IO.stderr "Ignoring --owner option."
       pure (anOwner, drop 1 aRepo)
-  return (anOwner, aRepo)
+  pure (anOwner, aRepo)
 
 getTag ::
   (Aeson.FromJSON a) =>
@@ -261,7 +261,7 @@
           }
   response <- Client.httpLbs request manager
   let body = Client.responseBody response
-  return (Aeson.eitherDecode body)
+  pure (Aeson.eitherDecode body)
 
 authorizationHeader :: String -> HTTP.Header
 authorizationHeader aToken =
