diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,9 @@
+# 1.2.5.2 November 2021
+
+* Tested with GHC 7.0 - 9.2.
+* Silence warning caused by missing `other-modules` in cabal file.
+* Add README and CHANGELOG to dist.
+
+# 1.2.5.1 July 2019
+
+No changelog for this and earlier versions.
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,30 @@
+[![Hackage version](https://img.shields.io/hackage/v/silently.svg?label=Hackage&color=informational)](http://hackage.haskell.org/package/silently)
+[![silently on Stackage Nightly](https://stackage.org/package/silently/badge/nightly)](https://stackage.org/nightly/package/silently)
+[![Stackage LTS version](https://www.stackage.org/package/silently/badge/lts?label=Stackage)](https://www.stackage.org/package/silently)
+[![Cabal build](https://github.com/hspec/silently/workflows/Haskell-CI/badge.svg)](https://github.com/hspec/silently/actions)
+
+# silently
+
+Silently is a package that allows you to run an `IO` action and
+prevent it from writing to `stdout`, or any other handle, by using
+`silence`. Or you can capture the output for yourself using `capture`.
+
+For example, the program
+```haskell
+ import System.IO.Silently
+
+ main = do
+   putStr "putStrLn: " >> putStrLn "puppies!"
+   putStr "silenced: " >> silence (putStrLn "kittens!")
+   putStrLn ""
+   (captured, result) <- capture (putStr "wookies!" >> return 123)
+   putStr "captured: " >> putStrLn captured
+   putStr "returned: " >> putStrLn (show result)
+```
+will print:
+```
+ putStrLn: puppies!
+ silenced:
+ captured: wookies!
+ returned: 123
+```
diff --git a/silently.cabal b/silently.cabal
--- a/silently.cabal
+++ b/silently.cabal
@@ -1,34 +1,55 @@
 name: silently
-version: 1.2.5.1
-cabal-version: >= 1.8
+version: 1.2.5.2
+cabal-version: >= 1.10
 build-type: Simple
 license: BSD3
 license-file: LICENSE
 copyright: (c) Trystan Spangler 2011
-maintainer: Sönke Hahn <soenkehahn@gmail.com>, Simon Hengel <sol@typeful.net>
+maintainer: Sönke Hahn <soenkehahn@gmail.com>, Simon Hengel <sol@typeful.net>, Andreas Abel
 homepage: https://github.com/hspec/silently
 package-url: https://github.com/hspec/silently
 bug-reports: https://github.com/hspec/silently/issues
 synopsis: Prevent or capture writing to stdout and other handles.
-description: Prevent or capture writing to stdout and other handles.
+description: Prevent or capture writing to stdout, stderr, and other handles.
 category: System, Testing
 author: Trystan Spangler
-tested-with: GHC ==7.0
+tested-with:
+  GHC == 7.0.4
+  GHC == 7.2.2
+  GHC == 7.4.2
+  GHC == 7.6.3
+  GHC == 7.8.4
+  GHC == 7.10.3
+  GHC == 8.0.2
+  GHC == 8.2.2
+  GHC == 8.4.4
+  GHC == 8.6.5
+  GHC == 8.8.4
+  GHC == 8.10.7
+  GHC == 9.0.1
+  GHC == 9.2.1
 
+extra-source-files:
+  CHANGELOG.md
+  README.md
+
 source-repository head
   type: git
   location: https://github.com/hspec/silently
 
 Library
+  hs-source-dirs:
+      src
+  default-language:
+      Haskell98
+  exposed-modules:
+      System.IO.Silently
+
   build-depends:
       base >=4 && <=5
     , directory
     , deepseq
-  exposed-modules: System.IO.Silently
 
-  hs-source-dirs:
-      src
-
   if os(windows)
     cpp-options: -DWINDOWS
   if os(linux) || os(osx) || os(freebsd) || os(openbsd) || os(netbsd)
@@ -42,14 +63,16 @@
 -- As a consequence we can not use Hspec for testing, as this would result in
 -- depending on two different versions of silently at the same time!
 test-suite spec-specific
-  main-is:
-      Spec.hs
   type:
       exitcode-stdio-1.0
-  ghc-options:
-      -Wall -threaded
   hs-source-dirs:
       test
+  main-is:
+      Spec.hs
+  default-language:
+      Haskell98
+  ghc-options:
+      -Wall -threaded
   build-depends:
       base
     , silently
@@ -59,15 +82,19 @@
 
 -- This tests the generic implementation, that should work on all platforms.
 test-suite spec-generic
-  main-is:
-      Spec.hs
   type:
       exitcode-stdio-1.0
-  ghc-options:
-      -Wall -threaded
   hs-source-dirs:
       src
     , test
+  main-is:
+      Spec.hs
+  default-language:
+      Haskell98
+  ghc-options:
+      -Wall -threaded
+  other-modules:
+      System.IO.Silently
 
   build-depends:
       base
