diff --git a/Data/Vector/Unboxed/Deriving.hs b/Data/Vector/Unboxed/Deriving.hs
--- a/Data/Vector/Unboxed/Deriving.hs
+++ b/Data/Vector/Unboxed/Deriving.hs
@@ -126,7 +126,11 @@
 # define MAYBE_KIND
 # define MAYBE_OVERLAP
 #endif
+#if MIN_VERSION_template_haskell(2,15,0)
+    let newtypeMVector = NewtypeInstD [] Nothing (ConT ''MVector `AppT` s `AppT` typ) MAYBE_KIND
+#else
     let newtypeMVector = NewtypeInstD [] ''MVector [s, typ] MAYBE_KIND
+#endif
             (NormalC mvName [(lazy, ConT ''MVector `AppT` s `AppT` rep)]) []
     let mvCon = ConE mvName
     let instanceMVector = InstanceD MAYBE_OVERLAP cxts
@@ -147,8 +151,13 @@
             , wrap 'M.basicUnsafeMove       [mv, mv']   id
             , wrap 'M.basicUnsafeGrow       [mv, n]     (liftE mvCon) ]
 
+#if MIN_VERSION_template_haskell(2,15,0)
+    let newtypeVector = NewtypeInstD [] Nothing (ConT ''Vector `AppT` typ) MAYBE_KIND
+            (NormalC vName [(lazy, ConT ''Vector `AppT` rep)]) []
+#else
     let newtypeVector = NewtypeInstD [] ''Vector [typ] MAYBE_KIND
             (NormalC vName [(lazy, ConT ''Vector `AppT` rep)]) []
+#endif
     let vCon  = ConE vName
     let instanceVector = InstanceD MAYBE_OVERLAP cxts
             (ConT ''G.Vector `AppT` ConT ''Vector `AppT` typ) $ concat
@@ -193,4 +202,3 @@
 for a working example.
 
 -}
-
diff --git a/vector-th-unbox.cabal b/vector-th-unbox.cabal
--- a/vector-th-unbox.cabal
+++ b/vector-th-unbox.cabal
@@ -1,5 +1,5 @@
 name:           vector-th-unbox
-version:        0.2.1.6
+version:        0.2.1.7
 synopsis:       Deriver for Data.Vector.Unboxed using Template Haskell
 description:
     A Template Haskell deriver for unboxed vectors, given a pair of coercion
@@ -9,16 +9,15 @@
 stability:      experimental
 license:        BSD3
 license-file:   LICENSE
-copyright:      © 2012−2015 Liyang HU
+copyright:      (c) 2012-2015 Liyang HU
 author:         Liyang HU <vector-th-unbox@liyang.hu>
 maintainer:     Liyang HU <vector-th-unbox@liyang.hu>
 category:       Data
 build-type:     Simple
 cabal-version:  >= 1.10
 tested-with:
-    GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4,
-    GHC == 7.10.2, GHC == 7.10.3,
-    GHC >= 8.0 && < 8.2
+    GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3,
+    GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.1
 
 source-repository head
     type:       git
@@ -30,9 +29,9 @@
         Data.Vector.Unboxed.Deriving
 
     build-depends:
-        base >= 4.5 && < 5,
-        template-haskell >= 2.5,
-        vector >= 0.7
+        base >= 4.5 && < 4.14,
+        template-haskell >= 2.5 && <2.16,
+        vector >= 0.7.1 && <0.13
 
 test-suite sanity
     default-language: Haskell2010
