diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+### 2.0.11.2
+
+* Support for template-haskell 2.12.0 [#196](https://github.com/yesodweb/shakespeare/pull/196)
+
 ### 2.0.11.1
 
 * Handle parsing of trailing semicolon after mixins [#194](https://github.com/yesodweb/shakespeare/issues/194)
diff --git a/Text/MkSizeType.hs b/Text/MkSizeType.hs
--- a/Text/MkSizeType.hs
+++ b/Text/MkSizeType.hs
@@ -22,10 +22,13 @@
 
 dataDec :: Name -> Q Dec
 dataDec name =
-#if MIN_VERSION_template_haskell(2,11,0)
-     DataD [] name [] Nothing [constructor] <$> mapM conT derives
+#if MIN_VERSION_template_haskell(2,12,0)
+  return $
+    DataD [] name [] Nothing [constructor] [DerivClause Nothing (map ConT derives)]
+#elif MIN_VERSION_template_haskell(2,11,0)
+  DataD [] name [] Nothing [constructor] <$> mapM conT derives
 #else
-    return $ DataD [] name [] [constructor] derives
+  return $ DataD [] name [] [constructor] derives
 #endif
   where constructor = NormalC name [(notStrict, ConT $ mkName "Rational")]
         derives = map mkName ["Eq", "Ord"]
diff --git a/shakespeare.cabal b/shakespeare.cabal
--- a/shakespeare.cabal
+++ b/shakespeare.cabal
@@ -1,5 +1,5 @@
 name:            shakespeare
-version:         2.0.11.1
+version:         2.0.11.2
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
