diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## Slug 0.1.4
+
+* Derive `Ord` and `Data` instances for `Slug`.
+
 ## Slug 0.1.3
 
 * Export plain function `unSlug` instead of record selector `unSlug`.
diff --git a/Web/Slug.hs b/Web/Slug.hs
--- a/Web/Slug.hs
+++ b/Web/Slug.hs
@@ -26,6 +26,7 @@
 import Control.Monad.Catch (MonadThrow (..))
 import Data.Aeson.Types (ToJSON (..), FromJSON (..))
 import Data.Char (isAlphaNum)
+import Data.Data (Data)
 import Data.Text (Text)
 import Data.Typeable (Typeable)
 import Database.Persist.Class (PersistField (..))
@@ -63,7 +64,7 @@
 -- Slugs are good for semantic URLs and also can be used as identifier of a
 -- sort in some cases.
 
-newtype Slug = Slug Text deriving (Eq, Typeable)
+newtype Slug = Slug Text deriving (Eq, Ord, Data, Typeable)
 
 -- | Create 'Slug' from 'Text', all necessary transformations are
 -- applied. Argument of this function can be title of an article or
diff --git a/slug.cabal b/slug.cabal
--- a/slug.cabal
+++ b/slug.cabal
@@ -31,7 +31,7 @@
 -- POSSIBILITY OF SUCH DAMAGE.
 
 name:                 slug
-version:              0.1.3
+version:              0.1.4
 cabal-version:        >= 1.10
 license:              BSD3
 license-file:         LICENSE.md
@@ -52,12 +52,12 @@
   default:            False
 
 library
-  build-depends:      aeson        >= 0.8
-                    , base         >= 4.6 && < 5
-                    , exceptions   >= 0.6
-                    , path-pieces  >= 0.1.5
-                    , persistent   >= 2.0
-                    , text         >= 1.0
+  build-depends:      aeson        >= 0.8   && < 0.12
+                    , base         >= 4.6   && < 5.0
+                    , exceptions   >= 0.6   && < 0.9
+                    , path-pieces  >= 0.1.5 && < 0.3
+                    , persistent   >= 2.0   && < 3.0
+                    , text         >= 1.0   && < 1.3
   default-extensions: OverloadedStrings
   exposed-modules:    Web.Slug
   if flag(dev)
@@ -75,14 +75,14 @@
   else
     ghc-options:      -O2 -Wall
   default-extensions: OverloadedStrings
-  build-depends:      QuickCheck                 >= 2.4 && < 3
-                    , base                       >= 4.6 && < 5
-                    , exceptions                 >= 0.6
-                    , path-pieces                >= 0.1.5
-                    , slug                       >= 0.1.3
-                    , test-framework             >= 0.6 && < 1
-                    , test-framework-quickcheck2 >= 0.3 && < 0.4
-                    , text                       >= 1.0
+  build-depends:      QuickCheck                 >= 2.4   && < 3.0
+                    , base                       >= 4.6   && < 5.0
+                    , exceptions                 >= 0.6   && < 0.9
+                    , path-pieces                >= 0.1.5 && < 0.3
+                    , slug                       >= 0.1.4
+                    , test-framework             >= 0.6   && < 1.0
+                    , test-framework-quickcheck2 >= 0.3   && < 0.4
+                    , text                       >= 1.0   && < 1.3
   default-language:   Haskell2010
 
 source-repository head
