v3.1.0
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index c5ccc79..1e118f4 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: v3.0.1
+    rev: v3.1.0
     hooks:
     -   id: trailing-whitespace
     -   id: end-of-file-fixer
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 14230f2..8e45511 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,20 @@
+3.1.0 - 2020-05-20
+==================
+
+### Features
+- `check-executables-have-shebangs`: on windows, validate the mode bits using
+  `git`
+    - #480 PR by @mxr.
+    - #435 issue by @dstandish.
+- `requirements-txt-fixer`: support more operators
+    - #483 PR by @mxr.
+    - #331 issue by @hackedd.
+
+### Fixes
+- `pre-commit-hooks-removed`: Fix when removed hooks used `args`
+    - #487 PR by @pedrocalleja.
+    - #485 issue by @pedrocalleja.
+
 3.0.1 - 2020-05-16
 ==================
 
diff --git a/README.md b/README.md
index 54db3a9..6c7fba9 100644
--- a/README.md
+++ b/README.md
@@ -15,7 +15,7 @@
 
 ```yaml
 -   repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v3.0.1  # Use the ref you want to point at
+    rev: v3.1.0  # Use the ref you want to point at
     hooks:
     -   id: trailing-whitespace
     # -   id: ...
diff --git a/setup.cfg b/setup.cfg
index cf04689..0f7721f 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,6 +1,6 @@
 [metadata]
 name = pre_commit_hooks
-version = 3.0.1
+version = 3.1.0
 description = Some out-of-the-box hooks for pre-commit.
 long_description = file: README.md
 long_description_content_type = text/markdown