Repository: TRaSH-Guides/Guides
Pull request #2305: feat(starr): Improve streaming services recognition after renaming.
Author: login: TRaSH-
Labels: name: Area: Sonarr
description: Sonarr Related
name: Area: Radarr
description: Radarr Related
name: Area: Backend
description: Backend Changes, not related to a specific section
name: Area: Starr Custom Formats
description: Issue is related to custom formats
Created: 2025-02-27T21:27:57Z | Merged: 2025-03-13T23:19:27Z

# Pull Request

## Purpose

<!-- Please provide a detailed description of why you created this pull request. -->

It seems that some streaming services' custom formats no longer matched after the rename, and when renamed a second time, they lost the streaming services completely.

## Approach

<!-- If this pull request is created to solve an issue, please explain how this change addresses the problem. -->

Improve streaming services recognition after renaming.

## Open Questions and Pre-Merge TODOs

<!-- - [ ] Use GitHub checklists. When solved, check the box and explain the answer. -->

<!-- ## Learning

If you're adding a new Custom Format, make sure you follow the [Radarr/Sonarr Custom Format (JSON) Guidelines](https://github.com/TRaSH-Guides/Guides/blob/master/CONTRIBUTING.md). -->

## Requirements

- [x] These changes meet the standards for [contributing](https://github.com/TRaSH-Guides/Guides/blob/master/CONTRIBUTING.md).
- [x] I have read the [code of conduct](https://github.com/TRaSH-Guides/Guides/blob/master/.github/CODE_OF_CONDUCT.md).



Diff:
diff --git a/docs/json/radarr/cf/crav.json b/docs/json/radarr/cf/crav.json
index f67ef4945e..6b61c7dcf9 100644
--- a/docs/json/radarr/cf/crav.json
+++ b/docs/json/radarr/cf/crav.json
@@ -8,11 +8,20 @@
       "name": "Crave",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(crav(e)?)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
       }
     },
+    {
+      "name": "Crave Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(CRAV)\\b|\\b(CRAV)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/radarr/cf/hbo.json b/docs/json/radarr/cf/hbo.json
index 9fd54291ca..773f9b01b6 100644
--- a/docs/json/radarr/cf/hbo.json
+++ b/docs/json/radarr/cf/hbo.json
@@ -7,11 +7,20 @@
       "name": "HBO",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(hbo)(?![ ._-]max)\\b(?=[ ._-]web[ ._-]?(dl|rip)\\b)"
       }
     },
+    {
+      "name": "HBO Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(HBO)\\b|\\b(HBO)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/radarr/cf/hmax.json b/docs/json/radarr/cf/hmax.json
index bda624618f..2d12d560ac 100644
--- a/docs/json/radarr/cf/hmax.json
+++ b/docs/json/radarr/cf/hmax.json
@@ -7,11 +7,20 @@
       "name": "HBO Max",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(hmax|hbom|hbo[ ._-]?max)\\b(?=[ ._-]web[ ._-]?(dl|rip)\\b)"
       }
     },
+    {
+      "name": "HMAX Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(HMAX)\\b|\\b(HMAX)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/radarr/cf/it.json b/docs/json/radarr/cf/it.json
index 474ad1662d..462a24b682 100644
--- a/docs/json/radarr/cf/it.json
+++ b/docs/json/radarr/cf/it.json
@@ -7,11 +7,20 @@
       "name": "iTunes",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(it|itunes)\\b(?=[ ._-]web[ ._-]?(dl|rip)\\b)"
       }
     },
