diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,31 @@
-# Revision history for generic-case
+# Changelog
 
-## 0.1.0.0 -- 2025-2-26
+All notable changes to `generic-case` will be documented in this file.
 
-* First version. Released on an unsuspecting world.
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
+and this project adheres to [Haskell Package Versioning Policy](https://pvp.haskell.org).
+
+## [Unreleased]
+
+## [0.1.1.1] - 29.05.2025
+
+### Added
+
+- Updated Readme + Changelog
+
+## [0.1.1.0] - 08.04.2025
+
+### Added
+
+- Implement `gcaseR`: functions before datatype in [#6](https://github.com/fpringle/generic-case/pull/6).
+
+## [0.1.0.0] - 08.03.2025
+
+### Added
+
+- First version. Released on an unsuspecting world.
+
+[unreleased]: https://github.com/fpringle/generic-case/compare/v0.1.1.1...HEAD
+[0.1.1.1]: https://github.com/fpringle/generic-case/releases/tag/v0.1.1.1
+[0.1.1.0]: https://github.com/fpringle/generic-case/releases/tag/v0.1.1.0
+[0.1.0.0]: https://github.com/fpringle/generic-case/releases/tag/v0.1.0.0
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,15 @@
+[![Haskell CI](https://github.com/fpringle/generic-case/actions/workflows/haskell.yml/badge.svg)](https://github.com/fpringle/generic-case/actions/workflows/haskell.yml)
+
+# Generic case analysis functions
+
+"Case analysis" functions are those which take one function for each constructor of a sum type, examine a value of that type, and call the relevant function depending on which constructor was used to build that type. Examples include
+[maybe](https://hackage.haskell.org/package/base/docs/Data-Maybe.html#v:maybe),
+[either](https://hackage.haskell.org/package/base/docs/Data-Either.html#v:either) and
+[bool](https://hackage.haskell.org/package/base/docs/Data-Bool.html#v:bool). `generic-case` gives you these functions for any type which implements `Generic` from [generics-sop](https://hackage.haskell.org/package/generics-sop/docs/Generics-SOP.html#t:Generic).
+
+```haskell
+maybe :: forall a r. r -> (a -> r) -> Maybe a -> r
+maybe = gcaseR @(Maybe a)
+```
+
+For more detailed documentation, see [Generics.Case](https://hackage.haskell.org/package/generics-case/docs/Generics-Case.html).
diff --git a/generic-case.cabal b/generic-case.cabal
--- a/generic-case.cabal
+++ b/generic-case.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               generic-case
-version:            0.1.1.0
+version:            0.1.1.1
 synopsis:           Generic case analysis
 description:
   Generic case analysis in the vein of 'maybe', 'either' and 'bool',
@@ -17,6 +17,7 @@
 category:           Generics
 build-type:         Simple
 extra-doc-files:    CHANGELOG.md
+                    README.md
 tested-with:
   GHC == 9.12.2
   GHC == 9.10.1
