diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 00000000..6f86515d
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,23 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com), but adapted to work with trunk-based development and continuous delivery.
+
+Instead of grouping changes by tag, they are grouped by the date they are released.
+
+## 21st November 2023
+
+### Added
+
+* Add CHANGELOG.md.
+* More i3 key mappings for navigating between and focusing windows, as well as volume and brightness control.
+
+### Changed
+
+* Updated Harpoon mappings.
+* Make the monitor ID and mode configurable in `switch-to-laptop-screen` and `switch-to-monitor` scripts.
+
+### Fixed
+
+* Prevent `markdownlint` from showing errors for line lengths and duplicate non-sibling headings, making it easier to work with files, such as CHANGELOG.md, that contains the same headings multiple times.