Added `item_genre` [item metadata detail](https://metamanager.wiki/en/latest/metadata/details/metadata.html#item-metadata-details) to update the genres of items in a collection
| `actor` | Uses the actor tags to match | ✅ | ✅ | ❌ |
| `audio_language` | Uses the audio language tags to match | ✅ | ✅ | ❌ |
| `collection` | Uses the collection tags to match for top level collections | ✅ | ✅ | ❌ |
| `season_collection` | Uses the collection tags to match for season collections | ❌ | ✅ | ❌ |
| `episode_collection` | Uses the collection tags to match for episode collections | ❌ | ✅ | ❌ |
| `content_rating` | Uses the content rating tags to match | ✅ | ✅ | ❌ |
| `country` | Uses the country tags to match | ✅ | ❌ | ❌ |
| `decade`<sup>1</sup> | Uses the year tag to match the decade | ✅ | ❌ | ❌ |
| `director` | Uses the director tags to match | ✅ | ❌ | ❌ |
| `genre` | Uses the genre tags to match | ✅ | ✅ | ❌ |
| `label` | Uses the label tags to match for top level collections | ✅ | ✅ | ❌ |
| `season_label` | Uses the label tags to match for season collections | ❌ | ✅ | ❌ |
| `episode_label` | Uses the label tags to match for episode collections | ❌ | ✅ | ❌ |
| `network` | Uses the network tags to match<br>**Only works with the New Plex TV Agent** | ❌ | ✅ | ❌ |
| `producer` | Uses the actor tags to match | ✅ | ❌ | ❌ |
| `resolution` | Uses the resolution tags to match | ✅ | ✅ | ❌ |
| `subtitle_language` | Uses the subtitle language tags to match | ✅ | ✅ | ❌ |
| `writer` | Uses the writer tags to match | ✅ | ❌ | ❌ |
| `year`<sup>1</sup> | Uses the year tag to match | ✅ | ✅ | ❌ |
| `episode_year`<sup>1</sup> | Uses the year tag to match | ❌ | ✅ | ❌ |
| `artist_genre` | Uses the Artist's Genre attribute to match | ❌ | ❌ | ✅ |
| `artist_collection` | Uses the Artist's Collection attribute to match | ❌ | ❌ | ✅ |
| `artist_country` | Uses the Artist's Country attribute to match | ❌ | ❌ | ✅ |
| `artist_mood` | Uses the Artist's Mood attribute to match | ❌ | ❌ | ✅ |
| `artist_style` | Uses the Artist's Style attribute to match | ❌ | ❌ | ✅ |
| `artist_label` | Uses the Artist's Label attribute to match | ❌ | ❌ | ✅ |
| `album_genre` | Uses the Album's Genre attribute to match | ❌ | ❌ | ✅ |
| `album_mood` | Uses the Album's Mood attribute to match | ❌ | ❌ | ✅ |
| `album_style` | Uses the Album's Style attribute to match | ❌ | ❌ | ✅ |
| `album_format` | Uses the Album's Format attribute to match | ❌ | ❌ | ✅ |
| `album_type` | Uses the Album's Type attribute to match | ❌ | ❌ | ✅ |
| `album_collection` | Uses the Album's Collection attribute to match | ❌ | ❌ | ✅ |
| `album_source` | Uses the Album's Source attribute to match | ❌ | ❌ | ✅ |
| `album_label` | Uses the Album's Label attribute to match | ❌ | ❌ | ✅ |
| `track_mood` | Uses the Track's Mood attribute to match | ❌ | ❌ | ✅ |
| `track_source` | Uses the Track's Style attribute to match | ❌ | ❌ | ✅ |
| `track_label` | Uses the Track's Label attribute to match | ❌ | ❌ | ✅ |
<sup>1</sup> You can use `current_year` to have PMM use the current years value. This can be combined with a `-#` at the end to subtract that number of years. i.e. `current-2`
## Date Searches
@ -305,28 +307,30 @@ No number search can take multiple values.
| `duration` | Uses the duration attribute to match using minutes<br>**Minimum:** `0` | ✅ | ❌ | ❌ |
| `plays` | Uses the plays attribute to match<br>**Minimum:** `0` | ✅ | ✅ | ❌ |
| `episode_plays` | Uses the Episode's plays attribute to match<br>**Minimum:** `0` | ❌ | ✅ | ❌ |
| `critic_rating` | Uses the critic rating attribute to match<br>**Range:** `0.0` - `10.0` | ✅ | ✅ | ❌ |
| `audience_rating` | Uses the audience rating attribute to match<br>**Range:** `0.0` - `10.0` | ✅ | ✅ | ❌ |
| `user_rating` | Uses the user rating attribute to match<br>**Range:** `0.0` - `10.0` | ✅ | ✅ | ❌ |
| `episode_user_rating` | Uses the user rating attribute of the show's episodes to match<br>**Range:** `0.0` - `10.0` | ❌ | ✅ | ❌ |
| `episode_critic_rating` | Uses the critic rating attribute of the show's episodes to match<br>**Range:** `0.0` - `10.0` | ❌ | ✅ | ❌ |
| `episode_audience_rating` | Uses the audience rating attribute of the show's episodes to match<br>**Range:** `0.0` - `10.0` | ❌ | ✅ | ❌ |
| `year` | Uses the year attribute to match<br>**Minimum:** `0` | ✅ | ✅ | ❌ |
| `episode_year` | Uses the Episode's year attribute to match<br>**Minimum:** `0` | ❌ | ✅ | ❌ |
| `album_year` | Uses the Album's year attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `album_decade` | Uses the Album's decade attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `album_plays` | Uses the Album's plays attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `track_plays` | Uses the Track's plays attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `track_skips` | Uses the Track's skips attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `artist_user_rating` | Uses the Artist's user rating attribute to match<br>**Range:** `0.0` - `10.0` | ❌ | ❌ | ✅ |
| `album_user_rating` | Uses the Album's user rating attribute to match<br>**Range:** `0.0` - `10.0` | ❌ | ❌ | ✅ |
| `duration` | Uses the duration attribute to match using minutes<br>**Minimum:** `0` | ✅ | ❌ | ❌ |
| `plays` | Uses the plays attribute to match<br>**Minimum:** `0` | ✅ | ✅ | ❌ |
| `episode_plays` | Uses the Episode's plays attribute to match<br>**Minimum:** `0` | ❌ | ✅ | ❌ |
| `critic_rating` | Uses the critic rating attribute to match<br>**Range:** `0.0` - `10.0` | ✅ | ✅ | ❌ |
| `audience_rating` | Uses the audience rating attribute to match<br>**Range:** `0.0` - `10.0` | ✅ | ✅ | ❌ |
| `user_rating` | Uses the user rating attribute to match<br>**Range:** `0.0` - `10.0` | ✅ | ✅ | ❌ |
| `episode_user_rating` | Uses the user rating attribute of the show's episodes to match<br>**Range:** `0.0` - `10.0` | ❌ | ✅ | ❌ |
| `episode_critic_rating` | Uses the critic rating attribute of the show's episodes to match<br>**Range:** `0.0` - `10.0` | ❌ | ✅ | ❌ |
| `episode_audience_rating` | Uses the audience rating attribute of the show's episodes to match<br>**Range:** `0.0` - `10.0` | ❌ | ✅ | ❌ |
| `year`<sup>1</sup> | Uses the year attribute to match<br>**Minimum:** `0` | ✅ | ✅ | ❌ |
| `episode_year`<sup>1</sup> | Uses the Episode's year attribute to match<br>**Minimum:** `0` | ❌ | ✅ | ❌ |
| `album_year`<sup>1</sup> | Uses the Album's year attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `album_decade`<sup>1</sup> | Uses the Album's decade attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `album_plays` | Uses the Album's plays attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `track_plays` | Uses the Track's plays attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `track_skips` | Uses the Track's skips attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `artist_user_rating` | Uses the Artist's user rating attribute to match<br>**Range:** `0.0` - `10.0` | ❌ | ❌ | ✅ |
| `album_user_rating` | Uses the Album's user rating attribute to match<br>**Range:** `0.0` - `10.0` | ❌ | ❌ | ✅ |
| `track_user_rating` | Uses the Track's user rating attribute to match<br>**Range:** `0.0` - `10.0` | ❌ | ❌ | ✅ |
<sup>1</sup> You can use `current_year` to have PMM use the current years value. This can be combined with a `-#` at the end to subtract that number of years. i.e. `current-2`
| `actor` | Uses the actor tags to match | ✅ | ✅ | ❌ |
| `audio_language` | Uses the audio language tags to match | ✅ | ✅ | ❌ |
| `collection` | Uses the collection tags to match for top level collections | ✅ | ✅ | ❌ |
| `season_collection` | Uses the collection tags to match for season collections | ❌ | ✅ | ❌ |
| `episode_collection` | Uses the collection tags to match for episode collections | ❌ | ✅ | ❌ |
| `content_rating` | Uses the content rating tags to match | ✅ | ✅ | ❌ |
| `country` | Uses the country tags to match | ✅ | ❌ | ❌ |
| `decade`<sup>1</sup> | Uses the year tag to match the decade | ✅ | ❌ | ❌ |
| `director` | Uses the director tags to match | ✅ | ❌ | ❌ |
| `genre` | Uses the genre tags to match | ✅ | ✅ | ❌ |
| `label` | Uses the label tags to match for top level collections | ✅ | ✅ | ❌ |
| `season_label` | Uses the label tags to match for season collections | ❌ | ✅ | ❌ |
| `episode_label` | Uses the label tags to match for episode collections | ❌ | ✅ | ❌ |
| `network` | Uses the network tags to match<br>**Only works with the New Plex TV Agent** | ❌ | ✅ | ❌ |
| `producer` | Uses the actor tags to match | ✅ | ❌ | ❌ |
| `resolution` | Uses the resolution tags to match | ✅ | ✅ | ❌ |
| `subtitle_language` | Uses the subtitle language tags to match | ✅ | ✅ | ❌ |
| `writer` | Uses the writer tags to match | ✅ | ❌ | ❌ |
| `year`<sup>1</sup> | Uses the year tag to match | ✅ | ✅ | ❌ |
| `episode_year`<sup>1</sup> | Uses the year tag to match | ❌ | ✅ | ❌ |
| `artist_genre` | Uses the Artist's Genre attribute to match | ❌ | ❌ | ✅ |
| `artist_collection` | Uses the Artist's Collection attribute to match | ❌ | ❌ | ✅ |
| `artist_country` | Uses the Artist's Country attribute to match | ❌ | ❌ | ✅ |
| `artist_mood` | Uses the Artist's Mood attribute to match | ❌ | ❌ | ✅ |
| `artist_style` | Uses the Artist's Style attribute to match | ❌ | ❌ | ✅ |
| `artist_label` | Uses the Artist's Label attribute to match | ❌ | ❌ | ✅ |
| `album_genre` | Uses the Album's Genre attribute to match | ❌ | ❌ | ✅ |
| `album_mood` | Uses the Album's Mood attribute to match | ❌ | ❌ | ✅ |
| `album_style` | Uses the Album's Style attribute to match | ❌ | ❌ | ✅ |
| `album_format` | Uses the Album's Format attribute to match | ❌ | ❌ | ✅ |
| `album_type` | Uses the Album's Type attribute to match | ❌ | ❌ | ✅ |
| `album_collection` | Uses the Album's Collection attribute to match | ❌ | ❌ | ✅ |
| `album_source` | Uses the Album's Source attribute to match | ❌ | ❌ | ✅ |
| `album_label` | Uses the Album's Label attribute to match | ❌ | ❌ | ✅ |
| `track_mood` | Uses the Track's Mood attribute to match | ❌ | ❌ | ✅ |
| `track_source` | Uses the Track's Style attribute to match | ❌ | ❌ | ✅ |
| `track_label` | Uses the Track's Label attribute to match | ❌ | ❌ | ✅ |
<sup>1</sup> You can use `current_year` to have PMM use the current years value. This can be combined with a `-#` at the end to subtract that number of years. i.e. `current-2`
## Date Filters
@ -239,26 +241,28 @@ No number filter can take multiple values.
| `duration` | Uses the duration attribute to match using minutes<br>**Minimum:** `0` | ✅ | ❌ | ❌ |
| `plays` | Uses the plays attribute to match<br>**Minimum:** `0` | ✅ | ✅ | ❌ |
| `episode_plays` | Uses the Episode's plays attribute to match<br>**Minimum:** `0` | ❌ | ✅ | ❌ |
| `critic_rating` | Uses the critic rating attribute to match<br>**Range:** `0.0` - `10.0` | ✅ | ✅ | ❌ |
| `audience_rating` | Uses the audience rating attribute to match<br>**Range:** `0.0` - `10.0` | ✅ | ✅ | ❌ |
| `user_rating` | Uses the user rating attribute to match<br>**Range:** `0.0` - `10.0` | ✅ | ✅ | ❌ |
| `episode_user_rating` | Uses the user rating attribute of the show's episodes to match<br>**Range:** `0.0` - `10.0` | ❌ | ✅ | ❌ |
| `year` | Uses the year attribute to match<br>**Minimum:** `0` | ✅ | ✅ | ❌ |
| `episode_year` | Uses the Episode's year attribute to match<br>**Minimum:**`0` | ❌ | ✅ | ❌ |
| `album_year` | Uses the Album's year attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `album_decade` | Uses the Album's decade attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `album_plays` | Uses the Album's plays attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `track_plays` | Uses the Track's plays attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `track_skips` | Uses the Track's skips attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `artist_user_rating` | Uses the Artist's user rating attribute to match<br>**Range:** `0.0` - `10.0` | ❌ | ❌ | ✅ |
| `album_user_rating` | Uses the Album's user rating attribute to match<br>**Range:** `0.0` - `10.0` | ❌ | ❌ | ✅ |
| `duration` | Uses the duration attribute to match using minutes<br>**Minimum:** `0` | ✅ | ❌ | ❌ |
| `plays` | Uses the plays attribute to match<br>**Minimum:** `0` | ✅ | ✅ | ❌ |
| `episode_plays` | Uses the Episode's plays attribute to match<br>**Minimum:** `0` | ❌ | ✅ | ❌ |
| `critic_rating` | Uses the critic rating attribute to match<br>**Range:** `0.0` - `10.0` | ✅ | ✅ | ❌ |
| `audience_rating` | Uses the audience rating attribute to match<br>**Range:** `0.0` - `10.0` | ✅ | ✅ | ❌ |
| `user_rating` | Uses the user rating attribute to match<br>**Range:** `0.0` - `10.0` | ✅ | ✅ | ❌ |
| `episode_user_rating` | Uses the user rating attribute of the show's episodes to match<br>**Range:** `0.0` - `10.0` | ❌ | ✅ | ❌ |
| `year`<sup>1</sup> | Uses the year attribute to match<br>**Minimum:** `0` | ✅ | ✅ | ❌ |
| `episode_year`<sup>1</sup> | Uses the Episode's year attribute to match<br>**Minimum:**`0` | ❌ | ✅ | ❌ |
| `album_year`<sup>1</sup> | Uses the Album's year attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `album_decade`<sup>1</sup> | Uses the Album's decade attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `album_plays` | Uses the Album's plays attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `track_plays` | Uses the Track's plays attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `track_skips` | Uses the Track's skips attribute to match<br>**Minimum:** `0` | ❌ | ❌ | ✅ |
| `artist_user_rating` | Uses the Artist's user rating attribute to match<br>**Range:** `0.0` - `10.0` | ❌ | ❌ | ✅ |
| `album_user_rating` | Uses the Album's user rating attribute to match<br>**Range:** `0.0` - `10.0` | ❌ | ❌ | ✅ |
| `track_user_rating` | Uses the Track's user rating attribute to match<br>**Range:** `0.0` - `10.0` | ❌ | ❌ | ✅ |
<sup>1</sup> You can use `current_year` to have PMM use the current years value. This can be combined with a `-#` at the end to subtract that number of years. i.e. `current-2`
@ -105,7 +105,7 @@ Tag filters can take multiple values as a **list or a comma-separated string**.
| `genre` | Uses the genre tags to match | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ |
| `label` | Uses the label tags to match | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| `producer` | Uses the actor tags to match | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| `year` | Uses the year tag to match | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
| `year`<sup>3</sup> | Uses the year tag to match | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
| `writer` | Uses the writer tags to match | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| `resolution` | Uses the resolution tag to match | ✅ | ✅<sup>1</sup> | ✅<sup>1</sup> | ✅ | ❌ | ❌ | ❌ |
| `audio_language` | Uses the audio language tags to match | ✅ | ✅<sup>1</sup> | ✅<sup>1</sup> | ✅ | ❌ | ❌ | ❌ |
@ -118,6 +118,8 @@ Tag filters can take multiple values as a **list or a comma-separated string**.
<sup>2</sup> Also filters out missing movies/shows from being added to Radarr/Sonarr. These Values also cannot use the `count` modifiers.
<sup>3</sup> You can use `current_year` to have PMM use the current years value. This can be combined with a `-#` at the end to subtract that number of years. i.e. `current-2`
## Boolean Filters
Boolean Filters have no modifiers.
@ -180,26 +182,28 @@ Number filters can **NOT** take multiple values.
### Attribute
| Number Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
| `versions`| Uses the number of versions found to match<br>minimum: `0` | ✅ | ✅<sup>1</sup> | ✅<sup>1</sup> | ✅ | ✅<sup>1</sup> | ✅<sup>1</sup> | ✅ |
<sup>1</sup> Filters using the special `episodes` [filter](#special-filters) with the [default percent](details/definition).
<sup>2</sup> Also filters out missing movies/shows from being added to Radarr/Sonarr.
<sup>3</sup> You can use `current_year` to have PMM use the current years value. This can be combined with a `-#` at the end to subtract that number of years. i.e. `current-2`
## Special Filters
Special Filters each have their own set of rules for how they're used.