diff --git a/data-msgpack.cabal b/data-msgpack.cabal
--- a/data-msgpack.cabal
+++ b/data-msgpack.cabal
@@ -1,5 +1,5 @@
 name:                 data-msgpack
-version:              0.0.7
+version:              0.0.8
 synopsis:             A Haskell implementation of MessagePack
 homepage:             http://msgpack.org/
 license:              BSD3
@@ -18,6 +18,10 @@
   since the original author is unreachable. This fork incorporates a number of
   bugfixes and is actively being developed.
 
+extra-source-files:
+  bench/Data/MessagePack/IntBench.hs
+  bench/Data/MessagePackBench.hs
+
 source-repository head
   type:             git
   location:         https://github.com/TokTok/hs-msgpack.git
@@ -50,6 +54,7 @@
     , hashable
     , text
     , unordered-containers
+    , vector
     , void
 
 executable msgpack-parser
@@ -84,6 +89,7 @@
     , hspec
     , text
     , unordered-containers
+    , vector
     , void
 
 benchmark benchmark
diff --git a/src/Data/MessagePack/Class.hs b/src/Data/MessagePack/Class.hs
--- a/src/Data/MessagePack/Class.hs
+++ b/src/Data/MessagePack/Class.hs
@@ -36,6 +36,9 @@
 import qualified Data.Map                as Map
 import qualified Data.Text               as T
 import qualified Data.Text.Lazy          as LT
+import qualified Data.Vector             as V
+import qualified Data.Vector.Storable    as VS
+import qualified Data.Vector.Unboxed     as VU
 import           Data.Word               (Word, Word16, Word32, Word64, Word8)
 import           GHC.Generics
 
@@ -188,6 +191,23 @@
     ObjectArray xs -> mapM fromObject xs
     _              -> fail "invalid encoding for list"
 
+instance MessagePack a => MessagePack (V.Vector a) where
+  toObject = ObjectArray . map toObject . V.toList
+  fromObject = \case
+    ObjectArray o -> V.fromList <$> mapM fromObject o
+    _             -> fail "invalid encoding for Vector"
+
+instance (MessagePack a, VU.Unbox a) => MessagePack (VU.Vector a) where
+  toObject = ObjectArray . map toObject . VU.toList
+  fromObject = \case
+    ObjectArray o -> VU.fromList <$> mapM fromObject o
+    _             -> fail "invalid encoding for Unboxed Vector"
+
+instance (MessagePack a, VS.Storable a) => MessagePack (VS.Vector a) where
+  toObject = ObjectArray . map toObject . VS.toList
+  fromObject = \case
+    ObjectArray o -> VS.fromList <$> mapM fromObject o
+    _             -> fail "invalid encoding for Storable Vector"
 
 -- Instances for map-like data structures.
 
