diff --git a/changelog.md b/changelog.md
new file mode 100644
--- /dev/null
+++ b/changelog.md
@@ -0,0 +1,52 @@
+Changelog for Speculate
+=======================
+
+upcoming
+--------
+
+* bump [express] requirement to v0.2.0
+* add this changelog
+
+
+v0.4.10
+-------
+
+* no changes in the actual [Speculate] library
+* cleanup build files
+* remove uneeded typeable derivations on examples and tests
+
+
+v0.4.8
+------
+
+* no changes in the actual [Speculate] library
+* refactor build scripts
+* use GitHub Workflows as the CI
+* fix compilation of some examples under the new [LeanCheck]
+
+
+v0.4.6
+------
+
+* [`Test.Speculate`]: export `reifyName`;
+* "internal" modules:
+	- `Test.Speculate.Args`: remove `compareExpr`;
+	- `Test.Speculate.Engine`: add three new wrappers for "theory and representatives";
+	- `Test.Speculate.Expr.Core`: rename functions to `compareLexicographicallyBy` and `compareComplexityThenIndex`;
+	- `Test.Speculate.Function`: add `Function.A10` and `A100` and `A1000`;
+	- `Test.Speculate.Reason`: export `isRootNormal` and `isRootNormalE`;
+* add trilean benchmark;
+* improve order tests.
+
+
+Earlier versions
+----------------
+
+Please refer to the [git commit history].
+
+[git commit history]: https://github.com/rudymatela/speculate/commits/master
+
+[Speculate]:        https://hackage.haskell.org/package/speculate/docs/Test-Speculate.html
+[`Test.Speculate`]: https://hackage.haskell.org/package/speculate/docs/Test-Speculate.html
+[LeanCheck]:        https://hackage.haskell.org/package/leancheck/docs/Test-LeanCheck.html
+[express]:          https://hackage.haskell.org/package/express
diff --git a/speculate.cabal b/speculate.cabal
--- a/speculate.cabal
+++ b/speculate.cabal
@@ -1,5 +1,5 @@
 name:                speculate
-version:             0.4.10
+version:             0.4.12
 synopsis:            discovery of properties about Haskell functions
 description:
   Speculate automatically discovers laws about Haskell functions.
@@ -21,6 +21,7 @@
 cabal-version:       1.18
 
 extra-doc-files: README.md
+               , changelog.md
                , TODO.md
                , doc/speculate.svg
 extra-source-files: .gitignore
@@ -86,7 +87,7 @@
 source-repository this
   type:            git
   location:        https://github.com/rudymatela/speculate
-  tag:             v0.4.10
+  tag:             v0.4.12
 
 
 library
@@ -123,7 +124,7 @@
                  , Test.Speculate.Utils.Tuple
   build-depends: base >= 4 && < 5
                , leancheck >= 0.9.6
-               , express >= 0.1.10
+               , express >= 0.2.0
                , cmdargs
                , containers
   hs-source-dirs:    src
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -5,4 +5,4 @@
 
 extra-deps:
 - leancheck-0.9.10
-- express-0.1.14
+- express-0.2.0
