<!-- Release notes generated using configuration in .github/release.yml at v5.0.0 -->
What's Changed
There are quite a few breaking changes with this release, please ensure you run tests on your code after upgrading.
💥 Breaking Changes
* perf!: multiple methods updated to use default Pyarr values for args, allowing reduction in memory usage by dictionaries
* refactor!: `get_calendar` changed to require `datetime` object for date arguments
* refactor!: multiple methods updated to use same naming and ordering for arguments
* refactor(radarr)!: change `db_id` to `id_` to align rest of API
* refactor(lidarr)!: `add_root_folder` arguments re-arranged
* refactor(lidarr)!: `add_artist` and `add_album` changed from using `search_term` to using `id_` (musicbrainz ID) for more predictable results where multiple search items could have previously been returned
* refactor(lidarr)!: `get_wanted` updated to be more efficient, options moved to match ordering of other methods
* refactor(lidarr)!: `get_queue` updated to be more efficient, options moved to match ordering of other methods
* refactor(lidarr)!: `get_queue_details` updated to be more efficient
* refactor(readarr)!: `get_missing` updated to be more efficient, options moved to match ordering of other methods
* refactor(readarr)!: `get_cutoff` updated to be more efficient, options moved to match ordering of other methods
* refactor(readarr)!: `get_queue` updated to be more efficient, options moved to match ordering of other methods
* refactor(readarr)!: `add_author` updated `search_term` to match `term` format
* feat!: errors added where argument pairs are not used together e.g. `sort_key` and `sort_dir`
* fix!: blacklist changed to blocklist
* fix(sonarr)!: `add_series` changed to remove the use of the `_series_json` method, now supply a series result from `lookup()` this also allows more control without Pyarr selecting the first lookup result.
* fix(readarr)!: `add_quality_profile` changed to have additional variables over other Arr's
* fix(readarr)!: `add_book` changed to remove the use of the `_book_json` method, now supply a book result from `lookup()` this also allows more control without Pyarr selecting the first lookup result.
* fix(lidarr)!: `add_album` changed to remove the use of the `_book_json` method, now supply a book result from `lookup()` this also allows more control without Pyarr selecting the first lookup result.
🚀 Exciting New Features
* feat(request_handler): strip trailing slashes from URL
* feat(base): added `implementation` argument to `get_notification_schema` to allow selection of a single implementation
* feat(base): added `get_import_list_schema`
* feat(base): implemented `add_import_list`
* feat(base): added `upd_config_download_client`
* feat(base): implemented `add_notification`
* feat(base): added `id_` to `get_root_folder`
* feat(base): added `get_command`
* feat(sonarr): `get_queue` updated to include additional arguments
* feat(sonarr): added `get_parse_title_path`
* feat(sonarr): added option to search TVDB ID in `lookup_series`
* feat(sonarr): added `add_root_folder`
* feat(sonarr): added `get_language_profile`, `upd_language_profile`, `del_language_profile`, `get_language_profile_schema`
* feat(sonarr): `get_episode_file` updated to allow filter by series id
* feat(radarr): added `add_root_folder`
* feat(readarr): added `lookup` to search for books and authors
* feat(readarr): added `add_release_profile`
* feat(readarr): added `add_delay_profile`
* feat: Add `tvdbId` to `get_series` by marksie1988 in https://github.com/totaldebug/pyarr/pull/133
* feat: added manualimport endpoint by marksie1988 in https://github.com/totaldebug/pyarr/pull/135
* feat: Add episode/book monitor endpoint by marksie1988 in https://github.com/totaldebug/pyarr/pull/138
🐛 Patches & Bug Fixes
* fix: multiple assertion errors resolved
* fix: delete methods with using data instead of passing the id to the url
* fix(base): added cutoff to `add_quality_profile`
* fix(sonarr): added `language_profile_id` to `add_series`
* fix(sonarr): removed `get_quality_profile` inherits from `base`
* fix(sonarr): `upd_tag` incorrect url path
* fix(radarr): `get_movie` tmdb not working fixes 119
* fix(lidarr): `get_album` incorrect assertion when returning list or dict
* fix(lidarr): `albumId` not working within `get_release` method
Other Changes
* refactor: multiple methods updated to use Literals to allow easier identification of possible options
* refactor: `get_history` updated to allow additional options in `SonarrAPI`
* refactor(sonarr): deprecation warning added to `get_episode_files_by_series_id`
* refactor(sonarr): deprecation warning added to `lookup_series_by_tvdb_id`
* refactor(sonarr): deprecation warning added to `get_parsed_title`
* refactor(sonarr): deprecation warning added to `get_parsed_path`
* refactor(radarr): deprecation warning added to `lookup_movie_by_imdb_id`
* refactor(radarr): deprecation warning added to `lookup_movie_by_tmdb_id`
* refactor(radarr): `upd_movies` updated to show examples of usage
* refactor(radarr): `get_movie_file` now able to get multiple movie files
* refactor(radarr): `get_movie_files` removed as this would not work use `get_movie_file` instead
* refactor(radarr): `del_movie` now able to delete multiple movie files
* refactor(radarr): deprecation warning added to `del_movies`
* refactor(lidarr): added error to `get_tracks` if no ids supplied
* refactor(lidarr): added error to `get_track_file` if no ids supplied
* refactor(lidarr): updated `get_metadata_profile` to use correct return
* chore: added test check to github actions
* tests: added tests to whole code base
* tests: Added `nox` for testing and updated github workflows to match
* tests: Run against docker containers where possible to ensure real scenarios, some remain on mock due to complexities with downloads / indexers etc.
* * test: add tests to codebase by marksie1988 in https://github.com/totaldebug/pyarr/pull/116
* test: fix errors in tests by marksie1988 in https://github.com/totaldebug/pyarr/pull/129
* ci: add showlocals and reruns by marksie1988 in https://github.com/totaldebug/pyarr/pull/131
* ci: resolves issues with tests failing on Github Actions by marksie1988 in https://github.com/totaldebug/pyarr/pull/132
* ci: setup codecov by marksie1988 in https://github.com/totaldebug/pyarr/pull/134
* refactor: update devcontainer images by marksie1988 in https://github.com/totaldebug/pyarr/pull/136
* ci: fix issue with github actions by marksie1988 in https://github.com/totaldebug/pyarr/pull/139
**Full Changelog**: https://github.com/totaldebug/pyarr/compare/v4.1.0...v5.0.0