Note; getattr not required in the backend given slot value is already initialised at runtime, but is used in .tmpl due to defensive coding practices.
Change webserve pyc warnings resolved after code review.
Change swap _tvid around with tvid, in order to deprecate using _tvid and remove pyc private var use warnings (bad practice) which was being pushed into use due to perf, so now sg will use direct access public property by default.
Change rename misused varnames `_sql` that are not SQL but rather an sql result set.
Change various other clean ups and simplifications.
Fix invalid case warnings.
Change rename remove_file_failed to remove_file_perm and make it return an outcome.
Change doctype for scantree as `Generator` to define both yield and return types.
Fix don't search if subtitles disabled.
When searching in season search mode, the status of the first missing/upgradeable episode was used to determine if all the season episodes were wanted ... instead of considering each episode status as is now the case.
When searching in season search mode, the status of the first missing/upgradeable episode was used to determine if all the season episodes were wanted ... instead of considering each episode status as is now the case.
Change autoProcessTV.py to remove bytestring identifiers that are printed under py3.
The actual media process has no issue, however, the aesthetic output caused confusion.
Fix saving nzb data to blackhole under py3.
Fix deprecated use of elementtree obj without len or explicit None test.
Change init provider options _after_ loading settings not before.
Change handle search task attributes that do not exist.
Change prevent log sources containing `sg.` from clipping in log format.
Change rename var failure_handling to failure_monitor to differentiate from the failed handling feature.
Clean shows ignore, require list before saving global lists.
Clean require, ignore words after db upgrade.
Add global ignore, require words cleanup to show_updater.
Clean editShow ignore/require list.
Also cleanup exclude lists of shows.
Optionally restore excludes from previous downgrade.
Add lib folder to all_tests.py to fix local tests.
Add shows ignore/require words to pass_wordlist_checks if show_obj is given.
Change move priority property to SearchResult base class.
Add new test for wanted whole first season (add show).
Add some tests for no episodes shows (wanted ep - add show).
Change SickGear-NG version.
Change migrate core objects TVShow and TVEpisode and everywhere that these objects affect.
Add message to logs and disable ui backlog buttons when no media provider has active and/or scheduled searching enabled.
Change views for py3 compat.
Change set default runtime of 5 mins if none is given for layout Day by Day.
Add OpenSubtitles authentication support to config/Subtitles/Subtitles Plugin.
Add "Enforce media hash match" to config/Subtitles Plugin/Opensubtitles for accurate subs if enabled, but if disabled, search failures will fallback to use less reliable subtitle results.
Add Apprise 0.8.0 (6aa52c3).
Add hachoir_py3 3.0a6 (5b9e05a).
Add sgmllib3k 1.0.0
Update soupsieve 1.9.1 (24859cc) to soupsieve_py2 1.9.5 (6a38398)
Add soupsieve_py3 2.0.0.dev (69194a2).
Add Tornado_py3 Web Server 6.0.3 (ff985fe).
Add xmlrpclib_to 0.1.1 (c37db9e).
Remove ancient Growl lib 0.1
Remove xmltodict library.
Change requirements.txt for Cheetah3 to minimum 3.2.4
Change update sabToSickBeard.
Change update autoProcessTV.
Change remove Twitter notifier.
Update NZBGet Process Media extension, SickGear-NG 1.7 → 2.4
Update Kodi addon 1.0.3 → 1.0.4
Update ADBA for py3.
Update Beautiful Soup 4.8.0 (r526) to 4.8.1 (r531).
Update Send2Trash 1.3.0 (a568370) to 1.5.0 (66afce7).
Update soupsieve 1.9.1 (24859cc) to 1.9.5 (6a38398).
Change use GNTP (Growl Notification Transport Protocol) from Apprise.
Change add multi host support to Growl notifier.
Fix Growl notifier when using empty password.
Change update links for Growl notifications.
Change deprecate confg/Notifications/Growl password field as these are now stored with host setting.
Fix prevent infinite memoryError from a particular jpg data structure.
Change subliminal for py3.
Change enzyme for py3.
Change browser_ua for py3.
Change feedparser for py3 (sgmlib is no longer available on py3 as standardlib so added ext lib)
Fix Guessit.
Fix parse_xml for py3.
Fix name parser with multi eps for py3.
Fix tvdb_api fixes for py3 (search show).
Fix config/media process to only display "pattern is invalid" qtip on "Episode naming" tab if the associated field is actually visible. Also, if the field becomes hidden due to a setting change, hide any previously displayed qtip.
Note for Javascript::getelementbyid (or $('tag[id="<name>"')) is required when an id is being searched in the dom due to ":" used in a shows id name.
Change download anidb xml files to main cache folder and use adba lib folder as a last resort.
Change create get anidb show groups as centralised helper func and consolidate dupe code.
Change move anidb related functions to newly renamed anime.py (from blacklistandwhitelist.py).
Change str encode hex no longer exits in py3, use codecs.encode(...) instead.
Change fix b64decode on py3 returns bytestrings.
Change use binary read when downloading log file via browser to prevent any encoding issues.
Change add case insensitive ordering to anime black/whitelist.
Fix anime groups list not excluding whitelisted stuff.
Change add Windows utf8 fix ... see: ytdl-org/youtube-dl#820
Change if no qualities are wanted, exit manual search thread.
Fix keepalive for py3 process media.
Change add a once a month update of tvinfo show mappings to the daily updater.
Change autocorrect ids of new shows by updating from -8 to 31 days of the airdate of episode one.
Add next run time to Manage/Show Tasks/Daily show update.
Change when fetching imdb data, if imdb id is an episode id then try to find and use real show id.
Change delete diskcache db in imdbpie when value error (due to change in Python version).
Change during startup, cleanup any _cleaner.pyc/o to prevent issues when switching python versions.
Add .pyc cleaner if python version is switched.
Change replace deprecated gettz_db_metadata() and gettz.
Change rebrand "SickGear PostProcessing script" to "SickGear Process Media extension".
Change improve setup guide to use the NZBGet version to minimise displayed text based on version.
Change NZBGet versions prior to v17 now told to upgrade as those version are no longer supported - code has actually exit on start up for some time but docs were outdated.
Change comment out code and unused option sg_base_path.
Change supported Python version 2.7.9-2.7.18 inclusive expanded to 3.7.1-3.8.1 inclusive.
Change pidfile creation under Linux 0o644.
Make logger accept lists to output continuously using the log_lock instead of split up by other processes.
Fix long path issues with Windows process media.
Add search setting for qBittorrent client "Start torrent paused".
Add search setting for qBittorrent client "Add release at top priority".
Add option choose custom variable to use for label in rTorrent Torrent Results.
Add warning to rTorrent users not to use space in label.
Change overhaul DiskStation client to add compatibility for latest API.
Change improve Synology DownloadStation functions.
Add search setting for DiskStation client "Start torrent paused".
Fix the priority set for snatched items is now also set for episodes without air date.
Change NZBGet client to use property .priority of SearchResult.
Fix EpisodeView Webcal link for proxy use.
Fix UI issue with /api/builder -> SickGear.Episode.SetStatus
Change provider Rarbg.
Change remove redundant properFinder logic and test case.
Fix import; add unicode encoding for str values of args and kwargs to ek.ek on Windows.
Fix incorrect logic mixing seasons (All wanted episode numbers are checked against all season, not just the season belonging to the episode number).
Add provider filters, Only allow releases that are ...
'scene releases (srrDB/predb listed)', 'or contain' text or regex,
'non scene if no recent search results', 'non scene if no active search results',
'not scene nuked', and 'nuked if no active search results'.
Add scene release checking to PROPER search task.
Change refactor core Proper functions.
Pep8 common tests.
Add the improved error handling to torrent providers.
Change cache_db to always include db upgrade statements when running SG for the first time.
Change split newznab limit logic into a reusable function, hit_limit_update() and use in BTN prov.
Change tweak CSS to make things a little neater with button spacings.
Add the actual time when current limit will expire to the UI.
Change instead of terminology "errors", use "failures".
Change improve BTN error handling.
Change ensure provider name is output to log at times where it wasn't.
Change ensure failed request URLs and POST params are output to log.
Add time of last failure + type to should_skip log message.
Change code DRY and simplification for improved readability.
Change occurrences of "error" to "fail" for consistency.
Add tmr limit handling to omg and change log_failure_url level to warning.
Change log the failed URL when an API hit limit is reached.
Change "hit" to the more universally generic "tmr" - Too Many Requests.
Change Db columns containing "hit_" are renamed "tmr_"
Add failure handling, skip provider for x hour(s) depending on count of failures.
Add detection of api hit limit reached.
Add failure count to omgwtfnzbs.
Change improve categories selection (manual search for example).
Fix upgrade once ARCHIVED setting by postProcessor.
Fix determination of is_first_best_match.
Change improve smart selection of categories in manual and failed search modes.
Change refactor wantedQuality into own function that can be used in multiple places.
Change improve error resistance in neededQualities class.
Add log warning message if wantedQuality or eps_aired_in_season is missing for search.
Add check backlogitem for wantedQuality and add if missing.
Add use wantedQuality list in wantEpisode.
Change don't use wantedQualities for multipart.
Use to prevent "Update to" on those select episodes while preserving the downloaded quality.
Change group "Downloaded" status qualities into one section.
Add "Downloaded/with archived quality" to set shows as downloaded using quality of archived status.
Add "Archived with/downloaded quality" to set shows as archived using quality of downloaded status.
Add "Archived with/default (min. initial quality of show here)".
Change when settings/Post Processing/File Handling/Status of removed episodes/Set Archived is enabled, set status and quality accordingly.
Add downloaded and archived statuses to Manage/Episode Status.
Add quality pills to Manage/Episode Status.
Change Manage/Episode Status season output format to be more readable.
Change add SNATCHED_ANY and ARCHIVED, refactor accordingly.
Add restriction to allow only same release group for repacks.
Change try all episode names with 'real', 'repack', 'proper'.
Add flags table to store when one-off operations have been performed.
Change update history.tbl with action SNATCHED_PROPER on existing items.
Change save proper snatches as action SNATCHED_PROPER + quality into history.tbl
Add optional regex lib with fuzzy (errors ~20% of alpanum chars) for extra_info_no_name.
Add tip to search settings/media search about improved matching with optional regex library.
Change improve provider title processing.
Change improve handling erroneous JSON responses.
Change improve find show with unicode characters.
Change improve result for providers Omgwtf, SpeedCD, Transmithenet, Zoogle.
Change validate .torrent files that contain optional header data.
Fix case where an episode status was not restored on failure.
Add raise log error if no wanted qualities are found.
Change add un/pw to Config/Media providers/Options for BTN API graceful fallback (can remove Api key for security).
Change only download torrent once when using blackhole.
Add Cloudflare module 1.6.8 (be0a536) to mitigate CloudFlare (IUAM) access validator.
Add Js2Py 0.43 (c1442f1) Cloudflare dependency.
Add pyjsparser 2.4.5 (cd5b829) Js2Py dependency.
Fix ensure downloaded eps are not shown on episode view.
Fix allow propers to pp when show marked upgrade once.
Fix never set episodes without airdate to wanted.
Various other fixes.
Add newznab smart logic to avoid missing releases when there are a great many recent releases.
Change improve performance by using newznab server advertised capabilities.
Change config/providers newznab to display only non-default categories.
Change use scene season for wanted segment in backlog if show is scene numbering.
Change combine Manage Searches / Backlog Search / Limited and Full to Force.
Change consolidate limited and full backlog.
Change config / Search / Backlog search frequency to instead spread backlog searches over a number of days.
Change migrate minimum used value for search frequency into new minimum 7 for search spread.
Change restrict nzb providers to 1 backlog batch run per day.
Add to Config/Search/Unaired episodes/Allow episodes that are released early.
Add to Config/Search/Unaired episodes/Use specific api requests to search for early episode releases.
Add use related ids for newznab searches to increase search efficiency.
Add periodic update of related show ids.
Change terminology Edit Show/"Post processing" tab name to "Other".
Add advanced feature "Related show IDs" to Edit Show/Other used for finding episodes and TV info.
Add search info source image links to those that have zero id under Edit Show/Other/"Related show IDs".
Add "set master" button to Edit Show/Other/"Related show IDs" for info source that can be changed.
Change terminology displayShow "Indexers" to "Links" to cover internal and web links.
Change add related show info sources on displayShow page.
Change don't display "temporarily" defunct TVRage image link on displayShow pages unless it is master info source.
Change if a defunct info source is the master of a show then present a link on displayShow to edit related show IDs.
Change simplify the next backlog search run time display in the page footer.
Change try ssl when fetching data thetvdb, imdb, trakt, scene exception.
Change improve reliability to Trakt notifier by using show related id support.
Change improve config/providers newznab categories layout.
Change show loaded log message at start up and include info source.
Change if episode has no airdate then set status to unaired (was skipped).
Technical
Change move scene_exceptions table from cache.db to sickbeard.db.
Add related ids to show obj.
Add use of mapped indexer ids for newznab.
Add indexer to sql in wanted_eps.
Add aired in (scene) season for wanted episodes.
Add need_anime, need_sports, need_sd, need_hd, need_uhd to wanted episodes and added as parameter to update_providers.
Add fix for lib lockfile/mkdirlockfile.
Add set master TV info source logic.
Change harden ui input validation.
Add per action dialog confirmation.
Change to reload page under more events.
Change implement "Mark all added episodes Wanted to search for releases" when setting new info source.
Change refactor cache for torrent providers to reduce code.
Change improve search category selection BMTV, FSH, FF, TB.
Change identify more SD release qualities.
Change update SpeedCD, MoreThan, TVChaosuk.
Add torrent provider HD4Free.
Remove torrent provider BitSoup.
Change only create threads for providers needing a recent search instead of for all enabled.
Add 4489 as experimental value to "Recent search frequency" to use provider freqs instead of fixed width for all.
Fix searching nzb season packs.
Change remove some logging cruft.