diff --git a/Documentation/RelNotes/2.21.0.txt b/Documentation/RelNotes/2.21.0.txt
index 5ad2233..cf8298d 100644
--- a/Documentation/RelNotes/2.21.0.txt
+++ b/Documentation/RelNotes/2.21.0.txt
@@ -4,6 +4,14 @@
 Backward Compatibility Notes
 ----------------------------
 
+ * Historically, the "-m" (mainline) option can only be used for "git
+   cherry-pick" and "git revert" when working with a merge commit.
+   This version of Git no longer warns or errors out when working with
+   a single-parent commit, as long as the argument to the "-m" option
+   is 1 (i.e. it has only one parent, and the request is to pick or
+   revert relative to that first parent).  Scripts that relied on the
+   behaviour may get broken with this change.
+
 
 Updates since v2.20
 -------------------
@@ -11,11 +19,11 @@
 UI, Workflows & Features
 
  * The "http.version" configuration variable can be used with recent
-   enough cURL library to force the version of HTTP used to talk when
-   fetching and pushing.
+   enough versions of cURL library to force the version of HTTP used
+   to talk when fetching and pushing.
 
  * Small fixes and features for fast-export and fast-import, mostly on
-   the fast-export side.
+   the fast-export side has been made.
 
  * "git push $there $src:$dst" rejects when $dst is not a fully
    qualified refname and not clear what the end user meant.  The
@@ -62,13 +70,23 @@
  * "git instaweb" learned to drive http.server that comes with
    "batteries included" Python installation (both Python2 & 3).
 
+ * A new encoding UTF-16LE-BOM has been invented to force encoding to
+   UTF-16 with BOM in little endian byte order, which cannot be directly
+   generated by using iconv.
+
+ * A new date format "--date=human" that morphs its output depending
+   on how far the time is from the current time has been introduced.
+   "--date=auto" can be used to use this new format when the output is
+   going to the pager or to the terminal and otherwise the default
+   format.
+
 
 Performance, Internal Implementation, Development Support etc.
 
  * Code clean-up with optimization for the codepath that checks
    (non-)existence of loose objects.
 
- * More codepaths become aware of working with in-core repository
+ * More codepaths have become aware of working with in-core repository
    instance other than the default "the_repository".
 
  * The "strncat()" function is now among the banned functions.
@@ -86,7 +104,6 @@
 
  * Flaky tests can now be repeatedly run under load with the
    "--stress" option.
-   (merge fb7d1e3ac8 sg/stress-test later to maint).
 
  * Documentation/Makefile is getting prepared for manpage
    localization.
@@ -124,6 +141,39 @@
 
  * Cocci rules have been updated to encourage use of strbuf_addbuf().
 
+ * "git rebase --merge" has been reimplemented by reusing the internal
+   machinery used for "git rebase -i".
+
+ * More code in "git bisect" has been rewritten in C.
+
+ * Instead of going through "git-rebase--am" scriptlet to use the "am"
+   backend, the built-in version of "git rebase" learned to drive the
+   "am" backend directly.
+
+ * The assumption to work on the single "in-core index" instance has
+   been reduced from the library-ish part of the codebase.
+
+ * The test lint learned to catch non-portable "sed" options.
+
+ * "git pack-objects" learned another algorithm to compute the set of
+   objects to send, that trades the resulting packfile off to save
+   traversal cost to favor small pushes.
+
+ * The travis CI scripts have been corrected to build Git with the
+   compiler(s) of our choice.
+
+ * "git submodule update" learned to abort early when core.worktree
+   for the submodule is not set correctly to prevent spreading damage.
+
+ * Test suite has been adjusted to run on Azure Pipeline.
+
+ * Running "Documentation/doc-diff x" from anywhere other than the
+   top-level of the working tree did not show the usage string
+   correctly, which has been fixed.
+
+ * Use of the sparse tool got easier to customize from the command
+   line to help developers.
+
 
 Fixes since v2.20
 -----------------
