diff --git a/wiki/Configuration-Examples.md b/wiki/Configuration-Examples.md
index 76289b40..97c92134 100644
--- a/wiki/Configuration-Examples.md
+++ b/wiki/Configuration-Examples.md
@@ -21,14 +21,12 @@ sonarr:
api_key: f7e74ba6c80046e39e076a27af5a8444
quality_definition: hybrid
release_profiles:
- - type: anime
- strict_negative_scores: true
- tags:
- - anime
- - type: series
+ - trash_ids:
+ - EBC725268D687D588A20CBC5F97E538B # Low Quality Groups
+ - 1B018E0C53EC825085DD911102E2CA36 # Release Sources (Streaming Service)
+ - 71899E6C303A07AF0E4746EFF9873532 # P2P Groups + Repack/Proper
strict_negative_scores: false
- tags:
- - tv
+ tags: [tv]
radarr:
- base_url: http://localhost:7878
@@ -62,9 +60,10 @@ sonarr:
- base_url: http://localhost:8989
api_key: f7e74ba6c80046e39e076a27af5a8444
release_profiles:
- - type: anime
- tags:
- - anime
+ - trash_ids:
+ - d428eda85af1df8904b4bbe4fc2f537c # Anime - First release profile
+ - 6cd9e10bb5bb4c63d2d7cd3279924c7b # Anime - Second release profile
+ tags: [anime]
```
`sonarr-quality-definition.yml`:
@@ -101,12 +100,17 @@ sonarr:
api_key: f7e74ba6c80046e39e076a27af5a8444
quality_definition: anime
release_profiles:
- - type: anime
+ - trash_ids:
+ - d428eda85af1df8904b4bbe4fc2f537c # Anime - First release profile
+ - 6cd9e10bb5bb4c63d2d7cd3279924c7b # Anime - Second release profile
- base_url: http://instance_two:8989
api_key: bf99da49d0b0488ea34e4464aa63a0e5
quality_definition: series
release_profiles:
- - type: series
+ - trash_ids:
+ - EBC725268D687D588A20CBC5F97E538B # Low Quality Groups
+ - 1B018E0C53EC825085DD911102E2CA36 # Release Sources (Streaming Service)
+ - 71899E6C303A07AF0E4746EFF9873532 # P2P Groups + Repack/Proper
```
In the example above, two separate instances, each with its own API key, will be updated. One
diff --git a/wiki/Configuration-Reference.md b/wiki/Configuration-Reference.md
index a18fe18d..8489fcc0 100644
--- a/wiki/Configuration-Reference.md
+++ b/wiki/Configuration-Reference.md
@@ -43,16 +43,23 @@ sonarr:
# Release Profile Settings
release_profiles:
- - type: anime
+ - trash_ids:
+ - d428eda85af1df8904b4bbe4fc2f537c # Anime - First release profile
+ - 6cd9e10bb5bb4c63d2d7cd3279924c7b # Anime - Second release profile
strict_negative_scores: true
- tags:
- - anime
- - type: series
+ tags: [anime]
+ - trash_ids:
+ - EBC725268D687D588A20CBC5F97E538B # Low Quality Groups
+ - 1B018E0C53EC825085DD911102E2CA36 # Release Sources (Streaming Service)
+ - 71899E6C303A07AF0E4746EFF9873532 # P2P Groups + Repack/Proper
strict_negative_scores: false
+ tags: [tv]
+ - trash_ids: [76e060895c5b8a765c310933da0a5357] # Optionals
filter:
- include_optional: true
- tags:
- - tv
+ include:
+ - 436f5a7d08fbf02ba25cb5e5dfe98e55 # Ignore Dolby Vision without HDR10 fallback
+ - f3f0f3691c6a1988d4a02963e69d11f2 # Ignore The Group -SCENE
+ tags: [tv]
```
### Basic Settings
@@ -91,11 +98,8 @@ sonarr:
A list of release profiles to parse from the guide. Each object in this list supports the below
properties.
- - `type` **(Required)**
- Must be one of the following values:
-
- - `anime`: Parse the [Anime Release Profile][sonarr_profile_anime] page from the TRaSH Guide.
- - `series`: Parse the [WEB-DL Release Profile][sonarr_profile_series] page from the TRaSH Guide.
+ - `trash_ids` **(Required)**
+ A list of one or more Trash IDs taken from [the Trash Guide Sonarr JSON files][sonarrjson].
- `strict_negative_scores` (Optional; *Default: `false`*)
Enables preferred term scores less than 0 to be instead treated as "Must Not Contain" (ignored)
@@ -108,16 +112,23 @@ sonarr:
present) are removed and replaced with only the tags in this list. If no tags are specified, no
tags will be set on the release profile.
- - `filter` (Optional; *Default: Determined by child properties*)
+ - `filter` (Optional)
Defines various ways that release profile terms from the guide are synchronized with Sonarr. Any
- combination of the below properties may be specified here:
+ filters below that takes a list of `trash_id` values, those values come, again, from the [Sonarr
+ JSON Files][sonarrjson]. There is a `trash_id` field next to each `term` field; that is what you
+ use.
+
+ - `include`
+ A list of `trash_id` values representing terms (Required, Ignored, or Preferred) that should
+ be included in the created Release Profile in Sonarr. Terms that are NOT specified here are
+ excluded automatically. Not compatible with `exclude` and will take precedence over it.
- - `include_optional` (Optional; *Default: `false`*)
- Set to `true` to include terms marked "Optional" in the guide. If set to `false`, optional
- terms are *not* synchronized to Sonarr.
+ - `exclude`
+ A list of `trash_id` values representing terms (Required, Ignored, or Preferred) that should
+ be excluded from the created Release Profile in Sonarr. Terms that are NOT specified here are
+ included automatically. Not compatible with `include`; this list is not used if it is present.
-[sonarr_profile_anime]: https://trash-guides.info/Sonarr/Sonarr-Release-Profile-RegEx-Anime/
-[sonarr_profile_series]: https://trash-guides.info/Sonarr/Sonarr-Release-Profile-RegEx/
+[sonarrjson]: https://github.com/TRaSH-/Guides/tree/master/docs/json/sonarr
## Radarr
diff --git a/wiki/Upgrade-Guide.md b/wiki/Upgrade-Guide.md
new file mode 100644
index 00000000..fd67b10b
--- /dev/null
+++ b/wiki/Upgrade-Guide.md
@@ -0,0 +1,86 @@
+# Version 2.0
+
+This version introduces changes to the way Sonarr Release Profiles are specified in your YAML
+configuration (`trash.yml`). As such, changes are required to your YAML to avoid errors. First,
+visit the "Series Types" section to replace the `type` attribute with `trash_ids` as needed. Then
+check out the "Term Filters" section to see about removing the `include_optionals` property.
+
+## Series Types
+
+The `type` property under `release_profiles` has been removed. Replaced by a new `trash_ids`
+property.
+
+### Drop-In Replacement for Series
+
+For `series`, replace this:
+
+```yml
+release_profiles:
+ - type: series
+```
+
+With this (or you can customize it if you want less):
+
+```yml
+release_profiles:
+ - trash_ids:
+ - EBC725268D687D588A20CBC5F97E538B # Low Quality Groups
+ - 1B018E0C53EC825085DD911102E2CA36 # Release Sources (Streaming Service)
+ - 71899E6C303A07AF0E4746EFF9873532 # P2P Groups + Repack/Proper
+```
+
+### Drop-In Replacement for Anime
+
+For `series`, replace this:
+
+```yml
+release_profiles:
+ - type: anime
+```
+
+With this (or you can customize it if you want less):
+
+```yml
+release_profiles:
+ - trash_ids:
+ - d428eda85af1df8904b4bbe4fc2f537c # Anime - First release profile
+ - 6cd9e10bb5bb4c63d2d7cd3279924c7b # Anime - Second release profile
+```
+
+## Term Filters
+
+The following changes apply to YAML under the `filter` property.
+
+- Property `include_optional` removed.
+- `include` and `exclude` properties added to explicitly choose terms to include or exclude,
+ respectively.
+
+### Replacement Examples
+
+If you are coming from YAML like this:
+
+```yml
+release_profiles:
+ - trash_ids: [EBC725268D687D588A20CBC5F97E538B]
+ strict_negative_scores: false
+ filter:
+ include_optional: true
+ tags:
+ - tv
+```
+
+Simply remove the `include_optional` property above, to get this:
+
+```yml
+release_profiles:
+ - trash_ids: [EBC725268D687D588A20CBC5F97E538B]
+ strict_negative_scores: false
+ tags:
+ - tv
+```
+
+In this release, since you now have the ability to specifically include optionals that you want, I
+recommend visiting the [Configuration Reference] and learning more about the `include` and `exclude`
+filter lists.
+
+[Configuration Reference]: https://github.com/rcdailey/trash-updater/wiki/Configuration-Reference