diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,9 @@
+0.2.3
+-----
+* ghc 8 support
+* `transformers` 0.5 support
+* Removed redundant constraints on default definitions.
+
 0.2.2
 -----
 * Removed spurious `generic-deriving` dependency
diff --git a/README.markdown b/README.markdown
--- a/README.markdown
+++ b/README.markdown
@@ -1,7 +1,7 @@
 hashable-extras
 ===============
 
-[![Build Status](https://secure.travis-ci.org/ekmett/hashable-extras.png?branch=master)](http://travis-ci.org/ekmett/hashable-extras)
+[![Hackage](https://img.shields.io/hackage/v/hashable-extras.svg)](https://hackage.haskell.org/package/hashable-extras) [![Build Status](https://secure.travis-ci.org/ekmett/hashable-extras.png?branch=master)](http://travis-ci.org/ekmett/hashable-extras)
 
 This package provides higher order Hashable types
 
diff --git a/hashable-extras.cabal b/hashable-extras.cabal
--- a/hashable-extras.cabal
+++ b/hashable-extras.cabal
@@ -1,6 +1,6 @@
 name:          hashable-extras
 category:      Data, Hash
-version:       0.2.2
+version:       0.2.3
 license:       BSD3
 cabal-version: >= 1.8
 license-file:  LICENSE
@@ -46,7 +46,8 @@
     bifunctors       >= 4        && < 6,
     bytestring       >= 0.9      && < 0.11,
     hashable         >= 1.1.2.3  && < 1.3,
-    transformers     >= 0.2      && < 0.5
+    transformers     >= 0.2      && < 0.6,
+    transformers-compat >= 0.3   && < 1
 
   exposed-modules:
     Data.Hashable.Extras
diff --git a/src/Data/Hashable/Extras.hs b/src/Data/Hashable/Extras.hs
--- a/src/Data/Hashable/Extras.hs
+++ b/src/Data/Hashable/Extras.hs
@@ -44,7 +44,7 @@
 class Hashable1 t where
   hashWithSalt1 :: Hashable a => Int -> t a -> Int
 #ifndef HLINT
-  default hashWithSalt1 :: (Hashable a, Hashable (t a)) => Int -> t a -> Int
+  default hashWithSalt1 :: Hashable (t a) => Int -> t a -> Int
   hashWithSalt1 = hashWithSalt
   {-# INLINE hashWithSalt1 #-}
 #endif
@@ -70,7 +70,7 @@
 class Hashable2 t where
   hashWithSalt2 :: (Hashable a, Hashable b) => Int -> t a b -> Int
 #ifndef HLINT
-  default hashWithSalt2 :: (Hashable a, Hashable b, Hashable (t a b)) => Int -> t a b -> Int
+  default hashWithSalt2 :: Hashable (t a b) => Int -> t a b -> Int
   hashWithSalt2 = hashWithSalt
   {-# INLINE hashWithSalt2 #-}
 #endif