+    {
+      "name": "iT Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(iT)\\b|\\b(iT)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/radarr/cf/itvx.json b/docs/json/radarr/cf/itvx.json
index e21d1f7c9b..ed1643550a 100644
--- a/docs/json/radarr/cf/itvx.json
+++ b/docs/json/radarr/cf/itvx.json
@@ -8,9 +8,18 @@
       "name": "ITVX",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
+      "fields": {
+        "value": "\\b(ITVX?)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
+      }
+    },
+    {
+      "name": "ITVX Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
       "fields": {
-        "value": "\\bITV(X)?\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
+        "value": "\\[(ITVX)\\b|\\b(ITVX)\\]"
       }
     },
     {
diff --git a/docs/json/radarr/cf/max.json b/docs/json/radarr/cf/max.json
index c25e9e9298..3cccd0098d 100644
--- a/docs/json/radarr/cf/max.json
+++ b/docs/json/radarr/cf/max.json
@@ -8,11 +8,20 @@
       "name": "Max",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b((?<!hbo[ ._-])max)\\b(?=[ ._-]web[ ._-]?(dl|rip)\\b)"
       }
     },
+    {
+      "name": "MAX Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(MAX)\\b|\\b(MAX)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/radarr/cf/now.json b/docs/json/radarr/cf/now.json
index 63439e943a..5ad620f7c1 100644
--- a/docs/json/radarr/cf/now.json
+++ b/docs/json/radarr/cf/now.json
@@ -7,11 +7,20 @@
       "name": "NOW",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(now)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
       }
     },
+    {
+      "name": "NOW Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(NOW)\\b|\\b(NOW)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/radarr/cf/stan.json b/docs/json/radarr/cf/stan.json
index be6e5008e2..021b3c2830 100644
--- a/docs/json/radarr/cf/stan.json
+++ b/docs/json/radarr/cf/stan.json
@@ -8,11 +8,20 @@
       "name": "Stan",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(stan)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
       }
     },
+    {
+      "name": "Stan Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(STAN)\\b|\\b(STAN)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/radarr/cf/tving.json b/docs/json/radarr/cf/tving.json
index aa59a42c88..d149018054 100644
--- a/docs/json/radarr/cf/tving.json
+++ b/docs/json/radarr/cf/tving.json
@@ -7,11 +7,20 @@
       "name": "TVING",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(tving)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
       }
     },
+    {
+      "name": "TVING Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(TVING)\\b|\\b(TVING)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/radarr/cf/viu.json b/docs/json/radarr/cf/viu.json
index fc2264a400..68bd1b7c25 100644
--- a/docs/json/radarr/cf/viu.json
+++ b/docs/json/radarr/cf/viu.json
@@ -7,11 +7,20 @@
       "name": "VIU",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(viu)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
       }
     },
+    {
+      "name": "VIU Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(VIU)\\b|\\b(VIU)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/sonarr/cf/cc.json b/docs/json/sonarr/cf/cc.json
index 1125c16cfa..42014f56da 100644
--- a/docs/json/sonarr/cf/cc.json
+++ b/docs/json/sonarr/cf/cc.json
@@ -11,11 +11,20 @@
       "name": "Comedy Central",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(CC)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
       }
     },
+    {
+      "name": "CC Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(CC)\\b|\\b(CC)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/sonarr/cf/crav.json b/docs/json/sonarr/cf/crav.json
index 4056a398f1..31221fa223 100644
--- a/docs/json/sonarr/cf/crav.json
+++ b/docs/json/sonarr/cf/crav.json
@@ -11,11 +11,20 @@
       "name": "Crave",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(crav(e)?)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
       }
     },
+    {
+      "name": "Crave Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(CRAV)\\b|\\b(CRAV)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/sonarr/cf/dscp.json b/docs/json/sonarr/cf/dscp.json
index 82ce929291..588eba31e0 100644
--- a/docs/json/sonarr/cf/dscp.json
+++ b/docs/json/sonarr/cf/dscp.json
@@ -11,11 +11,20 @@
       "name": "Discovery+",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b((dscp|dcp|disc)\\b|dscv\\+?)[ ._-]web[ ._-]?(dl|rip)?\\b"
       }
     },
