diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for pantry
 
+## v0.4.0.2
+
+* Allow building with Cabal-3.2.*
+
 ## v0.4.0.1
 
 * Removed errant log message
diff --git a/pantry.cabal b/pantry.cabal
--- a/pantry.cabal
+++ b/pantry.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: ce880f32030c524a97504445e34d07894a13fae3a9f59fe39fdbb48108eaad70
+-- hash: cb17eb4ba27f5fad8ef492276362b6be7533e390279b5e6a857fa89a753da4a1
 
 name:           pantry
-version:        0.4.0.1
+version:        0.4.0.2
 synopsis:       Content addressable Haskell package management
 description:    Please see the README on Github at <https://github.com/commercialhaskell/pantry#readme>
 category:       Development
@@ -55,7 +55,7 @@
       src/
   ghc-options: -Wall
   build-depends:
-      Cabal >=3 && <3.1
+      Cabal >=3 && <3.3
     , aeson
     , ansi-terminal
     , base >=4.10 && <5
@@ -133,7 +133,7 @@
       test
   ghc-options: -Wall
   build-depends:
-      Cabal >=3 && <3.1
+      Cabal >=3 && <3.3
     , QuickCheck
     , aeson
     , ansi-terminal
diff --git a/src/Pantry/Tree.hs b/src/Pantry/Tree.hs
--- a/src/Pantry/Tree.hs
+++ b/src/Pantry/Tree.hs
@@ -52,7 +52,7 @@
   -> m ([PWarning], GenericPackageDescription)
 rawParseGPD loc bs =
     case eres of
-      Left (mversion, errs) -> throwM $ InvalidCabalFile loc mversion errs warnings
+      Left (mversion, errs) -> throwM $ InvalidCabalFile loc mversion (toList errs) warnings
       Right gpkg -> return (warnings, gpkg)
   where
     (warnings, eres) = runParseResult $ parseGenericPackageDescription bs
