diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,61 @@
+# CHANGELOG for pinboard-notes-backup
+
+These version numbers approximately follow the [Haskell Package Versioning Policy (PVP)][PVP]. (I say “approximately” because this package contains no libraries—only an executable—and so it does not actually provide an API per se.)
+
+[PVP]: https://pvp.haskell.org/
+
+## 1.0.5.5 (2022-12-01)
+
+The program now builds against a wider set of dependencies. There were no changes in functionality.
+
+## 1.0.5.4 (2022-02-26)
+
+The program now builds against a wider set of dependencies. There were no changes in functionality.
+
+## 1.0.5.3 (2021-03-24)
+
+The program now builds against a wider set of dependencies. There were no changes in functionality.
+
+## 1.0.5.2 (2021-02-28)
+
+The program now builds against a wider set of dependencies. There were no changes in functionality.
+
+## 1.0.5.1 (2021-02-27)
+
+The program now builds against a wider set of dependencies. There were no changes in functionality.
+
+## 1.0.5 (2019-09-15)
+
+- The Bash and Zsh completion scripts are now told explicitly that the “FILE” argument should be completed with a filename. (This seems to have been the default behavior for both shells anyway, so this may not represent an actual change in functionality.)
+- The application now builds against a wider range of dependencies.
+
+## 1.0.4.1 (2019-07-19)
+
+- The “built” version of the man page is now included in version control (in the `man` directory) and in the package produced by `cabal sdist`/`stack sdist`. (It was previously necessary to create this yourself by feeding the Markdown source file to Pandoc.)
+- Changed the categories and the description in the cabal file.
+- There were no changes to the code.
+
+## 1.0.4 (2019-06-22)
+
+- Error messages should now be much more comprehensible, especially for the most common network errors.
+- Progress messages now go to standard output, not standard error.
+- The program now has a man page.
+- A few dependency changes mean that the binary should be smaller.
+
+## 1.0.3 (2017-11-05)
+
+The program now builds against a wider set of dependencies. This will allow it to be installed using [Homebrew]. (There were no changes in functionality.)
+
+[Homebrew]: https://brew.sh
+
+## 1.0.2 (2016-12-05)
+
+If any notes had been changed on the server then the application would error out instead of updating the local copy.
+
+## 1.0.1 (2016-07-20)
+
+Tweaked the help text and made some under-the-hood changes.
+
+## 1.0.0 (2016-06-28)
+
+Initial release.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -137,34 +137,7 @@
 
 ## Version history
 
-These version numbers approximately follow the [Haskell Package Versioning Policy (PVP)][PVP]. (I say “approximately” because this package contains no libraries—only an executable—and so it does not actually provide an API per se.)
-
-[PVP]: https://pvp.haskell.org/
-
-* 1.0.5.4 (2022-02-26)
-    - The program now builds against a wider set of dependencies. There were no changes in functionality.
-* 1.0.5.3 (2021-03-24)
-    - The program now builds against a wider set of dependencies. There were no changes in functionality.
-* 1.0.5.2 (2021-02-28)
-    - The program now builds against a wider set of dependencies. There were no changes in functionality.
-* 1.0.5.1 (2021-02-27)
-    - The program now builds against a wider set of dependencies. There were no changes in functionality.
-* 1.0.5 (2019-09-15)
-    - The Bash and Zsh completion scripts are now told explicitly that the “FILE” argument should be completed with a filename. (This seems to have been the default behavior for both shells anyway, so this may not represent an actual change in functionality.)
-    - The application now builds against a wider range of dependencies.
-* 1.0.4.1 (2019-07-19)
-    - The “built” version of the man page is now included in version control (in the `man` directory) and in the package produced by `cabal sdist`/`stack sdist`. (It was previously necessary to create this yourself by feeding the Markdown source file to Pandoc.)
-    - Changed the categories and the description in the cabal file.
-    - There were no changes to the code.
-* 1.0.4 (2019-06-22)
-    - Error messages should now be much more comprehensible, especially for the most common network errors.
-    - Progress messages now go to standard output, not standard error.
-    - The program now has a man page.
-    - A few dependency changes mean that the binary should be smaller.
-* 1.0.3 (2017-11-05): The program now builds against a wider set of dependencies. This will allow it to be installed using [Homebrew]. (There were no changes in functionality.)
-* 1.0.2 (2016-12-05): If any notes had been changed on the server then the application would error out instead of updating the local copy.
-* 1.0.1 (2016-07-20): Tweaked the help text and made some under-the-hood changes.
-* 1.0.0 (2016-06-28): Initial release.
+See [CHANGELOG.md](CHANGELOG.md).
 
 ## License
 
diff --git a/pinboard-notes-backup.cabal b/pinboard-notes-backup.cabal
--- a/pinboard-notes-backup.cabal
+++ b/pinboard-notes-backup.cabal
@@ -1,5 +1,5 @@
 name:                pinboard-notes-backup
-version:             1.0.5.4
+version:             1.0.5.5
 synopsis:            Back up the notes you've saved to Pinboard
 description:         A command-line application to back up your notes from the
                      Pinboard bookmarking service to a local SQLite database.
@@ -12,7 +12,8 @@
 category:            Backup, CLI, Pinboard
 build-type:          Simple
 cabal-version:       >= 1.10
-extra-source-files:  README.md
+extra-source-files:  CHANGELOG.md
+                     README.md
                      stack.yaml
                      stack.yaml.lock
                      man/pnbackup.1
@@ -34,11 +35,11 @@
                        , http-client          >= 0.5  && < 0.8
                        , http-types           >= 0.12 && < 0.13
                        , mtl                  >= 2.2  && < 2.3
-                       , optparse-applicative >= 0.11 && < 0.17
-                       , req                  >= 1.0  && < 3.11
+                       , optparse-applicative >= 0.11 && < 0.18
+                       , req                  >= 1.0  && < 3.14
                        , sqlite-simple        >= 0.4  && < 0.5
                        , text                 >= 1.2  && < 1.3
-                       , time                 >= 1.5  && < 1.10
+                       , time                 >= 1.5  && < 1.13
   default-extensions:  DataKinds
                        DeriveFunctor
                        GeneralizedNewtypeDeriving
