Change rotate column headers on manage/Bulk Change for supported browsers to reduce screen estate waste.
Add column to manage/Bulk Change to display the show folder location size.
Add media stats to manage/Bulk Change and view-show when hovering over folder size.
Add to manage/Bulk Change an icon where show location no longer exists and group the icon/non icon shows.
Add a hover tip to the edit column on manage/Bulk Change to remind about using multi-select.
Change add tooltips on manage/Bulk Change checkbox actions to display what each are used for.
Add to manage/Bulk Change confirm dialog before removing or deleting a show.
Change manage/Bulk Change add sort by size options to table, (Total, Largest, Smallest, Average).
Change manage/Bulk Change add busy spinner for processing when changing size sort type.
Change manage/Bulk Change table make header stick when page is scrolled.
Change manage/Bulk Change table make footer stick when page is scrolled.
Change manage/Bulk Change add filter to table, showname, quality, and status.
Change number of shows listed after a filter is displayed at the bottom of Bulk Change.
Change edit and submit buttons are disabled when there is no selection on Bulk Change.
Change edit and submit buttons display number of selected items on Bulk Change.
Change tidy up html markup and JavaScript for manage/Bulk Change.
Change refactor to simplify bulk_change logic.
Add TraktLockedUserAccount exception to trakt lib.
Change increase number of IMDb ID digits parsed in TVDb lib.
Change force rechecking IMDb ID if ID from source indexer changes.
Change check IMDb ID via API ... if title matches use it.
Change add special handling for IMDb IDs in mapping for cases of mismatched ID.
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.
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.
Fix loading timezone on Windows 7+.
Add fallback zoneinfo file.
Use tzwinlocal as fallback timezone on Windows.
Add epoch_start to network_timezones.
Fix issue with getting tzwinlocal on Windows (non English system language).
Use new totimestamp, from_timestamp.
Change aired modify time to to_file_timestamp.
Fix _cleaner.py for py3.
Change don't delete folder bs4/builder.
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 improve scene_exceptions interfacing to indexer API.
Change start implementing new interface.
Add tvdb api lib indexerapiinterface.
Change rebase traktinterface on tvinfo_base.
Switch back exceptions handling for indexers.
Change optimize loading of episodes during update to prevent slow loading with new tvinfo_base.
Change add scene_numbering loading.
Change search show webserve.
Change tv.py to new interface.
Change to more complex locking.
Change switch network_timezones from os.walk to scandir.
Change persons data.
Change add actor parsing to new castlist property.
Change add find_show_by_ids tests.
Change rename _mapped_ids of TVShow objects to internal_ids.
Change add new parameter to find_show_by_id where needed.
Change Kodi show nfo tag 'episodeguide' to use v2.0 format (https://forum.kodi.tv/showthread.php?tid=323588).
Change add tvdb api_url v2+ and epg_url v2 (https://forum.kodi.tv/showthread.php?tid=323588).
Change remove tag 'year' as deprecated for 'premiered' (https://kodi.wiki/view/NFO_files/TV_shows).
Change removed tags 'episodeguideurl', 'id', and 'indexer' as deprecated.
Change tag show/year to show/premiered and use full date.
Change output non valid xml that Kodi will accept.
Change use Kodi metadata.tvdb.com repo api_key for requests that the addon will make.
Add force flag to update nfo files.
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 multiple SG apikey support.
Change add apikey name to ERROR log messages.
Change add logging of errors from api.
Change add remote ip to error message.
Change add print command name for api in debug log.
Change add warning message to log if old Sick-Beard api call is used.
Change add an api call mapping helper for name changed functions (for printed warnings).
Change ui typo in apiBuilder.
Fix display of fanart in apibuilder.
Add help command to apiBuilder and fix help call.
Fix add shows via api.
Change fix sg.searchqueue output.
Add missing sg.show.delete parameter "full".
Add missing sg.setdefaults and sg.shutdown methods.
Change increase api version because missing sg.* methods are added.
Change fix internal api reference to old Sick-Beard method.
Change add some extra checks for Sick-Beard call add (existing) show.
Change patch imdbpie to add cachedir folder and set imdbpie cachedir in SG.
Change remove redundant _functionMaper_newmethods ... data already exists in help var of method, use this instead.
Fix force search return values.
Change centralise get old webapi call name.
Change About page to include current base @ version number.
Change handle when a known season is deleted from indexer but ep data is not deletable locally.
Change to making simple base info of search_queue items instead of full deep copies.
Change move TVShow.getOverview logic to helpers.episode_status_overview() and call it with parameter in tv.py and webserve.py
Change add "Keep up to x most recent downloads" to Edit Show/Other.
Change add "Keep up to x most recent downloads" to Manage/Bulk Change/Edit.
Change append number of downloads to keep to the number of file(s) at Display Show.
Change add "Keep up to x most recent downloads" to add show finally step.
Add prune to refreshDir/rescan.
Add helper function remove_file.
In rare cases, systems *fail* to remove the deprecated "_base.pyc" file (and probably others) in \lib\html5lib\treebuilders\. Therefore, the startup cleanup process will now list files that cannot be auto deleted - user must then manually delete files listed in "__README-DANGER.txt".
Change add un/pw for cookie support to improve SpeedCD torrent provider.
Change improve handling faults when downloading .torrent files.
Remove TorrentBytes provider.
Change remove redundant log messages for releases never to be cached removing <30% log spam
Change remove redundant log messages for items not found in cache removing <10% log spam
Pep8.
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.