Merge "Escape marked-down angle brackets in release_noter" into stable-3.3
diff --git a/tools/release_noter/release_noter.py b/tools/release_noter/release_noter.py
index 2702764..5ba1e3a 100644
--- a/tools/release_noter/release_noter.py
+++ b/tools/release_noter/release_noter.py
@@ -221,6 +221,7 @@
     for noted_change in submodules[commit.submodule]:
         if noted_change.subject == submodule_change.subject:
             return noted_change
+    escape_these(submodule_change)
     submodule_change.issues = set()
     submodules[commit.submodule].append(submodule_change)
     return submodule_change
@@ -242,12 +243,18 @@
             if noted_commit.subject == commit.subject:
                 return Commit()
     if newly_released(commit.sha1, release):
+        escape_these(commit)
         commits.append(commit)
     else:
         print(f"Previously released: commit {commit.sha1}")
     return Commit()
 
 
+def escape_these(in_change):
+    in_change.subject = in_change.subject.replace("<", "\\<")
+    in_change.subject = in_change.subject.replace(">", "\\>")
+
+
 def print_commits(commits, md):
     md.write("\n## Core Changes\n")
     for commit in commits: