diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
 # Revision history for hpc-codecov
 
+## 0.6.4.0 -- 2026-02-13
+
+- Modify the version range of ``time`` and ``containers`` packages to
+  support ghc 9.14.
+
 ## 0.6.3.0 -- 2025-07-25
 
 - Modify the version range of ``time`` package to support 1.14, which
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -106,6 +106,13 @@
 to generate Codecov coverage report from GitHub workflow.
 
 
+Using in GitLab
+---------------
+See the
+[haskell-cobertura-demo](https://gitlab.com/8c6794b6/haskell-cobertura-demo)
+repository to show coverage information in GitLab merge requests.
+
+
 Examples
 --------
 
diff --git a/hpc-codecov.cabal b/hpc-codecov.cabal
--- a/hpc-codecov.cabal
+++ b/hpc-codecov.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.0
 name:                hpc-codecov
-version:             0.6.3.0
+version:             0.6.4.0
 synopsis:            Generate reports from hpc data
 license:             BSD3
 license-file:        LICENSE
@@ -70,6 +70,7 @@
                      , GHC == 9.8.2
                      , GHC == 9.10.1
                      , GHC == 9.12.2
+                     , GHC == 9.14.1
 
 library
   hs-source-dirs:      src
@@ -86,11 +87,11 @@
   build-depends:       base        >= 4.14  && < 5
                      , array       >= 0.5   && < 0.6
                      , bytestring  >= 0.10  && < 0.13
-                     , containers  >= 0.6   && < 0.8
+                     , containers  >= 0.6   && < 0.9
                      , directory   >= 1.3.0 && < 1.4.0
                      , filepath    >= 1.4.1 && < 1.6
                      , hpc         >= 0.6   && < 0.8
-                     , time        >= 1.9   && < 1.15
+                     , time        >= 1.9   && < 1.16
   default-language:    Haskell2010
   ghc-options:         -Wall
 
diff --git a/test/Test/Main.hs b/test/Test/Main.hs
--- a/test/Test/Main.hs
+++ b/test/Test/Main.hs
@@ -3,6 +3,7 @@
 module Test.Main (main) where
 
 -- base
+import           Control.Applicative         ((<|>))
 import           Control.Exception           (SomeException (..), try)
 import           Control.Monad               (when)
 import           Data.Char                   (toLower)
@@ -27,7 +28,6 @@
 
 -- directory
 import           System.Directory            (canonicalizePath,
-                                              doesDirectoryExist,
                                               removeDirectoryRecursive,
                                               removeFile,
                                               withCurrentDirectory)
@@ -372,7 +372,7 @@
         (a,r) -> withResource a r (const act)
       do_nothing _ = pure ()
       rmdir_in_project1 dir =
-        removeDirectoryRecursiveIfExist (testData "project1" </> dir)
+        removeDirectoryRecursive' (testData "project1" </> dir)
       remove_stack_build_dirs =
         mapM_ rmdir_in_project1 [".stack-work", "dot-stack-work"]
       cleanUpDirs tree =
@@ -577,16 +577,14 @@
          Just Stack -> pure ".hpc_codecov_test_tmp_stack"
          Just Cabal -> pure ".hpc_codecov_test_tmp_cabal_v2"
          _          -> error "Cannot determine build tool"
-       removeDirectoryRecursiveIfExist dir
+       removeDirectoryRecursive' dir
        pure dir
      release _ = return ()
 
--- | Simple wrapper to remove directory recursively. Does not catch
--- exceptions.
-removeDirectoryRecursiveIfExist :: FilePath -> IO ()
-removeDirectoryRecursiveIfExist dir = do
-  exist <- doesDirectoryExist dir
-  when exist $ removeDirectoryRecursive dir
+-- | Simple wrapper to remove directory recursively. Exceptions are
+-- ignored.
+removeDirectoryRecursive' :: FilePath -> IO ()
+removeDirectoryRecursive' dir = removeDirectoryRecursive dir <|> pure ()
 
 -- | Pass the HUnit test when an exception was thrown, otherwise a
 -- test failure.
