diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,16 @@
 
 ## [Unreleased]
 
+## [1.1.4.1] - 2026-06-13
+
+### Changed
+
+- Widen the `containers` version bound from `<0.8` to `<0.9`
+  to allow `containers` 0.8, which ships with GHC 9.14.
+- Switch dependency version bounds from the PVP caret operator (`^>=`)
+  to explicit `>=x && <y` ranges.
+  So that Renovate can recognize and update them.
+
 ## [1.1.4.0] - 2026-06-13
 
 ### Added
diff --git a/himari.cabal b/himari.cabal
--- a/himari.cabal
+++ b/himari.cabal
@@ -1,6 +1,6 @@
 cabal-version: 3.12
 name: himari
-version: 1.1.4.0
+version: 1.1.4.1
 synopsis: A standard library for Haskell as an alternative to rio
 description:
   A standard library for Haskell inspired by rio.
@@ -80,31 +80,31 @@
     ViewPatterns
 
   build-depends:
-    aeson ^>=2.2.3.0 || ^>=2.3.0.0,
-    aeson-pretty ^>=0.8.10,
+    aeson >=2.2.3.0 && <2.4,
+    aeson-pretty >=0.8.10 && <0.9,
     base >=4.19.2.0 && <4.23,
-    bytestring ^>=0.12.2.0,
-    containers ^>=0.7,
-    convertible ^>=1.1.1.1,
-    data-default ^>=0.8.0.0,
-    deepseq ^>=1.5.0.0,
-    deriving-aeson ^>=0.2.10,
-    exceptions ^>=0.10.9,
-    filepath ^>=1.5.4.0,
-    hashable ^>=1.5.0.0,
-    lens ^>=5.3.5,
-    monad-logger ^>=0.3.42,
-    mtl ^>=2.3.1,
-    pretty-simple ^>=4.1.3,
-    primitive ^>=0.9.1.0,
-    retry ^>=0.9.3.1,
-    safe ^>=0.3.21,
-    text ^>=2.1.2,
+    bytestring >=0.12.2.0 && <0.13,
+    containers >=0.7 && <0.9,
+    convertible >=1.1.1.1 && <1.2,
+    data-default >=0.8.0.0 && <0.9,
+    deepseq >=1.5.0.0 && <1.6,
+    deriving-aeson >=0.2.10 && <0.3,
+    exceptions >=0.10.9 && <0.11,
+    filepath >=1.5.4.0 && <1.6,
+    hashable >=1.5.0.0 && <1.6,
+    lens >=5.3.5 && <6,
+    monad-logger >=0.3.42 && <0.4,
+    mtl >=2.3.1 && <2.4,
+    pretty-simple >=4.1.3.0 && <4.2,
+    primitive >=0.9.1.0 && <0.10,
+    retry >=0.9.3.1 && <0.10,
+    safe >=0.3.21 && <0.4,
+    text >=2.1.2 && <2.2,
     time >=1.12.2 && <2,
-    typed-process ^>=0.2.13.0,
-    unliftio ^>=0.2.25.1,
-    unordered-containers ^>=0.2.20,
-    vector ^>=0.13.2.0,
+    typed-process >=0.2.13.0 && <0.3,
+    unliftio >=0.2.25.1 && <0.3,
+    unordered-containers >=0.2.20 && <0.3,
+    vector >=0.13.2.0 && <0.14,
 
 library
   import: basic
@@ -156,12 +156,12 @@
     -with-rtsopts=-N
 
   build-depends:
-    QuickCheck ^>=2.15.0.1,
+    QuickCheck >=2.15.0.1 && <2.19,
     himari,
     sydtest >=0.18.0.0 && <0.24,
 
   build-tool-depends:
-    hlint:hlint ^>=3.10
+    hlint:hlint >=3.10 && <4
 
   -- hlint経由のghc-lib-parserの参照バージョンに問題が出やすいので、
   -- こちら側でヒントを出して誘導します。
@@ -178,7 +178,7 @@
     build-depends:
       ghc-lib-parser >=9.12.3
 
-executable anomaly-monitor
+executable example-anomaly-monitor
   import: basic
   hs-source-dirs: example/anomaly-monitor
   main-is: Main.hs
diff --git a/test/Himari/CharSpec.hs b/test/Himari/CharSpec.hs
--- a/test/Himari/CharSpec.hs
+++ b/test/Himari/CharSpec.hs
@@ -205,7 +205,16 @@
           chrMay (ord c) == Just c
 
       it "never throws an exception for any Int value" $ do
-        withMaxSuccess 10000 . property $ \n ->
+        withNumTests 10000 . property $ \n ->
           case chrMay n of
             Just _ -> True
             Nothing -> True
+
+#if !MIN_VERSION_QuickCheck(2,18,0)
+-- | `withNumTests`は`QuickCheck 2.18.0.0`で、
+-- `withMaxSuccess`から改名された関数です。
+-- それより古いQuickCheckには存在しないため、
+-- `withMaxSuccess`で互換定義します。
+withNumTests :: (Testable prop) => Int -> prop -> Property
+withNumTests = withMaxSuccess
+#endif