+    {
+      "name": "DSCP Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(DSCP)\\b|\\b(DSCP)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/sonarr/cf/hbo.json b/docs/json/sonarr/cf/hbo.json
index 1f130c3002..e1e899acdb 100644
--- a/docs/json/sonarr/cf/hbo.json
+++ b/docs/json/sonarr/cf/hbo.json
@@ -10,11 +10,20 @@
       "name": "HBO",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(hbo)(?![ ._-]max)\\b(?=[ ._-]web[ ._-]?(dl|rip)\\b)"
       }
     },
+    {
+      "name": "HBO Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(HBO)\\b|\\b(HBO)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/sonarr/cf/hmax.json b/docs/json/sonarr/cf/hmax.json
index cd5d931ed9..fc8e799547 100644
--- a/docs/json/sonarr/cf/hmax.json
+++ b/docs/json/sonarr/cf/hmax.json
@@ -10,11 +10,20 @@
       "name": "HBO Max",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(hmax|hbom|hbo[ ._-]?max)\\b(?=[ ._-]web[ ._-]?(dl|rip)\\b)"
       }
     },
+    {
+      "name": "HMAX Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(HMAX)\\b|\\b(HMAX)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/sonarr/cf/it.json b/docs/json/sonarr/cf/it.json
index 2c72849464..2075a11607 100644
--- a/docs/json/sonarr/cf/it.json
+++ b/docs/json/sonarr/cf/it.json
@@ -10,10 +10,37 @@
       "name": "iTunes",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(it|itunes)\\b(?=[ ._-]web[ ._-]?(dl|rip)\\b)"
       }
+    },
+    {
+      "name": "iT Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(iT)\\b|\\b(iT)\\]"
+      }
+    },
+    {
+      "name": "WEBDL",
+      "implementation": "SourceSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": 3
+      }
+    },
+    {
+      "name": "WEBRIP",
+      "implementation": "SourceSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": 4
+      }
     }
   ]
 }
diff --git a/docs/json/sonarr/cf/itvx.json b/docs/json/sonarr/cf/itvx.json
index 0fb9040b5a..cb8934e8d0 100644
--- a/docs/json/sonarr/cf/itvx.json
+++ b/docs/json/sonarr/cf/itvx.json
@@ -11,9 +11,18 @@
       "name": "ITVX",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
+      "fields": {
+        "value": "\\b(ITVX?)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
+      }
+    },
+    {
+      "name": "ITVX Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
       "fields": {
-        "value": "\\bITV(X)?\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
+        "value": "\\[(ITVX)\\b|\\b(ITVX)\\]"
       }
     },
     {
diff --git a/docs/json/sonarr/cf/max.json b/docs/json/sonarr/cf/max.json
index 3f7ae7effb..a9a3537a20 100644
--- a/docs/json/sonarr/cf/max.json
+++ b/docs/json/sonarr/cf/max.json
@@ -11,11 +11,20 @@
       "name": "Max",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b((?<!hbo[ ._-])max)\\b(?=[ ._-]web[ ._-]?(dl|rip)\\b)"
       }
     },
+    {
+      "name": "MAX Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(MAX)\\b|\\b(MAX)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/sonarr/cf/now.json b/docs/json/sonarr/cf/now.json
index b96d807251..1fa7445c32 100644
--- a/docs/json/sonarr/cf/now.json
+++ b/docs/json/sonarr/cf/now.json
@@ -10,11 +10,20 @@
       "name": "NOW",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(now)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
       }
     },
+    {
+      "name": "NOW Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(NOW)\\b|\\b(NOW)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/sonarr/cf/red.json b/docs/json/sonarr/cf/red.json
index c8d7f23fd5..8558e43a99 100644
--- a/docs/json/sonarr/cf/red.json
+++ b/docs/json/sonarr/cf/red.json
@@ -11,11 +11,20 @@
       "name": "YouTube Red",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(red|youtube red)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
       }
     },
+    {
+      "name": "RED Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(RED)\\b|\\b(RED)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/sonarr/cf/sho.json b/docs/json/sonarr/cf/sho.json
index e5f1450ca5..a0fa632dbe 100644
--- a/docs/json/sonarr/cf/sho.json
+++ b/docs/json/sonarr/cf/sho.json
@@ -11,11 +11,20 @@
       "name": "SHOWTIME",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(sho|showtime)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
       }
     },