@@ -265,7 +315,7 @@
  * "git add --ignore-errors" did not work as advertised and instead
    worked as an unintended synonym for "git add --renormalize", which
    has been fixed.
-   (merge 9e5da3d055 jk/add-ignore-errors-bit-assignment-fix later to maint).
+   (merge e2c2a37545 jk/add-ignore-errors-bit-assignment-fix later to maint).
 
  * On a case-insensitive filesystem, we failed to compare the part of
    the path that is above the worktree directory in an absolute
@@ -309,6 +359,50 @@
  * "git fetch" output cleanup.
    (merge dc40b24df4 nd/fetch-compact-update later to maint).
 
+ * "git cat-file --batch" reported a dangling symbolic link by
+   mistake, when it wanted to report that a given name is ambiguous.
+
+ * Documentation around core.crlf has been updated.
+   (merge c9446f0504 jk/autocrlf-overrides-eol-doc later to maint).
+
+ * The documentation of "git commit-tree" said that the command
+   understands "--gpg-sign" in addition to "-S", but the command line
+   parser did not know about the longhand, which has been corrected.
+
+ * "git rebase -x $cmd" did not reject multi-line command, even though
+   the command is incapable of handling such a command.  It now is
+   rejected upfront.
+   (merge c762aada1a pw/rebase-x-sanity-check later to maint).
+
+ * Output from "git help" was not correctly aligned, which has been
+   fixed.
+   (merge 6195a76da4 nd/help-align-command-desc later to maint).
+
+ * The "git submodule summary" subcommand showed shortened commit
+   object names by mechanically truncating them at 7-hexdigit, which
+   has been improved to let "rev-parse --short" scale the length of
+   the abbreviation with the size of the repository.
+   (merge 0586a438f6 sh/submodule-summary-abbrev-fix later to maint).
+
+ * The way the OSX build jobs updates its build environment used the
+   "--quiet" option to "brew update" command, but it wasn't all that
+   quiet to be useful.  The use of the option has been replaced with
+   an explicit redirection to the /dev/null (which incidentally would
+   have worked around a breakage by recent updates to homebrew, which
+   has fixed itself already).
+   (merge a1ccaedd62 sg/travis-osx-brew-breakage-workaround later to maint).
+
+ * "git --work-tree=$there --git-dir=$here describe --dirty" did not
+   work correctly as it did not pay attention to the location of the
+   worktree specified by the user by mistake, which has been
+   corrected.
+   (merge c801170b0c ss/describe-dirty-in-the-right-directory later to maint).
+
+ * "git fetch" over protocol v2 that needs to make a second connection
+   to backfill tags did not clear a variable that holds shallow
+   repository information correctly, leading to an access of freed
+   piece of memory.
+
  * Code cleanup, docfix, build fix, etc.
    (merge 89ba9a79ae hb/t0061-dot-in-path-fix later to maint).
    (merge d173e799ea sb/diff-color-moved-config-option-fixup later to maint).
@@ -325,8 +419,11 @@
    (merge 0650614982 cy/completion-typofix later to maint).
    (merge 6881925ef5 rs/sha1-file-close-mapped-file-on-error later to maint).
    (merge bd8d6f0def en/show-ref-doc-fix later to maint).
-   (merge 1747125e2c cc/parial-clone-doc-typofix later to maint).
+   (merge 1747125e2c cc/partial-clone-doc-typofix later to maint).
    (merge e01378753d cc/fetch-error-message-fix later to maint).
    (merge 54e8c11215 jk/remote-insteadof-cleanup later to maint).
    (merge d609615f48 js/test-git-installed later to maint).
    (merge ba170517be ja/doc-style-fix later to maint).
+   (merge 86fb1c4e77 km/init-doc-typofix later to maint).
+   (merge 5cfd4a9d10 nd/commit-doc later to maint).
+   (merge 9fce19a431 ab/diff-tree-doc-fix later to maint).
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index 0a3ccac..1d4886b 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 GVF=GIT-VERSION-FILE
-DEF_VER=v2.20.GIT
+DEF_VER=v2.21.0-rc0
 
 LF='
 '
