diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.markdown
@@ -0,0 +1,4 @@
+0.5.12
+------
+* Fixed compatibility with GHC 7.2 (#6)
+* Added `CHANGELOG.markdown` and `README.markdown`
diff --git a/Data/Void.hs b/Data/Void.hs
--- a/Data/Void.hs
+++ b/Data/Void.hs
@@ -31,18 +31,23 @@
 #else
 newtype Void = Void Void
 #endif
-  deriving
-  ( Show, Read
 #ifdef LANGUAGE_DeriveDataTypeable
-  , Data, Typeable
+  deriving (Data, Typeable)
 #endif
-  )
 
 instance Eq Void where
   _ == _ = True
 
 instance Ord Void where
   compare _ _ = EQ
+
+instance Show Void where
+  showsPrec _ = absurd
+
+-- | Reading a 'Void' value is always a parse error, considering 'Void' as
+-- a data type with no constructors.
+instance Read Void where
+  readsPrec _ _ = []
 
 -- | Since 'Void' values logically don't exist, this witnesses the logical
 -- reasoning tool of \"ex falso quodlibet\".
diff --git a/Data/Void/Unsafe.hs b/Data/Void/Unsafe.hs
--- a/Data/Void/Unsafe.hs
+++ b/Data/Void/Unsafe.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE CPP #-}
-#if !defined(SAFE) && defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
+#if !defined(SAFE) && defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 704
 #define UNSAFE
 {-# LANGUAGE Unsafe #-}
 #endif
diff --git a/README.markdown b/README.markdown
new file mode 100644
--- /dev/null
+++ b/README.markdown
@@ -0,0 +1,15 @@
+void
+====
+
+[![Build Status](https://secure.travis-ci.org/ekmett/void.png?branch=master)](http://travis-ci.org/ekmett/void)
+
+This package provides a canonical 'uninhabited' data type for Haskell. This arises in a surprisingly wide array of situations in practice.
+
+Contact Information
+-------------------
+
+Contributions and bug reports are welcome!
+
+Please feel free to contact me through github or on the #haskell IRC channel on irc.freenode.net.
+
+-Edward Kmett
diff --git a/void.cabal b/void.cabal
--- a/void.cabal
+++ b/void.cabal
@@ -1,6 +1,6 @@
 name:          void
 category:      Data Structures
-version:       0.5.11
+version:       0.5.12
 license:       BSD3
 cabal-version: >= 1.6
 license-file:  LICENSE
@@ -14,7 +14,7 @@
 description:   A Haskell 98 logically uninhabited data type, used to indicate that a given term should not exist.
 build-type:    Simple
 
-extra-source-files: .travis.yml
+extra-source-files: .travis.yml CHANGELOG.markdown README.markdown
 
 source-repository head
   type: git
