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.
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 move global func upgrade_log() to member func of class SchemaUpgrade().
Change add WorkingDirectory to systemd startup prevents startup git issue.
Change remove redundant log_level usage and do db refactoring.
Change remove duplicate code in SickBeard as sickgear.py can now be executed directly.
Change refactor startup functions to prevent possible latency issues with systemd.
Add startup loading page.
Refactor loading message list to have optional progress (progress dict key != -1).
Add upgrade messages for sickbeard, cache, and failed db upgrade processes to loading page.
Add rollback message (as preparation that rollback module can set progress messages for it).
Add set .load_msg to rollback module class.
Change restart to use loading page.
Change add is_alive to loading webserver and set started var for is_alive after webserver is started.
Change don't enable "Scene numbering" for shows without alternative scene episode numbers.
Change label/summary of editShow/Search/"Scene numbering" to "Editable episode numbers" to improve clarity for its use.
Change improve summary of addShow/Finally/"Scene numbering".
Change improve displayShow tooltips for editable episode number fields.
Add history view layouts to "Shows" menu.
Add a current layout indicator to "Shows"/"History" menu item.
Add the five last added shows to "Shows" menu under item "[1/2]".
Change relabel ui "Episode Schedule" and "Episode View" to "Daily Schedule".
Change displayShow, move table header sorting chevron images from right side of column to before text.
Change displayShow, move plotinfo from right side of name column to before the episode text.
Fix use correct columns for sorting on displayShow.
Fix sort by episode number on displayShow.
Change add images for manual search finished on displayShow to indicate completed fully (green) or low quality (bronze).
Change reduce browser I/O on displayShow.
Fix displayShow bug where click holding on a season btn and then dragging away leaves 50% white.
Devel:
Change sets and lists are assigned by reference, so snatched_eps are deep copied in base_info().
Change comment out BaseSearchQueueItem::copy() as deprecated for base_info().
Change improve ajax consumer to reduce polling.
Simplify SimpleNamespace init in base_info().
Use base info instead of thread object for MANUAL_SEARCH_HISTORY in (ManualSearchQueueItem + FailedQueueItem) to streamline the finished search processing in webserve, this means add_dt has to be moved to BaseSearchQueueItem for base_info().
SimpleNameSpace Ref error is now in PYC, not sure if this is valid tho.
Change feedback result of manual search on the clicked button image/tooltip.
Devel:
Change items from search to retry with Archived status on displayShow page.
Change keep manual/failed search item progress for 30 mins in internal manual_search_history.
Fix buttons for snatched statuses.
Change set wantedquality list for failed to True (needed to also search for previously skipped and similar status items).
Change make get_queued_manual() and get_current_manualsearch_item() thread-safe.
Change only return retrystatus true to ui if use_failed_downloads is enabled.
Change add multi-ep snatches to ajax response.
Change add ID format to show_url in indexer_config.
Change display/edit show, episode view, and add new/existing, for URL creation.
Change revert temporary copying show_obj solution.
Change image download error to warning.
Change improve security with DNS rebinding prevention, set "Allowed browser hostnames" at config/General/Web Interface.
Change improve security with cross-site request forgery (xsrf) protection on web forms.
Change improve security by sending header flag httponly with cookies
Change improve security by sending header flag secure with SSL cookies
Change improve test for creating self-signed SSL cert.
Change force restart when switching SSL on/off.
Change enable Tornado serve_traceback feature.
Change PEP8 tweaks.
Add episode watched state system that integrates with Kodi, Plex, and/or Emby, instructions at Shows/History/Layout/"Watched".
Add installable SickGear Kodi repository containing addon "SickGear Watched State Updater".
Change add Emby setting for watched state scheduler at Config/Notifications/Emby/"Update watched interval".
Change add Plex setting for watched state scheduler at Config/Notifications/Plex/"Update watched interval".
Add API cmd=sg.updatewatchedstate, instructions for use are linked to in layout "Watched" at /history.
Change history page table filter input values are saved across page refreshes.
Change history page table filter inputs, accept values like "dvd or web" to only display both.
Change history page table filter inputs, press 'ESC' key inside a filter input to reset it.
Add provider activity stats to Shows/History/Layout/ drop down.
Change move provider failures table from Manage/Media Search to Shows/History/Layout/Provider fails.
Change sort provider failures by most recent failure, and with paused providers at the top.
Change remove table form non-testing version 20007, that was reassigned.
Change restrict changing custom download qualities to reasonable selections.
Add upgrade to quality selections on Add show page and Import existing show page.
Change API version... start with 10
Change set application response header to 'SickGear' + add API version
Change return timezone (of network) in API
Add indexer to calls
Add SickGear Command tip for old SickBeard commands
Add warning old sickbeard API calls only support tvdb shows
Add "tvdbid" fallback only for sickbeard calls
Add listcommands
Add list of all commands (old + new) in listcommand page at the beginning
Change hide 'listcommands' command from commands list, since it needs the API builder CSS + is html not json
Add missing help in webapi
Add episode info: absolute_number, scene_season, scene_episode, scene_absolute_number
Add fork to SB command
Add sg
Add sg.activatescenenumbering
Add sg.addrootdir
Add sg.checkscheduler
Add sg.deleterootdir
Add sg.episode
Add sg.episode.search
Add sg.episode.setstatus
Add sg.episode.subtitlesearch
Add sg.exceptions
Add sg.forcesearch
Add sg.future
Add sg.getdefaults
Add sg.getindexericon
Add sg.getindexers to list all indexers
Add sg.getmessages
Add sg.getnetworkicon
Add sg.getrootdirs
Add sg.getqualities
Add sg.getqualitystrings
Add sg.history
Add sg.history.clear
Add sg.history.trim
Add sg.listtraktaccounts
Add sg.listignorewords
Add sg.listrequiedwords
Add sg.logs
Add sg.pausebacklog
Add sg.postprocess
Add sg.ping
Add sg.restart
Add sg.searchqueue
Add sg.searchtv to search all indexers
Add sg.setexceptions
Add sg.setignorewords
Add sg.setrequiredwords
Add sg.setscenenumber
Add sg.show
Add sg.show.addexisting
Add sg.show.addnew
Add sg.show.cache
Add sg.show.delete
Add sg.show.getbanner
Add sg.show.getfanart
Add sg.show.getposter
Add sg.show.getquality
Add sg.show.listfanart
Add sg.show.ratefanart
Add sg.show.seasonlist
Add sg.show.seasons
Add sg.show.setquality
Add sg.show.stats
Add sg.show.refresh
Add sg.show.pause
Add sg.show.update
Add sg.shows
Add sg.shows.browsetrakt
Add sg.shows.forceupdate
Add sg.shows.queue
Add sg.shows.stats
Change sickbeard to sickgear
Change sickbeard_call to property
Change sg.episode.setstatus allow setting of quality
Change sg.history, history command output
Change sg.searchtv to list of indexers
Add uhd4kweb to qualities
Add upgrade_once to add existing shows
Add upgrade_once to add new show
Add upgrade_once to show quality settings (get/set)
Add 'ids' to Show + Shows
Add ids to coming eps + get tvdb id from ids
Add 'status_str' to coming eps
Add 'local_datetime' to comming eps + runtime
Add X-Filename response header to getbanner, getposter
Add X-Fanartname response header for sg.show.getfanart
Add missing fields to sb.show
Add missing fields to sb.shows
Change sb.seasons
Change overview optional
Change make overview optional in shows
Add setscenenumber to API builder
Change move set_scene_numbering_helper into scnene_numbering for use in web interface and API
Change use quality_map instead of fixed list
Add eigthlevel for API/builder page
Change limit indexer param to valid values
Fix wrong parameter in existing apiBuilder.tmpl that prevents javascript from continuing + add console error message for it
Fixed: filter missed shows correctly
Add @gen.coroutine
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).
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.
Change subtitle addons no longer need to be saved before Search Subtitles is enabled as a forbidden action to reuse an exited FindSubtitles thread is no longer attempted.
Fix tools menu not opening for some browsers.