+    {
+      "name": "SHO Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(SHO)\\b|\\b(SHO)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/sonarr/cf/stan.json b/docs/json/sonarr/cf/stan.json
index e9280d9d32..6ad600aad3 100644
--- a/docs/json/sonarr/cf/stan.json
+++ b/docs/json/sonarr/cf/stan.json
@@ -11,11 +11,20 @@
       "name": "Stan",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(stan)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
       }
     },
+    {
+      "name": "Stan Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(STAN)\\b|\\b(STAN)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/sonarr/cf/tving.json b/docs/json/sonarr/cf/tving.json
index 572b642640..30bb45ac65 100644
--- a/docs/json/sonarr/cf/tving.json
+++ b/docs/json/sonarr/cf/tving.json
@@ -10,11 +10,20 @@
       "name": "TVING",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(tving)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
       }
     },
+    {
+      "name": "TVING Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(TVING)\\b|\\b(TVING)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",
diff --git a/docs/json/sonarr/cf/viu.json b/docs/json/sonarr/cf/viu.json
index 8b8b9b9c89..0c056e2889 100644
--- a/docs/json/sonarr/cf/viu.json
+++ b/docs/json/sonarr/cf/viu.json
@@ -10,11 +10,20 @@
       "name": "VIU",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(viu)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
       }
     },
+    {
+      "name": "VIU Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(VIU)\\b|\\b(VIU)\\]"
+      }
+    },
     {
       "name": "WEBDL",
       "implementation": "SourceSpecification",


Reviews:
user: login: nuxencs
state: CHANGES_REQUESTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-06T22:56:56Z
user: login: nuxencs
body: lgtm, but probably a good idea to have @rg9400 to have a look as well just to be sure 😄 
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T21:00:09Z

Review comments:
diff_hunk: @@ -8,11 +8,20 @@
       "name": "Crave",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(crav(e)?)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
       }
     },
+    {
+      "name": "Crave Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(Crave)\\b|\\b(Crave)\\]"
path: docs/json/radarr/cf/crav.json
user: login: nuxencs
body: ```suggestion
        "value": "\\[(CRAV)\\b|\\b(CRAV)\\]"
```
created_at: 2025-03-06T22:48:22Z
author_association: CONTRIBUTOR
diff_hunk: @@ -8,11 +8,20 @@
       "name": "ITVX",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\bITV(X)?\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
path: docs/json/radarr/cf/itvx.json
user: login: nuxencs
body: ```suggestion
        "value": "\\b(ITVX?)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
```
created_at: 2025-03-06T22:51:19Z
author_association: CONTRIBUTOR
diff_hunk: @@ -8,11 +8,20 @@
       "name": "Stan",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(stan)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
       }
     },
+    {
+      "name": "Stan Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(Stan)\\b|\\b(Stan)\\]"
path: docs/json/radarr/cf/stan.json
user: login: nuxencs
body: ```suggestion
        "value": "\\[(STAN)\\b|\\b(STAN)\\]"
```
created_at: 2025-03-06T22:51:59Z
author_association: CONTRIBUTOR
diff_hunk: @@ -11,11 +11,20 @@
       "name": "Crave",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(crav(e)?)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
       }
     },
+    {
+      "name": "Crave Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(Crave)\\b|\\b(Crave)\\]"
path: docs/json/sonarr/cf/crav.json
user: login: nuxencs
body: ```suggestion
        "value": "\\[(CRAV)\\b|\\b(CRAV)\\]"
```
created_at: 2025-03-06T22:53:30Z
author_association: CONTRIBUTOR
diff_hunk: @@ -11,11 +11,20 @@
       "name": "ITVX",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\bITV(X)?\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
path: docs/json/sonarr/cf/itvx.json
user: login: nuxencs
body: ```suggestion
        "value": "\\b(ITVX?)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
```
created_at: 2025-03-06T22:55:06Z
author_association: CONTRIBUTOR
diff_hunk: @@ -11,11 +11,20 @@
       "name": "Stan",
       "implementation": "ReleaseTitleSpecification",
       "negate": false,
-      "required": true,
+      "required": false,
       "fields": {
         "value": "\\b(stan)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
       }
     },
