v5.0.0
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index bca81f8..315c420 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: v4.6.0
+    rev: v5.0.0
     hooks:
     -   id: trailing-whitespace
     -   id: end-of-file-fixer
diff --git a/CHANGELOG.md b/CHANGELOG.md
index bf99d9f..e165574 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,27 @@
+5.0.0 - 2024-10-05
+==================
+
+### Features
+- `requirements-txt-fixer`: also remove `pkg_resources==...`.
+    - #850 PR by @ericfrederich.
+    - #1030 issue by @ericfrederich.
+- `check-illegal-windows-names`: new hook!
+    - #1044 PR by @ericfrederich.
+    - #589 issue by @ericfrederich.
+    - #1049 PR by @Jeffrey-Lim.
+- `pretty-format-json`: continue processing even if a file has a json error.
+    - #1039 PR by @amarvin.
+    - #1038 issue by @amarvin.
+
+### Fixes
+- `destroyed-symlinks`: set `stages` to `[pre-commit, pre-push, manual]`
+    - PR #1085 by @AdrianDC.
+
+### Migrating
+- pre-commit-hooks now requires `pre-commit>=3.2.0`.
+- use non-deprecated names for `stages`.
+    - #1093 PR by @asottile.
+
 4.6.0 - 2024-04-06
 ==================
 
diff --git a/README.md b/README.md
index 97bfba6..c0f678f 100644
--- a/README.md
+++ b/README.md
@@ -15,7 +15,7 @@
 
 ```yaml
 -   repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v4.6.0  # Use the ref you want to point at
+    rev: v5.0.0  # Use the ref you want to point at
     hooks:
     -   id: trailing-whitespace
     # -   id: ...
diff --git a/setup.cfg b/setup.cfg
index 82a5457..a0d67f8 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,6 +1,6 @@
 [metadata]
 name = pre_commit_hooks
-version = 4.6.0
+version = 5.0.0
 description = Some out-of-the-box hooks for pre-commit.
 long_description = file: README.md
 long_description_content_type = text/markdown