diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,42 +1,45 @@
 # CHANGELOG
 
-- 0.15.0.0 (2024-04-13)
-     * #480 Support with GHC 9.10 (By Jan Hrček)
+- 0.15.0.1 (2025-04-13)
+     *  #493 Support Cabal 3.12 again (By GuillaumedeVolpiano)
 
-     * #482 Add `ConfigSearchStrategy` to allow avoiding `getCurrentDirectory`
-       when loading config (by Jan Hrček)
+- 0.15.0.0 (2025-04-13)
+     *  #480 Support with GHC 9.10 (By Jan Hrček)
 
-       This is breaking API change that can be fixed like this:
+     *  #482 Add `ConfigSearchStrategy` to allow avoiding `getCurrentDirectory`
+        when loading config (by Jan Hrček)
 
-       ```diff
-       -format Nothing maybeFile contents
-       +format SearchFromCurrentDirectory maybeFile contents
+        This is breaking API change that can be fixed like this:
 
-       -format (Just cfgFile) maybeFile content
-       +format (UseConfig cfgFile) maybeFile content
-       ```
+        ```diff
+        -format Nothing maybeFile contents
+        +format SearchFromCurrentDirectory maybeFile contents
 
-     * Bump `Cabal` lower bound to 3.14
+        -format (Just cfgFile) maybeFile content
+        +format (UseConfig cfgFile) maybeFile content
+        ```
 
+     *  Bump `Cabal` lower bound to 3.14
+
 - 0.14.6.0 (2024-01-19)
-     * #471 Support GHC 9.8 (by Michael Peyton Jones)
-     * #440 Fix dissappearing `DEPRECATED` pragma on module (by Lev Dvorkin)
-     * #464 Fix compilation issue with GHC 9.4
+     *  #471 Support GHC 9.8 (by Michael Peyton Jones)
+     *  #440 Fix dissappearing `DEPRECATED` pragma on module (by Lev Dvorkin)
+     *  #464 Fix compilation issue with GHC 9.4
 
 - 0.14.5.0 (2023-06-23)
-     * #459 Support GHC 9.6 (by Michael Peyton Jones)
-     * #445 Default `ghc-lib` flag to True (by amesgen)
+     *  #459 Support GHC 9.6 (by Michael Peyton Jones)
+     *  #445 Default `ghc-lib` flag to True (by amesgen)
 
 - 0.14.4.0 (2023-01-09)
-     * #421 Support GHC 9.4 (by Lei Zhu)
-     * #439 Fix NoXyz extension issues for .cabal files (by Lev Dvorkin)
-     * #424 Deriving alignment for enums (by Lev Dvorkin)
-     * #416 Support Safe/Trustworthy/Unsafe extensions
+     *  #421 Support GHC 9.4 (by Lei Zhu)
+     *  #439 Fix NoXyz extension issues for .cabal files (by Lev Dvorkin)
+     *  #424 Deriving alignment for enums (by Lev Dvorkin)
+     *  #416 Support Safe/Trustworthy/Unsafe extensions
 
 - 0.14.3.0 (2022-09-28)
-     * Fix parsing of NoXyz extensions
-     * Bump `Cabal` upper bound to 4.0
-     * Add option to automatically group imports (by Tikhon Jelvis)
+     *  Fix parsing of NoXyz extensions
+     *  Bump `Cabal` upper bound to 4.0
+     *  Add option to automatically group imports (by Tikhon Jelvis)
 
 - 0.14.2.0 (2022-04-27)
      *  Add a build flag to force the use of ghc-lib-parser
diff --git a/lib/Language/Haskell/Stylish/Config/Cabal.hs b/lib/Language/Haskell/Stylish/Config/Cabal.hs
--- a/lib/Language/Haskell/Stylish/Config/Cabal.hs
+++ b/lib/Language/Haskell/Stylish/Config/Cabal.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 module Language.Haskell.Stylish.Config.Cabal
     ( findLanguageExtensions
@@ -50,11 +51,20 @@
     verbose $ "Stylish Haskell will work basing on LANGUAGE pragmas in source files."
     return Nothing
   go searched (p : ps) = do
-    let projectRoot = Just $ Cabal.makeSymbolicPath p
+
+#if MIN_VERSION_Cabal(3,14,0)
+    let projectRoot = Just $ makeSymbolicPath p
     potentialCabalFile <- Cabal.findPackageDesc projectRoot
+#else
+    potentialCabalFile <- Cabal.findPackageDesc p
+#endif
     case potentialCabalFile of
       Right cabalFile -> pure $ Just $
+#if MIN_VERSION_Cabal(3,14,0)
         Cabal.interpretSymbolicPath projectRoot cabalFile
+#else
+        cabalFile
+#endif
       _ -> go (p : searched) ps
 
 
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -14,10 +14,6 @@
 import qualified System.IO                as IO
 import qualified System.IO.Strict         as IO.Strict
 
---------------------------------------------------------------------------------
-#if __GLASGOW_HASKELL__ < 808
-import           Data.Monoid              ((<>))
-#endif
 
 --------------------------------------------------------------------------------
 import           Language.Haskell.Stylish
@@ -108,9 +104,8 @@
             BC8.putStr defaultConfigBytes
 
         else do
-            conf <- loadConfig verbose' $ case saConfig sa of
-              Nothing -> SearchFromCurrentDirectory
-              Just fp -> UseConfig fp
+            conf <- loadConfig verbose' $
+              maybe SearchFromCurrentDirectory UseConfig (saConfig sa)
             filesR <- case (saRecursive sa) of
               True -> findHaskellFiles (saVerbose sa) (saFiles sa)
               _    -> return $ saFiles sa
diff --git a/stylish-haskell.cabal b/stylish-haskell.cabal
--- a/stylish-haskell.cabal
+++ b/stylish-haskell.cabal
@@ -1,6 +1,6 @@
 Cabal-version: 2.4
 Name:          stylish-haskell
-Version:       0.15.0.0
+Version:       0.15.0.1
 Synopsis:      Haskell code prettifier
 Homepage:      https://github.com/haskell/stylish-haskell
 License:       BSD-3-Clause
@@ -39,7 +39,7 @@
     aeson             >= 0.6    && < 2.3,
     base              >= 4.8    && < 5,
     bytestring        >= 0.9    && < 0.13,
-    Cabal             >= 3.14   && < 4.0,
+    Cabal             >= 3.10   && < 4.0,
     containers        >= 0.3    && < 0.9,
     directory         >= 1.2.3  && < 1.4,
     filepath          >= 1.1    && < 1.6,
