diff --git a/Data/Vector/Primitive.hs b/Data/Vector/Primitive.hs
--- a/Data/Vector/Primitive.hs
+++ b/Data/Vector/Primitive.hs
@@ -140,7 +140,7 @@
 import           Data.Primitive.ByteArray
 import           Data.Primitive ( Prim, sizeOf )
 
-import Control.DeepSeq ( NFData )
+import Control.DeepSeq ( NFData(rnf) )
 
 import Control.Monad ( liftM )
 import Control.Monad.ST ( ST )
@@ -178,7 +178,8 @@
                        {-# UNPACK #-} !ByteArray -- ^ offset, length, underlying byte array
   deriving ( Typeable )
 
-instance NFData (Vector a)
+instance NFData (Vector a) where
+  rnf (Vector _ _ _) = ()
 
 instance (Show a, Prim a) => Show (Vector a) where
   showsPrec = G.showsPrec
diff --git a/Data/Vector/Primitive/Mutable.hs b/Data/Vector/Primitive/Mutable.hs
--- a/Data/Vector/Primitive/Mutable.hs
+++ b/Data/Vector/Primitive/Mutable.hs
@@ -55,7 +55,7 @@
 import           Control.Monad.Primitive
 import           Control.Monad ( liftM )
 
-import Control.DeepSeq ( NFData )
+import Control.DeepSeq ( NFData(rnf) )
 
 import Prelude hiding ( length, null, replicate, reverse, map, read,
                         take, drop, splitAt, init, tail )
@@ -73,7 +73,8 @@
 type IOVector = MVector RealWorld
 type STVector s = MVector s
 
-instance NFData (MVector s a)
+instance NFData (MVector s a) where
+  rnf (MVector _ _ _) = ()
 
 instance Prim a => G.MVector MVector a where
   basicLength (MVector _ n _) = n
diff --git a/Data/Vector/Storable.hs b/Data/Vector/Storable.hs
--- a/Data/Vector/Storable.hs
+++ b/Data/Vector/Storable.hs
@@ -146,7 +146,7 @@
 import Foreign.Ptr
 import Foreign.Marshal.Array ( advancePtr, copyArray )
 
-import Control.DeepSeq ( NFData )
+import Control.DeepSeq ( NFData(rnf) )
 
 import Control.Monad.ST ( ST )
 import Control.Monad.Primitive
@@ -184,7 +184,8 @@
                        {-# UNPACK #-} !(ForeignPtr a)
         deriving ( Typeable )
 
-instance NFData (Vector a)
+instance NFData (Vector a) where
+  rnf (Vector _ _) = ()
 
 instance (Show a, Storable a) => Show (Vector a) where
   showsPrec = G.showsPrec
diff --git a/Data/Vector/Storable/Mutable.hs b/Data/Vector/Storable/Mutable.hs
--- a/Data/Vector/Storable/Mutable.hs
+++ b/Data/Vector/Storable/Mutable.hs
@@ -57,7 +57,7 @@
   unsafeWith
 ) where
 
-import Control.DeepSeq ( NFData )
+import Control.DeepSeq ( NFData(rnf) )
 
 import qualified Data.Vector.Generic.Mutable as G
 import Data.Vector.Storable.Internal
@@ -95,7 +95,8 @@
 type IOVector = MVector RealWorld
 type STVector s = MVector s
 
-instance NFData (MVector s a)
+instance NFData (MVector s a) where
+  rnf (MVector _ _) = ()
 
 instance Storable a => G.MVector MVector a where
   {-# INLINE basicLength #-}
diff --git a/Data/Vector/Unboxed/Base.hs b/Data/Vector/Unboxed/Base.hs
--- a/Data/Vector/Unboxed/Base.hs
+++ b/Data/Vector/Unboxed/Base.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE MultiParamTypeClasses, TypeFamilies, FlexibleContexts #-}
+{-# LANGUAGE BangPatterns, MultiParamTypeClasses, TypeFamilies, FlexibleContexts #-}
 #if __GLASGOW_HASKELL__ >= 707
 {-# LANGUAGE DeriveDataTypeable, StandaloneDeriving #-}
 #endif
@@ -25,7 +25,7 @@
 
 import qualified Data.Vector.Primitive as P
 
-import Control.DeepSeq ( NFData )
+import Control.DeepSeq ( NFData(rnf) )
 
 import Control.Monad.Primitive
 import Control.Monad ( liftM )
@@ -60,8 +60,8 @@
 
 class (G.Vector Vector a, M.MVector MVector a) => Unbox a
 
-instance NFData (Vector a)
-instance NFData (MVector s a)
+instance NFData (Vector a) where rnf !_ = ()
+instance NFData (MVector s a) where rnf !_ = ()
 
 -- -----------------
 -- Data and Typeable
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,7 @@
+Changes in version 0.10.12.2
+
+ * Add support for `deepseq-1.4.0.0`
+
 Changes in version 0.10.12.1
 
  * Fixed compilation on non-head GHCs
diff --git a/vector.cabal b/vector.cabal
--- a/vector.cabal
+++ b/vector.cabal
@@ -1,5 +1,5 @@
 Name:           vector
-Version:        0.10.12.1
+Version:        0.10.12.2
 -- don't forget to update the changelog file!
 License:        BSD3
 License-File:   LICENSE
@@ -123,7 +123,7 @@
   Build-Depends: base >= 4 && < 5
                , primitive >= 0.5.0.1 && < 0.6
                , ghc-prim
-               , deepseq >= 1.1 && < 1.4
+               , deepseq >= 1.1 && < 1.5
 
   if impl(ghc<6.13)
     Ghc-Options: -finline-if-enough-args -fno-method-sharing
