v1.12.0
diff --git a/doc/manual.asciidoc b/doc/manual.asciidoc
index d01b75a..d7dc490 100644
--- a/doc/manual.asciidoc
+++ b/doc/manual.asciidoc
@@ -1,5 +1,6 @@
 The Ninja build system
 ======================
+v1.12.0, Apr 2024
 
 
 Introduction
@@ -1025,8 +1026,8 @@
 +
 This is for expressing dependencies that don't show up on the
 command line of the command; for example, for a rule that runs a
-script that reads a hardcoded file, the hardcoded file should 
-be an implicit dependency, as changes to the file should cause 
+script that reads a hardcoded file, the hardcoded file should
+be an implicit dependency, as changes to the file should cause
 the output to rebuild, even though it doesn't show up in the arguments.
 +
 Note that dependencies as loaded through depfiles have slightly different
diff --git a/src/version.cc b/src/version.cc
index f97b77d..ca54c37 100644
--- a/src/version.cc
+++ b/src/version.cc
@@ -20,7 +20,7 @@
 
 using namespace std;
 
-const char* kNinjaVersion = "1.13.0.git";
+const char* kNinjaVersion = "1.12.0";
 
 void ParseVersion(const string& version, int* major, int* minor) {
   size_t end = version.find('.');