v2.4.0
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index d4a3a1a..7d156a1 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,6 +1,6 @@
 repos:
 -   repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v2.3.0
+    rev: v2.4.0
     hooks:
     -   id: trailing-whitespace
     -   id: end-of-file-fixer
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8d2c364..d34a23b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,20 @@
+2.4.0 - 2019-10-28
+==================
+
+### Features
+- Add diff output to `pretty-format-json` when run without `--autofix`.
+    - #408 PR by @joepin.
+- Add `--chars` option to `trailing-whitespace` fixer to control which
+  characters are stripped instead of all whitespace.
+    - #421 PR by @iconmaster5326.
+
+### Fixes
+- Fix `requirements-txt-fixer` when file does not end in a newline.
+    - #414 issue by @barakreif.
+    - #414 PR by @barakreif.
+- Fix double printing of filename in `pretty-format-json`.
+    - #419 PR by @asottile.
+
 2.3.0 - 2019-08-05
 ==================
 
diff --git a/README.md b/README.md
index e579976..ec77745 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,7 @@
 Add this to your `.pre-commit-config.yaml`
 
     -   repo: https://github.com/pre-commit/pre-commit-hooks
-        rev: v2.3.0  # Use the ref you want to point at
+        rev: v2.4.0  # Use the ref you want to point at
         hooks:
         -   id: trailing-whitespace
         # -   id: ...
diff --git a/setup.cfg b/setup.cfg
index 4038836..12c2b16 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,6 +1,6 @@
 [metadata]
 name = pre_commit_hooks
-version = 2.3.0
+version = 2.4.0
 description = Some out-of-the-box hooks for pre-commit.
 long_description = file: README.md
 long_description_content_type = text/markdown