diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 88d668d8..681cff27 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -11,11 +11,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- - name: Check Out Repo
- uses: actions/checkout@v3
-
- name: Send Discord Release Notification
- uses: bythope/discord-webhook-messages@v1.1.0
+ uses: nhevia/discord-styled-releases@main
with:
- webhookUrl: ${{ secrets.RELEASE_WEBHOOK }}
- handler: 'release'
\ No newline at end of file
+ webhook_id: ${{ secrets.RELEASE_WEBHOOK_ID }}
+ webhook_token: ${{ secrets.RELEASE_WEBHOOK_TOKEN }}
\ No newline at end of file
diff --git a/VERSION b/VERSION
index 2770ff47..4a02d2c3 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.16.1-develop27
+1.16.2
diff --git a/docs/config/operations.md b/docs/config/operations.md
index 86f58f7a..f098e202 100644
--- a/docs/config/operations.md
+++ b/docs/config/operations.md
@@ -34,9 +34,9 @@ The available attributes for the operations attribute are as follows
| `radarr_remove_by_tag` | Removes every item from Radarr with the Tags given
**Values:** List or comma separated string of tags |
| `sonarr_add_all` | Adds every item in the library to Sonarr. The existing paths in plex will be used as the root folder of each item, if the paths in Plex are not the same as your Sonarr paths you can use the `plex_path` and `sonarr_path` [Sonarr](sonarr) details to convert the paths.
**Values:** `true` or `false` |
| `sonarr_remove_by_tag` | Removes every item from Sonarr with the Tags given
**Values:** List or comma separated string of tags |
-| `genre_mapper` | Allows genres to be changed to other genres or be removed from every item in your library.
**Values:** [see below for usage](#genre-mapper) |
-| `content_rating_mapper` | Allows content ratings to be changed to other content ratings or be removed from every item in your library.
**Values:** [see below for usage](#content-rating-mapper) |
-| `metadata_backup` | Creates/Maintains a PMM [Metadata File](../metadata/metadata) with a full `metadata` mapping based on the library's items locked attributes.
**Values:** [see below for usage](#metadata-backup) |
+| [`genre_mapper`](#genre-mapper) | Allows genres to be changed to other genres or be removed from every item in your library.
**Values:** [see below for usage](#genre-mapper) |
+| [`content_rating_mapper`](#content-rating-mapper) | Allows content ratings to be changed to other content ratings or be removed from every item in your library.
**Values:** [see below for usage](#content-rating-mapper) |
+| [`metadata_backup`](#metadata-backup) | Creates/Maintains a PMM [Metadata File](../metadata/metadata) with a full `metadata` mapping based on the library's items locked attributes.
**Values:** [see below for usage](#metadata-backup) |
## Genre Mapper
diff --git a/docs/config/tmdb.md b/docs/config/tmdb.md
index 4864a79f..4acc06d2 100644
--- a/docs/config/tmdb.md
+++ b/docs/config/tmdb.md
@@ -11,9 +11,10 @@ tmdb:
language: en
```
-| Attribute | Allowed Values | Default | Required |
-|:-----------|:---------------------|:-------:|:--------:|
-| `apikey` | User TMDb V3 API Key | N/A | ✅ |
-| `language` | User Language | en | ❌ |
+| Attribute | Allowed Values | Default | Required |
+|:-------------------|:--------------------------------------------------------------------------|:-------:|:--------:|
+| `apikey` | User TMDb V3 API Key | N/A | ✅ |
+| `language` | User Language | en | ❌ |
+| `cache_expiration` | Number of days before each cache mapping expires and has to be re-cached. | 60 | ❌ |
If you do not have a TMDb V3 API key please refer to this [guide](https://developers.themoviedb.org/3/getting-started/introduction).
diff --git a/modules/builder.py b/modules/builder.py
index d8fe56f0..32e6f40e 100644
--- a/modules/builder.py
+++ b/modules/builder.py
@@ -600,7 +600,7 @@ class CollectionBuilder:
raise Failed(f"{self.Type} Error: {method_final} attribute only allowed for album collections")
elif not self.library.is_music and method_name in music_only_builders:
raise Failed(f"{self.Type} Error: {method_final} attribute only allowed for music libraries")
- elif self.collection_level != "episode" and method_name in episode_parts_only:
+ elif not self.playlist and self.collection_level != "episode" and method_name in episode_parts_only:
raise Failed(f"{self.Type} Error: {method_final} attribute only allowed with Collection Level: episode")
elif self.parts_collection and method_name not in parts_collection_valid:
raise Failed(f"{self.Type} Error: {method_final} attribute not allowed with Collection Level: {self.collection_level.capitalize()}")