diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,10 +1,16 @@
 # ChangeLog / ReleaseNotes
 
 
+## Version 0.2.1.0
+
+* Introducing optional instance for cereal's `Serialize` type class. Dependency
+  on `cereal` package can be enabled using `-fcereal` build flag. (new)
+
+
 ## Version 0.2.0.0
 
-* Introducing module Data.Verbosity.Class which contains definition of
-  HasVerbosity type class. (new)
+* Introducing module `Data.Verbosity.Class` which contains definition of
+  `HasVerbosity` type class. (new)
 * Introducing function `fromInt :: Int -> Maybe Verbosity`. (new)
 * Introducing function
   `parse :: (Eq string, IsString string) => string -> Maybe Verbosity`. (new)
diff --git a/src/Data/Verbosity.hs b/src/Data/Verbosity.hs
--- a/src/Data/Verbosity.hs
+++ b/src/Data/Verbosity.hs
@@ -60,13 +60,20 @@
 import GHC.Generics (Generic)
 #endif
 
-#ifdef DECLARE_BINARY_INSTANCE
+#if defined(DECLARE_BINARY_INSTANCE) || defined(DECLARE_SERIALIZE_INSTANCE)
 import Control.Applicative ((<$>))
 import Data.Function ((.))
+#endif
 
-import Data.Binary (Binary(get, put), getWord8, putWord8)
+#ifdef DECLARE_BINARY_INSTANCE
+import Data.Binary (Binary(get, put))
+import qualified Data.Binary as Binary (getWord8, putWord8)
 #endif
 
+#ifdef DECLARE_SERIALIZE_INSTANCE
+import qualified Data.Serialize as Cereal (Serialize(..), getWord8, putWord8)
+#endif
+
 #ifdef DECLARE_DEFAULT_INSTANCE
 import Data.Default.Class (Default(def))
 #endif
@@ -121,8 +128,15 @@
 #ifdef DECLARE_BINARY_INSTANCE
 -- | Encoded as one byte in range @['minBound' .. 'maxBound' :: Verbosity]@.
 instance Binary Verbosity where
-    get = toEnum . fromIntegral <$> getWord8
-    put = putWord8 . fromIntegral . fromEnum
+    get = toEnum . fromIntegral <$> Binary.getWord8
+    put = Binary.putWord8 . fromIntegral . fromEnum
+#endif
+
+#ifdef DECLARE_SERIALIZE_INSTANCE
+-- | Encoded as one byte in range @['minBound' .. 'maxBound' :: Verbosity]@.
+instance Cereal.Serialize Verbosity where
+    get = toEnum . fromIntegral <$> Cereal.getWord8
+    put = Cereal.putWord8 . fromIntegral . fromEnum
 #endif
 
 #ifdef DECLARE_NFDATA_INSTANCE
diff --git a/verbosity.cabal b/verbosity.cabal
--- a/verbosity.cabal
+++ b/verbosity.cabal
@@ -1,5 +1,5 @@
 name:                   verbosity
-version:                0.2.0.0
+version:                0.2.1.0
 synopsis:               Simple enum that encodes application verbosity.
 description:
   Simple enum that encodes application verbosity with various useful instances.
@@ -36,7 +36,7 @@
   default:              True
 
 flag ghc-generics
-  description:          Derive instances for Data and Typeable type classes.
+  description:          Derive instances for Generic type class.
   default:              True
 
 flag binary
@@ -51,6 +51,10 @@
   description:          Define instance for NFData type class.
   default:              True
 
+flag cereal
+  description:          Define instance for Serialize type class.
+  default:              False
+
 library
   hs-source-dirs:       src
   exposed-modules:      Data.Verbosity, Data.Verbosity.Class
@@ -75,7 +79,7 @@
     -- Versions of transformers <0.2 doesn't include Data.Functor.Identity,
     -- which is used by this package, and version 0.4.0.0 of transformers is
     -- deprecated.
-    build-depends:      transformers >=0.2 && <0.4 || >=0.4.1 && <0.5
+    build-depends:      transformers >=0.2 && <0.4 || >=0.4.1 && <0.6
 
   if flag(pedantic)
     ghc-options:        -fwarn-implicit-prelude
@@ -91,7 +95,7 @@
     cpp-options:        -DDERIVE_DATA_TYPEABLE
 
   if flag(binary)
-    build-depends:      binary >=0.5 && <0.8
+    build-depends:      binary >=0.5 && <0.9
     cpp-options:        -DDECLARE_BINARY_INSTANCE
 
   if flag(data-default)
@@ -100,9 +104,13 @@
 
   if flag(deepseq)
     cpp-options:        -DDECLARE_NFDATA_INSTANCE
-    build-depends:      deepseq >= 1.1.0.0 && < 2
+    build-depends:      deepseq >=1.1.0.0 && <2
     -- Prior to version 1.1.0.0 there was DeepSeq class instead of NFData.
 
+  if flag(cereal)
+    cpp-options:        -DDECLARE_SERIALIZE_INSTANCE
+    build-depends:      cereal >=0.1 && <0.6
+
 source-repository head
   type:                 git
   location:             git://github.com/trskop/verbosity
@@ -110,4 +118,4 @@
 source-repository this
   type:                 git
   location:             git://github.com/trskop/verbosity.git
-  tag:                  v0.2.0.0
+  tag:                  v0.2.1.0
