diff --git a/.cryptsetup.metadata b/.cryptsetup.metadata
index 9b26198..ba91f03 100644
--- a/.cryptsetup.metadata
+++ b/.cryptsetup.metadata
@@ -1 +1 @@
-135dc2e7b84bc8c74f01447f93d1392485b47a37 SOURCES/cryptsetup-2.2.2.tar.xz
+739beb77bc8423f0f1e1900fd4708845b010f341 SOURCES/cryptsetup-2.3.1.tar.xz
diff --git a/.gitignore b/.gitignore
index af155c9..5cced3d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/cryptsetup-2.2.2.tar.xz
+SOURCES/cryptsetup-2.3.1.tar.xz
diff --git a/SPECS/cryptsetup.spec b/SPECS/cryptsetup.spec
index e78d0f7..2ef7ca5 100644
--- a/SPECS/cryptsetup.spec
+++ b/SPECS/cryptsetup.spec
@@ -4,7 +4,7 @@ Obsoletes: cryptsetup-python3
 
 Summary: A utility for setting up encrypted disks
 Name: cryptsetup
-Version: 2.2.2
+Version: 2.3.1
 Release: 1%{?dist}
 License: GPLv2+ and LGPLv2+
 Group: Applications/System
@@ -138,6 +138,10 @@ rm -rf %{buildroot}/%{_libdir}/*.la
 %clean
 
 %changelog
+* Fri Apr 03 2020 Ondrej Kozina <okozina@redhat.com> - 2.3.1-1
+- Update to cryptsetup 2.3.1
+- Resolves: #1796826 #1743891 #1785748
+
 * Mon Nov 18 2019 Ondrej Kozina <okozina@redhat.com> - 2.2.2-1
 - Update to cryptsetup 2.2.2
 - LUKS2 reencryption honors activation flags (one time and persistent).
@@ -145,7 +149,6 @@ rm -rf %{buildroot}/%{_libdir}/*.la
   keyring service.
 - Resolves: #1757783 #1750680 #1753597 #1743399
 
-- Resolves: #1742815 #1746532
 * Fri Aug 30 2019 Ondrej Kozina <okozina@redhat.com> - 2.2.0-2
 - patch: Fix mapped segments overflow on 32bit architectures.
 - patch: Take optimal io size in account with LUKS2 reencryption.