+    {
+      "name": "Stan Rename",
+      "implementation": "ReleaseTitleSpecification",
+      "negate": false,
+      "required": false,
+      "fields": {
+        "value": "\\[(Stan)\\b|\\b(Stan)\\]"
path: docs/json/sonarr/cf/stan.json
user: login: nuxencs
body: ```suggestion
        "value": "\\[(STAN)\\b|\\b(STAN)\\]"
```
created_at: 2025-03-06T22:56:30Z
author_association: CONTRIBUTOR

PR comments:
user: login: github-actions[bot]
created_at: 2025-02-27T21:30:25Z
body: Deploying with ⚡ Cloudflare Pages<br><table><tr><td><strong>Latest commit:</strong></td><td><code>fb4ee4c3cfb18af60f8a2cb00f7712ab809cf594</code></td></tr><tr><td><strong>Status:</strong></td><td>&nbsp;✅&nbsp; Deploy successful!</td></tr><tr><td><strong>Preview URL:</strong></td><td><a href='https://e835aaf0.trash-guides-6xu.pages.dev'>https://e835aaf0.trash-guides-6xu.pages.dev</a></td></tr><tr><td><strong>Branch Preview URL:</strong></td><td><a href='https://pr-2305.trash-guides-6xu.pages.dev'>https://pr-2305.trash-guides-6xu.pages.dev</a></td></tr></table>

author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-01T22:35:07Z
body: Deploying with ⚡ Cloudflare Pages<br><table><tr><td><strong>Latest commit:</strong></td><td><code>c8c04c40016ed3ff66a9c7d0123e0f2595cd9832</code></td></tr><tr><td><strong>Status:</strong></td><td>&nbsp;✅&nbsp; Deploy successful!</td></tr><tr><td><strong>Preview URL:</strong></td><td><a href='https://c0245c79.trash-guides-6xu.pages.dev'>https://c0245c79.trash-guides-6xu.pages.dev</a></td></tr><tr><td><strong>Branch Preview URL:</strong></td><td><a href='https://pr-2305.trash-guides-6xu.pages.dev'>https://pr-2305.trash-guides-6xu.pages.dev</a></td></tr></table>

author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-06T23:12:00Z
body: Deploying with ⚡ Cloudflare Pages<br><table><tr><td><strong>Latest commit:</strong></td><td><code>08cd618c91a3670c28c40744434f734ec221a0b6</code></td></tr><tr><td><strong>Status:</strong></td><td>&nbsp;✅&nbsp; Deploy successful!</td></tr><tr><td><strong>Preview URL:</strong></td><td><a href='https://7e50b54e.trash-guides-6xu.pages.dev'>https://7e50b54e.trash-guides-6xu.pages.dev</a></td></tr><tr><td><strong>Branch Preview URL:</strong></td><td><a href='https://pr-2305.trash-guides-6xu.pages.dev'>https://pr-2305.trash-guides-6xu.pages.dev</a></td></tr></table>

author_association: CONTRIBUTOR
user: login: rg9400
created_at: 2025-03-13T23:15:47Z
body: I'm bad at catching typos, but from my review, it also looks good.
author_association: CONTRIBUTOR
user: login: moogfennec
created_at: 2025-03-18T12:50:04Z
body: Hey, did this come with a change to the [naming scheme] in radarr/sonarr?
author_association: NONE
user: login: bakerboy448
created_at: 2025-03-18T13:09:14Z
body: No this does not change the naming schema. It would only impact the custom format and what it matches against...which may impact the end name.

Please visit Discord for Support
author_association: CONTRIBUTOR