diff --git a/Generics/RepLib/Derive.hs b/Generics/RepLib/Derive.hs
--- a/Generics/RepLib/Derive.hs
+++ b/Generics/RepLib/Derive.hs
@@ -52,6 +52,10 @@
 import Control.Monad.Fail ( MonadFail )
 #endif
 
+#if MIN_VERSION_template_haskell(2,13,0)
+import Control.Monad.IO.Class ( MonadIO )
+#endif
+
 -- | Given a type, produce its representation.
 repty :: Type -> Exp
 repty ty = SigE (VarE (mkName "rep")) ((ConT ''R) `AppT` ty)
@@ -89,6 +93,9 @@
 #if MIN_VERSION_template_haskell(2,11,0)
            , MonadFail
 #endif
+#if MIN_VERSION_template_haskell(2,13,0)
+           , MonadIO
+#endif
 #if MIN_VERSION_template_haskell(2,7,0)
            , Applicative
 #endif
@@ -101,35 +108,46 @@
 runQN = runWriterT . unQN
 
 instance Quasi QN where
-  qNewName s            = liftQN $ qNewName s
-  qReport b s           = liftQN $ qReport b s
-  qRecover              = error "qRecover not implemented for QN"
-  qReify n              = liftQN $ qReify n
+  qNewName s              = liftQN $ qNewName s
+  qReport b s             = liftQN $ qReport b s
+  qRecover                = error "qRecover not implemented for QN"
+  qReify n                = liftQN $ qReify n
 #if MIN_VERSION_template_haskell(2,7,0)
-  qReifyInstances n tys = liftQN $ qReifyInstances n tys
+  qReifyInstances n tys   = liftQN $ qReifyInstances n tys
 #else
-  qClassInstances n tys = liftQN $ qClassInstances n tys
+  qClassInstances n tys   = liftQN $ qClassInstances n tys
 #endif
-  qLocation             = liftQN qLocation
-  qRunIO io             = liftQN $ qRunIO io
+  qLocation               = liftQN qLocation
+  qRunIO io               = liftQN $ qRunIO io
 #if MIN_VERSION_template_haskell(2,7,0)
-  qLookupName ns s      = liftQN $ qLookupName ns s
-  qAddDependentFile fp  = liftQN $ qAddDependentFile fp
+  qLookupName ns s        = liftQN $ qLookupName ns s
+  qAddDependentFile fp    = liftQN $ qAddDependentFile fp
 #endif
 #if MIN_VERSION_template_haskell(2,9,0)
-  qReifyRoles n         = liftQN $ qReifyRoles n
-  qReifyAnnotations al  = liftQN $ qReifyAnnotations al
-  qReifyModule m        = liftQN $ qReifyModule m
-  qAddTopDecls ds       = liftQN $ qAddTopDecls ds
-  qAddModFinalizer q    = liftQN $ qAddModFinalizer q
-  qGetQ                 = liftQN $ qGetQ
-  qPutQ a               = liftQN $ qPutQ a
+  qReifyRoles n           = liftQN $ qReifyRoles n
+  qReifyAnnotations al    = liftQN $ qReifyAnnotations al
+  qReifyModule m          = liftQN $ qReifyModule m
+  qAddTopDecls ds         = liftQN $ qAddTopDecls ds
+  qAddModFinalizer q      = liftQN $ qAddModFinalizer q
+  qGetQ                   = liftQN $ qGetQ
+  qPutQ a                 = liftQN $ qPutQ a
 #endif
 #if MIN_VERSION_template_haskell(2,11,0)
-  qReifyFixity n        = liftQN $ qReifyFixity n
-  qReifyConStrictness n = liftQN $ qReifyConStrictness n
-  qIsExtEnabled e       = liftQN $ qIsExtEnabled e
-  qExtsEnabled          = liftQN $ qExtsEnabled
+  qReifyFixity n          = liftQN $ qReifyFixity n
+  qReifyConStrictness n   = liftQN $ qReifyConStrictness n
+  qIsExtEnabled e         = liftQN $ qIsExtEnabled e
+  qExtsEnabled            = liftQN $ qExtsEnabled
+#endif
+#if MIN_VERSION_template_haskell(2,14,0)
+  qAddForeignFilePath a b = liftQN $ qAddForeignFilePath a b
+#elif MIN_VERSION_template_haskell(2,12,0)
+  qAddForeignFile a b     = liftQN $ qAddForeignFile a b
+#endif
+#if MIN_VERSION_template_haskell(2,13,0)
+  qAddCorePlugin s        = liftQN $ qAddCorePlugin s
+#endif
+#if MIN_VERSION_template_haskell(2,14,0)
+  qAddTempFile s          = liftQN $ qAddTempFile s
 #endif
 
 -- Generate the representation for a data constructor.
diff --git a/RepLib.cabal b/RepLib.cabal
--- a/RepLib.cabal
+++ b/RepLib.cabal
@@ -1,5 +1,5 @@
 name:           RepLib
-version:        0.5.4
+version:        0.5.4.1
 license:        BSD3
 license-file:   LICENSE
 build-type:     Simple
@@ -11,7 +11,10 @@
                 GHC == 7.8.1,
                 GHC == 7.8.3,
                 GHC == 7.10.2,
-                GHC == 8.0.1
+                GHC == 8.0.1,
+                GHC == 8.2.2,
+                GHC == 8.4.3,
+                GHC == 8.6.1
 author:         Stephanie Weirich
 maintainer:     Stephanie Weirich <sweirich@cis.upenn.edu>
 homepage:       https://github.com/sweirich/replib
@@ -27,7 +30,7 @@
 
 Library
   build-depends: base >= 4.3 && < 5,
-                 template-haskell >= 2.4 && < 2.12,
+                 template-haskell >= 2.4 && < 2.15,
                  mtl >= 2.0 && < 2.3,
                  containers >= 0.4 && < 0.6,
                  transformers
