diff --git a/Test/Feat/Internals/Derive.hs b/Test/Feat/Internals/Derive.hs
--- a/Test/Feat/Internals/Derive.hs
+++ b/Test/Feat/Internals/Derive.hs
@@ -1,3 +1,4 @@
+{-#Language CPP#-}
 {-#Language TemplateHaskell#-}
 module Test.Feat.Internals.Derive where
 import Language.Haskell.TH
@@ -20,8 +21,13 @@
 
 extractData :: Name -> Q (Cxt, [Name], [Con])
 extractData n = reify n >>= \i -> return $ case i of
+#if MIN_VERSION_template_haskell(2,11,0)
+  TyConI (DataD cxt _ tvbs _ cons _)   -> (cxt, map tvbName tvbs, cons)
+  TyConI (NewtypeD cxt _ tvbs _ con _) -> (cxt, map tvbName tvbs, [con])
+#else
   TyConI (DataD cxt _ tvbs cons _)   -> (cxt, map tvbName tvbs, cons)
   TyConI (NewtypeD cxt _ tvbs con _) -> (cxt, map tvbName tvbs, [con])
+#endif
   _ -> error $ "Unexpected info: " ++ show (ppr i)
 
 tvbName :: TyVarBndr -> Name
diff --git a/testing-feat.cabal b/testing-feat.cabal
--- a/testing-feat.cabal
+++ b/testing-feat.cabal
@@ -1,20 +1,20 @@
 Name:                testing-feat
-Version:             0.4.0.2
+Version:             0.4.0.3
 Synopsis:            Functional Enumeration of Algebraic Types
 Description:         Feat (Functional Enumeration of Algebraic Types) provides
-                     enumerations as functions from natural numbers to values 
-                     (similar to @toEnum@ but for any algebraic data type). This 
-                     can be used for SmallCheck-style systematic testing, 
-                     QuickCheck style random testing, and hybrids of the two. 
+                     enumerations as functions from natural numbers to values
+                     (similar to @toEnum@ but for any algebraic data type). This
+                     can be used for SmallCheck-style systematic testing,
+                     QuickCheck style random testing, and hybrids of the two.
                      .
                      The enumerators are defined in a very boilerplate manner
-                     and there is a Template Haskell script for deriving the 
+                     and there is a Template Haskell script for deriving the
                      class instance for most types.
-                     "Test.Feat" contain a subset of the other modules that 
-                     should be sufficient for most test usage. There 
-                     are some small and large example in the tar 
+                     "Test.Feat" contain a subset of the other modules that
+                     should be sufficient for most test usage. There
+                     are some small and large example in the tar
                      ball. Builds with haskell-platform-2012-2.0.0 and with ghc-7.6.1.
-                                          
+
 License:             BSD3
 License-file:        LICENSE
 Author:              Jonas Duregård
@@ -23,33 +23,36 @@
 Category:            Testing
 Build-type:          Simple
 
-Extra-source-files:  
+Extra-source-files:
     examples/template-haskell/th.hs
     examples/haskell-src-exts/hse.hs
     examples/lambda-terms/lambdas.hs
 
-Cabal-version:       >=1.2
+Cabal-version:       >=1.6
 
+source-repository head
+  type:     git
+  location: git://github.com/JonasDuregard/testing-feat.git
+
 Library
   Hs-source-dirs:       .
   Exposed-modules:
-    Test.Feat, 
+    Test.Feat,
     Test.Feat.Access,
     Test.Feat.Class,
     Test.Feat.Class.Override,
     Test.Feat.Enumerate,
-    Test.Feat.Modifiers 
+    Test.Feat.Modifiers
 
-  
-  Build-depends: 
-    base >= 4.5 && <= 4.8,
-    template-haskell >= 2.5 && < 2.10,
+
+  Build-depends:
+    base >= 4.5 && <= 4.10,
+    template-haskell >= 2.5 && < 2.12,
     mtl >= 1 && < 3,
     QuickCheck > 2 && < 3,
     tagshare<0.1
-    
+
   Other-modules:
     Test.Feat.Internals.Derive
     Test.Feat.Internals.Tag
     Test.Feat.Internals.Newtypes
-  
