From e8a0349c4b582146ac646a8745d45da84a08b18c Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Sat, 5 Nov 2022 07:49:03 +0100
Subject: [PATCH] fix(changelogs): better release name trimming (#18775)

---
 .../repository/update/pr/changelog/release-notes.spec.ts    | 4 ++--
 lib/workers/repository/update/pr/changelog/release-notes.ts | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/workers/repository/update/pr/changelog/release-notes.spec.ts b/lib/workers/repository/update/pr/changelog/release-notes.spec.ts
index 120c93f540..e4066da18a 100644
--- a/lib/workers/repository/update/pr/changelog/release-notes.spec.ts
+++ b/lib/workers/repository/update/pr/changelog/release-notes.spec.ts
@@ -385,7 +385,7 @@ describe('workers/repository/update/pr/changelog/release-notes', () => {
         .scope('https://api.github.com/')
         .get('/repos/some/other-repository/releases?per_page=100')
         .reply(200, [
-          { tag_name: `${prefix}1.0.0` },
+          { tag_name: `${prefix}1.0.0`, name: 'Release v1.0.0' },
           {
             tag_name: `${prefix}1.0.1`,
             name: '1.0.1',
@@ -424,7 +424,7 @@ describe('workers/repository/update/pr/changelog/release-notes', () => {
           { tag_name: `${prefix}1.0.0` },
           {
             tag_name: `${prefix}1.0.1`,
-            name: '1.0.1 some release',
+            name: 'v1.0.1 some release',
             body: 'some body',
           },
         ]);
diff --git a/lib/workers/repository/update/pr/changelog/release-notes.ts b/lib/workers/repository/update/pr/changelog/release-notes.ts
index 5224426a54..1162de48d4 100644
--- a/lib/workers/repository/update/pr/changelog/release-notes.ts
+++ b/lib/workers/repository/update/pr/changelog/release-notes.ts
@@ -107,10 +107,10 @@ export function massageName(
 ): string | undefined {
   let name = input ?? '';
 
-  // Remove the current tag from the name if it's used as a prefix
-  if (version && name.startsWith(version)) {
-    name = name.slice(version.length);
+  if (version) {
+    name = name.replace(RegExp(`^(Release )?v?${version}`, 'i'), '').trim();
   }
+
   name = name.trim();
   if (!name.length) {
     return undefined;
-- 
GitLab