diff --git a/Text/Boomerang/TH.hs b/Text/Boomerang/TH.hs
--- a/Text/Boomerang/TH.hs
+++ b/Text/Boomerang/TH.hs
@@ -97,13 +97,13 @@
   ConE cons  <- [| (:-) |]
 
 
-  let conPat   = ConP name (map VarP fieldNames)
+  let conPat   = conPCompat name (map VarP fieldNames)
   let okBody   = ConE just `AppE`
                   foldr
                     (\h t -> ConE cons `AppE` VarE h `AppE` t)
                     (VarE r)
                     fieldNames
-  let okCase   = Match (ConP cons [conPat, VarP r]) (NormalB okBody) []
+  let okCase   = Match (conPCompat cons [conPat, VarP r]) (NormalB okBody) []
   let nStr = show name
   let failCase = Match WildP (NormalB nothing) []
 
@@ -123,3 +123,10 @@
     RecC name _     -> name
     InfixC _ name _ -> name
     ForallC _ _ con' -> conName con'
+
+conPCompat :: Name -> [Pat] -> Pat
+conPCompat n pats = ConP n
+#if MIN_VERSION_template_haskell(2,18,0)
+                           []
+#endif
+                           pats
diff --git a/boomerang.cabal b/boomerang.cabal
--- a/boomerang.cabal
+++ b/boomerang.cabal
@@ -1,5 +1,5 @@
 Name:             boomerang
-Version:          1.4.7
+Version:          1.4.8
 License:          BSD3
 License-File:     LICENSE
 Author:           jeremy@seereason.com
@@ -10,15 +10,15 @@
 Description:      Specify a single unified grammar which can be used for parsing and pretty-printing
 Cabal-Version:    >= 1.10
 Build-type:       Simple
-tested-with:      GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1, GHC == 8.2.2, GHC == 8.4.1, GHC == 8.6.5, GHC == 8.8.3, GHC == 8.10.1, GHC == 9.0.1
+tested-with:      GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1, GHC == 8.2.2, GHC == 8.4.1, GHC == 8.6.5, GHC == 8.8.3, GHC == 8.10.1, GHC == 9.0.1, GHC == 9.2.1
 
 Library
         Default-Language: Haskell2010
         Build-Depends:    base             >= 4    && < 5,
                           mtl              >= 2.0  && < 2.3,
-                          semigroups       >= 0.16 && < 0.20,
-                          template-haskell            < 2.18,
-                          text             >= 0.11 && < 1.3,
+                          semigroups       >= 0.16 && < 0.21,
+                          template-haskell            < 2.19,
+                          text             >= 0.11 && < 2.1,
                           th-abstraction   >= 0.4  && < 0.5
         Exposed-Modules:  Text.Boomerang
                           Text.Boomerang.Combinators
