diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,11 @@
 and this project adheres to the
 [Haskell Package Versioning Policy](https://pvp.haskell.org/).
 
+## 0.1.0.1 - 2024-03-14
+
+- Relax version bounds on dependencies.
+- Make `cabal test` to work on Hackage.
+
 ## 0.1.0.0 - 2024-03-14
 
 - First version.
diff --git a/tasty-process.cabal b/tasty-process.cabal
--- a/tasty-process.cabal
+++ b/tasty-process.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           tasty-process
-version:        0.1.0.0
+version:        0.1.0.1
 synopsis:       Test execution of external processes with Tasty
 description:    Please see the README on GitHub at <https://github.com/HEIGE-PCloud/tasty-process#readme>
 category:       Testing
@@ -36,8 +36,8 @@
   build-depends:
       async >=2.2.5 && <2.3
     , base >=4.7 && <5
-    , deepseq >=1.4.8 && <1.5
-    , process >=1.6.18 && <1.7
+    , deepseq >=1.4 && <1.6
+    , process >=1.6.4 && <1.7
     , tasty >=1.4 && <1.6
   default-language: Haskell2010
 
@@ -51,8 +51,8 @@
   build-depends:
       async >=2.2.5 && <2.3
     , base >=4.7 && <5
-    , deepseq >=1.4.8 && <1.5
-    , process >=1.6.18 && <1.7
+    , deepseq >=1.4 && <1.6
+    , process >=1.6.4 && <1.7
     , tasty >=1.4 && <1.6
     , tasty-process
   default-language: Haskell2010
@@ -67,8 +67,8 @@
   build-depends:
       async >=2.2.5 && <2.3
     , base >=4.7 && <5
-    , deepseq >=1.4.8 && <1.5
-    , process >=1.6.18 && <1.7
+    , deepseq >=1.4 && <1.6
+    , process >=1.6.4 && <1.7
     , tasty >=1.4 && <1.6
     , tasty-process
   default-language: Haskell2010
@@ -83,8 +83,8 @@
   build-depends:
       async >=2.2.5 && <2.3
     , base >=4.7 && <5
-    , deepseq >=1.4.8 && <1.5
-    , process >=1.6.18 && <1.7
+    , deepseq >=1.4 && <1.6
+    , process >=1.6.4 && <1.7
     , tasty >=1.4 && <1.6
     , tasty-process
   default-language: Haskell2010
@@ -99,8 +99,8 @@
   build-depends:
       async >=2.2.5 && <2.3
     , base >=4.7 && <5
-    , deepseq >=1.4.8 && <1.5
-    , process >=1.6.18 && <1.7
+    , deepseq >=1.4 && <1.6
+    , process >=1.6.4 && <1.7
     , tasty >=1.4 && <1.6
     , tasty-process
   default-language: Haskell2010
@@ -114,11 +114,16 @@
   hs-source-dirs:
       test
   ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N
+  build-tools:
+      test-executable-echo
+    , test-executable-exitcode
+    , test-executable-simple
+    , test-executable-sleep
   build-depends:
       async >=2.2.5 && <2.3
     , base >=4.7 && <5
-    , deepseq >=1.4.8 && <1.5
-    , process >=1.6.18 && <1.7
+    , deepseq >=1.4 && <1.6
+    , process >=1.6.4 && <1.7
     , tasty >=1.4 && <1.6
     , tasty-expected-failure
     , tasty-process
diff --git a/test/Test.hs b/test/Test.hs
--- a/test/Test.hs
+++ b/test/Test.hs
@@ -1,6 +1,6 @@
 module Test (allTests) where
 
-import System.Exit (ExitCode (ExitFailure))
+import System.Exit (ExitCode (..))
 import Test.Tasty (TestTree, testGroup)
 import Test.Tasty.ExpectedFailure (expectFailBecause)
 import Test.Tasty.Process
@@ -16,6 +16,8 @@
       defaultProcess
         { process = proc "test-executable-simple" []
         , stdoutCheck = equals "Hello, world!\n"
+        , stderrCheck = equals "Hello, stderr!\n"
+        , exitCodeCheck = equals ExitSuccess
         }
 
 echoTest :: TestTree
diff --git a/test/executables/simple/Main.hs b/test/executables/simple/Main.hs
--- a/test/executables/simple/Main.hs
+++ b/test/executables/simple/Main.hs
@@ -1,4 +1,9 @@
 module Main (main) where
 
+import System.IO (hPutStrLn, stderr)
+
 main :: IO ()
-main = putStrLn "Hello, world!"
+main = do
+  putStrLn "Hello, world!"
+  -- print to stderr
+  hPutStrLn stderr "Hello, stderr!"
