diff --git a/.gitignore b/.gitignore
index 3f751b3..e188dbd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,3 +25,4 @@
 /valgrind-3.11.0.tar.bz2
 /valgrind-3.12.0.BETA1.tar.bz2
 /valgrind-3.12.0.RC2.tar.bz2
+/valgrind-3.12.0.tar.bz2
diff --git a/sources b/sources
index fde4c47..fc6c779 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-b057a598b2e7298918308dfc6903c141  valgrind-3.12.0.RC2.tar.bz2
+6eb03c0c10ea917013a7622e483d61bb  valgrind-3.12.0.tar.bz2
diff --git a/valgrind.spec b/valgrind.spec
index ce42f27..9dfeba6 100644
--- a/valgrind.spec
+++ b/valgrind.spec
@@ -3,7 +3,7 @@
 Summary: Tool for finding memory management bugs in programs
 Name: %{?scl_prefix}valgrind
 Version: 3.12.0
-Release: 0.4.RC2%{?dist}
+Release: 1%{?dist}
 Epoch: 1
 License: GPLv2+
 URL: http://www.valgrind.org/
@@ -58,8 +58,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 # So those will already have their full symbol table.
 %undefine _include_minidebuginfo
 
-#Source0: http://www.valgrind.org/downloads/valgrind-%{version}.tar.bz2
-Source0: valgrind-3.12.0.RC2.tar.bz2
+Source0: http://www.valgrind.org/downloads/valgrind-%{version}.tar.bz2
 
 # Needs investigation and pushing upstream
 Patch1: valgrind-3.9.0-cachegrind-improvements.patch
@@ -180,7 +179,7 @@ Valgrind User Manual for details.
 %endif
 
 %prep
-%setup -q -n %{?scl:%{pkg_name}}%{!?scl:%{name}}-%{version}.RC2
+%setup -q -n %{?scl:%{pkg_name}}%{!?scl:%{name}}-%{version}
 
 %patch1 -p1
 %patch2 -p1
@@ -379,6 +378,9 @@ echo ===============END TESTING===============
 %endif
 
 %changelog
+* Fri Oct 21 2016 Mark Wielaard <mjw@redhat.com> - 3.12.0-1
+- Update to valgrind 3.12.0 release.
+
 * Thu Oct 20 2016 Mark Wielaard <mjw@redhat.com> - 3.12.0-0.4-RC2
 - Update to 3.12.0-RC1. Drop integrated patches.
 - Add valgrind-3.12.0-skip-cond-var.patch