# Changelog

- * 94f82ef67 - 2019-11-05: Release v9.4.183 
- * d94d4b9bc - 2019-11-05: Revert &quot;Added lazy loading to main shows page, reduces page load times.&quot; 
- * 932c107ab - 2019-11-05: Revert &quot;Refactored main shows page to load shows via web sockets.&quot; 
- * 940d091a7 - 2019-11-05: Revert &quot;Refactored TVShow and TVEpisode database models to use select instead of joined for lazy loading relationships.&quot; 
- * 2afbbf6fd - 2019-11-05: Revert &quot;Refactored main shows page to load shows via web sockets.&quot; 
- * b3fcd78a5 - 2019-11-05: Revert &quot;Refactored JS to display show grid after images loaded.&quot; 
- * 650daf44e - 2019-11-05: Revert &quot;Switched to using async sleep when waiting for web socket clients to connect.&quot; 
- * d51782061 - 2019-11-04: Pre-Release v9.4.183.dev1 
- * bb8c6e568 - 2019-11-04: Release v9.4.182 
- * 69602bec7 - 2019-11-04: Pre-Release v9.4.182.dev2 
- * 839e5ae15 - 2019-11-04: Switched to using async sleep when waiting for web socket clients to connect. 
- * b7b2ac46b - 2019-11-03: Pre-Release v9.4.182.dev1 
- * 6bb50b258 - 2019-11-03: Release v9.4.181 
- * fdc5c9d5b - 2019-11-03: Pre-Release v9.4.181.dev1 
- * b9bd1dccf - 2019-11-03: Release v9.4.180 
- * 0a7c487c0 - 2019-11-03: Pre-Release v9.4.180.dev1 
- * d685071b7 - 2019-11-03: Release v9.4.179 
- * 16e209457 - 2019-11-03: Pre-Release v9.4.179.dev1 
- * 7616019b7 - 2019-11-03: Release v9.4.178 
- * 8a252b55a - 2019-11-03: Resolved issue with daylight savings and scheduler. 
- * 82ee3f41c - 2019-11-02: Pre-Release v9.4.178.dev17 
- * 5450dd7f3 - 2019-11-02: Fixed indenting in template for shows list 
- * 4562049d8 - 2019-11-02: Refactored JS to display show grid after images loaded. 
- * 222c3ed4a - 2019-11-02: Pre-Release v9.4.178.dev16 
- * 828d5f75a - 2019-11-02: Refactored main shows page to load shows via web sockets. 
- * 7bff6d73d - 2019-11-02: Refactored TVShow and TVEpisode database models to use select instead of joined for lazy loading relationships. 
- * b9b280d70 - 2019-10-23: Refactored main shows page to load shows via web sockets. 
- * 84a5ed4bb - 2019-10-14: Pre-Release v9.4.178.dev15 
- * 2537f0b44 - 2019-10-14: Pre-Release v9.4.178.dev14 
- * add4a56cf - 2019-10-14: Pre-Release v9.4.178.dev13 
- * 60f542362 - 2019-10-14: Pre-Release v9.4.178.dev12 
- * 4cdf37473 - 2019-10-14: Added CI/CD deploy script for PyPi releases 
- * 66f810e9a - 2019-10-14: Pre-Release v9.4.178.dev11 
- * 4e0a44b46 - 2019-10-14: Pre-Release v9.4.178.dev10 
- * d07f9f8f3 - 2019-10-14: Pre-Release v9.4.178.dev9 
- * 401e6a9f9 - 2019-10-07: Added lazy loading to main shows page, reduces page load times. 
- * 749ed1b54 - 2019-10-06: Pre-Release v9.4.178.dev8 
- * da38c261d - 2019-10-06: Pre-Release v9.4.178.dev7 
- * 94946f8b0 - 2019-10-06: Added code to ensure token.json exists and if not then force logout. 
- * 0707d807c - 2019-10-06: Pre-Release v9.4.178.dev6 
- * 062ac6958 - 2019-10-06: Pre-Release v9.4.178.dev5 
- * 8dd6f5034 - 2019-10-06: Pre-Release v9.4.178.dev4 
- * f2a171d55 - 2019-10-06: Removed old manual token refresh code for API. 
- * 4cf7fbbcf - 2019-10-06: Pre-Release v9.4.178.dev3 
- * 1a335808c - 2019-10-06: Added code to auto-refresh SiCKRAGE&#x27;s API tokens. 
- * 33f9ddf35 - 2019-10-06: Pre-Release v9.4.178.dev2 
- * ed9a94df5 - 2019-09-29: Pre-Release v9.4.178.dev1 
- * 87a6ec61a - 2019-09-29: Release v9.4.177 
- * 0f10d349c - 2019-09-29: Development version bump. 
- * 6be984fe6 - 2019-09-29: Release v9.4.176 
- * 43fd8756d - 2019-09-29: Release v9.4.175 
- * 87e1d87dd - 2019-09-29: Fixed issue with adding cache results to external API when passed to executor. 
- * a55b7deab - 2019-09-28: Added readynas and qnap automated CI/CD deployments 
- * c3aed9a01 - 2019-09-28: Update .gitlab-ci.yml 
- * 9c19de02f - 2019-09-21: Added code to strip &#x60;;&#x60; from end of provider cookie string, resolved invalidation cookie issues. 
- * d35176f2f - 2019-09-18: Pre-Release v9.4.175.dev1 
- * 4a98d7fe2 - 2019-09-18: Release v9.4.174 
- * 7f6bdf7ab - 2019-09-18: Refactored speed.cd to use cookie login due to re-captcha on login forms. 
- * b783172a6 - 2019-09-16: Pre-Release v9.4.174.dev1 
- * 73d82236b - 2019-09-16: Release v9.4.173 
- * c41d62bf7 - 2019-09-16: Pass UTC timezone to TornadoScheduler 
- * f354ce83e - 2019-09-16: Pre-Release v9.4.173.dev1 
- * 483e4db33 - 2019-09-16: Release v9.4.172 
- * 170633151 - 2019-09-15: Bumped version for cfscrape to v2.0.8 Fixed issue with web sessions and CloudFlare handler Refactored NZBGet host:post required pattern, resolves issues with saving config settings Refactored frequency change functions to use &#x60;reschedule_job&#x60; apscheduler function, resolves issues with frequency not being updated correctly Fixed issue for full backlog searches not running if no show_id is passed 
- * ae7acbe0d - 2019-09-14: Resolved issue with enable/disable of provider daily and backlog searches. Added post method to robot.txt web handler that redirects to home. 
- * fa32f37af - 2019-09-14: Pre-Release v9.4.172.dev1 
- * 288e41982 - 2019-09-14: Release v9.4.171 
- * 962e0a0af - 2019-09-14: Added ability to check locale from info tab. 
- * f00bbc60b - 2019-09-14: Added &#x60;EpisodeNotFoundException&#x60; to list of Sentry ignored errors. Corrected SiCKRAGE forums web link. 
- * 5eb814d01 - 2019-09-08: Pre-Release v9.4.171.dev1 
- * e5ff7bc44 - 2019-09-08: Release v9.4.170 
- * 7df5d8f40 - 2019-09-08: Resolves issues for PosixPath being returned instead of string when trying to get subtitles path. 
- * 381737053 - 2019-09-08: Removed un-required application ID registration code from config migration code. 
- * e40869fc7 - 2019-09-08: Refactored config view for search clients to require NZB host/url to be set correctly before allowing saving of settings. 
- * 003aecaed - 2019-09-08: Release v9.4.169 
- * 4416a53ed - 2019-09-08: Resolved issues with setting jwt_payload value for TheTVDB API. 
- * 4c8378172 - 2019-09-08: Replaced &#x60;while&#x60; loop with range for TheTVDB API authentication 
- * 07dcf228a - 2019-09-08: Added GET method to AddNewShow handler, redirects request to home instead of throwing HTTP 405 error. 
- * 1b448d72f - 2019-09-08: Pre-Release v9.4.169.dev2 
- * db675fdc4 - 2019-09-08: Updated docker-compose file 
- * 94514efba - 2019-09-07: Resolved issue with version updater and branch_ref NoneType 
- * 6f4fdcb74 - 2019-09-07: Misc changes 
- * 30462b1f2 - 2019-09-07: Grammar correction. 
- * 34d453600 - 2019-09-07: Added docker-compose file. Corrected logger to properly get locale and pass to Sentry. 
- * 44977d45f - 2019-09-02: Refactored code for getting subtitles path, strips leading slashes from store custom subs path in settings to ensure proper path joining and confirms custom subs path does exist if absolute. 
- * d52005c6d - 2019-08-29: Pre-Release v9.4.169.dev1 
- * 4638e2610 - 2019-08-29: Release v9.4.168 
- * a4e25d1c6 - 2019-08-29: Refactored jQuery search client code, resolves issues with form validation. 
- * 798def65a - 2019-08-29: Refactored URL for support forums in readme 
- * ad5f6d811 - 2019-08-28: Added a list of exceptions to ignore for Sentry. 
- * 10e170e9d - 2019-08-18: Pre-Release v9.4.168.dev2 
- * 22648d1ec - 2019-08-18: Performs a database rollback for episodes that fail to post-process. 
- * 9484fc163 - 2019-08-16: Refactored saveShowNotifyList JS POST to GET 
- * 5fd62e076 - 2019-08-12: Raised timeout from 60 to 120 for Boxcar2 notifier. 
- * 41960cdae - 2019-08-12: Fixed &#x60;MissingArgumentError&#x60; errors for scene numbering web handler. 
- * a596be2a1 - 2019-08-11: Added string matching for source version update checks. 
- * 0116b2e29 - 2019-08-11: Pre-Release v9.4.168.dev1 
- * efc563734 - 2019-08-11: Release v9.4.167 
- * 25fc34f9f - 2019-08-11: Refactored code for searching providers, was causing issues with final results correctly, results where being removed when not matching exact quality. Rename resultType property to type for SearchResult class. 
- * 9c20647f7 - 2019-08-10: Pre-Release v9.4.167.dev1 
- * bb5635ec3 - 2019-08-10: Release v9.4.166 
- * 403515841 - 2019-08-10: Updated Sentry DSN 
- * 9dc065e2f - 2019-08-05: Fixed issue with getting current branch from GIT. 
- * f9f51d24a - 2019-08-04: Pre-Release v9.4.166.dev1 
- * 484236b8d - 2019-08-04: Release v9.4.165 
- * e5d59c9d1 - 2019-08-04: Renamed cache providers column &#x60;indexer_id&#x60; to &#x60;series_id&#x60; 
- * 7678be446 - 2019-08-04: Refactored external API to version 2 which uses series_id instead of indexer_id, part of larger code refactor. 
- * 365a16db2 - 2019-08-04: Resolved issue with int variable being used where str variable is expected when creating metadata for mede8er provider. 
- * bfd27b17a - 2019-08-03: Pre-Release v9.4.165.dev1 
- * dfd9ecf67 - 2019-08-03: Release v9.4.164 
- * e78b093ce - 2019-08-03: Added custom form validation for search clients and URLs 
- * b9e1cec52 - 2019-08-03: Fixed issues were skipping shows during adding of existing shows would just return to home page, now correctly skips to next show to add. 
- * 4d7edadd0 - 2019-08-03: Pre-Release v9.4.164.dev2 
- * dae67f8d0 - 2019-08-03: Refactored os.path for pathlib.Path 
- * 4b7cdaefa - 2019-08-03: Refactored python version log tagging to use platform instead of sys 
- * 0b1d1c70d - 2019-08-03: Pre-Release v9.4.164.dev1 
- * 8810a8320 - 2019-08-03: Release v9.4.163 
- * 66c72505a - 2019-08-03: Fixed startup issues with pathlib.Path, passes string representation of path to shutil.rmtree. 
- * 72203528b - 2019-08-01: Pre-Release v9.4.162.dev1 
- * c696d9414 - 2019-08-01: Release v9.4.161 
- * f269aa7ee - 2019-08-01: Fixed issues with startup and shutil.rmtree 
- * 22b5ff3c1 - 2019-08-01: Pre-Release v9.4.161.dev1 
- * cbdb2f1a7 - 2019-08-01: Release v9.4.160 
- * 2be1836ff - 2019-08-01: Fixed issues with cleanup of python compiled files on startup 
- * 95e46036a - 2019-07-31: Pre-Release v9.4.160.dev1 
- * 7b9f412c4 - 2019-07-31: Release v9.4.159 
- * 763629b05 - 2019-07-31: Refactored cleanup of pyc, pyo, and __pycache__ files and folders. 
- * b4f32269e - 2019-07-31: Updated gitignore file 
- * e210a8fb3 - 2019-07-31: Refactored post-processing to properly handle specials. Fixed issues with post-processing when version is none type. 
- * 67acc5d9f - 2019-07-31: Refactored download link for source installs to accommodate develop releases. 
- * 89e49316f - 2019-07-31: Fixed issues with saving metadata provider settings. 
- * cec8a876a - 2019-07-31: Pre-Release v9.4.159.dev1 
- * 5db54c4bd - 2019-07-31: Release v9.4.158 
- * 67b328efe - 2019-07-31: Refactored requirements.txt to replace package hachoir3 with hachoir, hachoir3 was removed from PyPi. 
- * a7367cfd6 - 2019-07-30: Refactored SiCKRAGE API web session requests to retry 3 times with 1s pause between retries. 
- * c8b25004d - 2019-07-30: Added passing of database session for scene number function calls in display show web handler. 
- * eb3a91213 - 2019-07-28: Added exception handling for tarfile extraction in version updater. 
- * cfbeee1ab - 2019-07-28: Fixed attribute error &#x60;&#x27;str&#x27; object has no attribute &#x27;decode&#x27;&#x60; in version updater. Fixes SICKRAGE-APP-PY3-1B9 
- * c7a14c81a - 2019-07-28: Pre-Release v9.4.158.dev1 
- * dad896a55 - 2019-07-28: Release v9.4.157 
- * 90fe2d3d3 - 2019-07-28: Refactored dynamic loading of metadata providers. Refactored dynamic loading of notifier providers. Refactored dynamic loading of NZB providers. Refactored dynamic loading of Torrent providers. Refactored metadata provider config property and added default value. Refactored web handler arguments to return string instead of None for default value. 
- * c5ca8dae3 - 2019-07-26: Added Sentry tag to gather Python version to help debug issues. 
- * e1a4bc05e - 2019-07-24: Added &#x60;--disable_updates&#x60; startup option to allow disabling of application updates both auto and manual. 
- * add2bae62 - 2019-07-22: Added check for existance of root directory before allowing adding of shows. 
- * 324d44f3a - 2019-07-22: Pre-Release v9.4.157.dev1 
- * 7d7e6e5b7 - 2019-07-22: Release v9.4.156 
- * 7fce35662 - 2019-07-22: Resolved issues with marking failed snatches and retrying snatches. 
- * 7cea63c5e - 2019-07-22: Pre-Release v9.4.156.dev1 
- * 56ddaf165 - 2019-07-22: Release v9.4.155 
- * 22a6e77bb - 2019-07-22: Resolved issues with sending Telegram notifications. 
- * 19624f654 - 2019-07-22: Updated copyright notices. 
- * a70aaea6b - 2019-07-22: Pre-Release v9.4.155.dev1 
- * 397ac97c0 - 2019-07-22: Release v9.4.154 
- * 4fd9b6613 - 2019-07-22: Enabled Synology package builds. 
- * 2a8a136b0 - 2019-07-22: Added database integrity check, shuts down SR if corrupt database is detected. Added fatal loggger function to log critical error and exit application. 
- * 3079a6fca - 2019-07-21: Pre-Release v9.4.154.dev1 
- * ae1a14e49 - 2019-07-21: Release v9.4.153 
- * ec617701d - 2019-07-21: Disabled deploying native Synology packages till Python 3.6.8 issues are resolved by Synocommunity. 
- * 23a244210 - 2019-07-21: Resolved &#x60;TypeError_manage_failed_downloads_mako in render_content &#x27;FailedSnatch&#x27; object is not subscriptable&#x60; Fixes SICKRAGE-APP-PY3-129 
- * 8c7316b21 - 2019-07-21: Added check for show object to see if NoneType when search TV show cache. 
- * eb4cf0ae6 - 2019-07-21: Removed authentication requirement for robots.txt handler. 
- * f18ee5466 - 2019-07-21: Season/Episode numbers are parsed during name parsing, removed redundant parsing in provider find routine, cleaned up code. 
- * 5b993994a - 2019-07-21: Modified startup scripts to use python3 instead of python2.7 
- * 08f3d6aad - 2019-07-21: Modified readme.md to reflect minimum requirement of Python 3.5+ 
- * db145403c - 2019-07-21: Pre-Release v9.4.153.dev1 
- * 31f9db267 - 2019-07-21: Release v9.4.152 
- * 16043b63f - 2019-07-21: Lowered requirement for Python to 3.5+ 
- * 927bc42cb - 2019-07-21: Pre-Release v9.4.152.dev1 
- * 54a1397b2 - 2019-07-21: Release v9.4.151 
- * 4806e15eb - 2019-07-21: Previous archived episodes will now be set to downloaded with original quality if the episode file is placed back. 
- * ee6597d45 - 2019-07-21: Refactored IsAlive web handler, resolves issues with restarts never redirecting back to home page or getting stuck. 
- * 6dcc183ea - 2019-07-21: Code cleanup for autoProcessTV files. 
- * 57ea9ffbc - 2019-07-21: Fixed issue for NZBGet downloads returning error &#x60;decorator() takes 1 positional argument but 2 were given&#x60; 
- * 2f4076d8f - 2019-07-21: When trying to determine season/episode numbers for air-by-date shows but multiple results found in database we now skip to finding result on Indexers. 
- * 81939c28d - 2019-07-20: Pre-Release v9.4.151.dev1 
- * 6a275ed12 - 2019-07-20: Release v9.4.150 
- * a805f3247 - 2019-07-20: Refactored how source updates are handled. Added version update testing for source updates. 
- * a3d975511 - 2019-07-20: Fixes SICKRAGE-APP-PY3-10X 
- * c419de010 - 2019-07-20: Pre-Release v9.4.150.dev1 
- * fbcf2b481 - 2019-07-20: Release v9.4.149 
- * 05c414015 - 2019-07-20: Fixed issues with unlinking account from application. Fixed issues with test init routines. 
- * 1999b1567 - 2019-07-20: Pre-Release v9.4.149.dev1 
- * ce0211119 - 2019-07-20: Release v9.4.148 
- * ac214149b - 2019-07-20: Pre-Release v9.4.148.dev1 
- * a702972a0 - 2019-07-20: Release v9.4.147 
- * 15bb43c83 - 2019-07-20: Added Sentry tag for locale to help debug Unicode issues. 
- * ae4c4b1a0 - 2019-07-20: Decodes output when checking for installed PIP version to convert from binary to string. 
- * c2e5d6704 - 2019-07-20: Pre-Release v9.4.147.dev1 
- * 130a23bd9 - 2019-07-20: Release v9.4.146 
- * 11a714abd - 2019-07-20: Added code to pass database session and find show objects. 
- * ca7e94e3e - 2019-07-20: No longer need to use url_concat for requests. 
- * 9c6fc0989 - 2019-07-20: Pre-Release v9.4.146.dev1 
- * 971d03215 - 2019-07-20: Release v9.4.145 
- * 2b93b2856 - 2019-07-19: Pre-Release v9.4.145.dev2 
- * 4c98a4454 - 2019-07-19: Returns back to home if whichSeries body param is missing when adding a new show. 
- * 592a4b672 - 2019-07-19: Fixed HTTP 500 Internal errors caused by improperly passing of params to New Shows handler when adding existing shows. 
- * 54eac4154 - 2019-07-18: Fixed issues with autoProcessTV imports. 
- * a339f1f6b - 2019-07-18: Checks for episode number in provider result episodes list before attempting to remove it. 
- * 52ba100b3 - 2019-07-18: Added handling of error detection when trying to get KODI version. 
- * 30f6bd1be - 2019-07-17: Pre-Release v9.4.145.dev1 
- * 88af88266 - 2019-07-17: Release v9.4.144 
- * df60f73c6 - 2019-07-17: Added code to ensure storing of episode object subtitles column is converted from list to string format. 
- * c7b8a466f - 2019-07-17: Pre-Release v9.4.144.dev1 
- * 115588118 - 2019-07-17: Release v9.4.143 
- * bb11dd5b7 - 2019-07-17: Pre-Release v9.4.143.dev1 
- * 692f9b1cf - 2019-07-17: Release v9.4.142 
- * 2af540a40 - 2019-07-17: Added bytes check to web session web hooks 
- * d4bb52b2a - 2019-07-16: Release v9.4.141 
- * bf8ba3540 - 2019-07-16: Release v9.4.140 
- * a1464ddcb - 2019-07-16: Added exception handling for json decode errors when decoding API token. 
- * 0f153a433 - 2019-07-16: Release v9.4.139 
- * e74980679 - 2019-07-15: Pre-Release v9.4.139.dev2 
- * 76af07127 - 2019-07-15: Resolved async/await issues with API builder. 
- * 578ab748c - 2019-07-14: Refactored using data to using json in requests. 
- * 7139f4482 - 2019-07-14: Pre-Release v9.4.139.dev1 
- * 6c1a44f0e - 2019-07-14: Release v9.4.138 
- * 4e9dd794a - 2019-07-14: Fixed json issues with Transmission torrent client. 
- * 574535288 - 2019-07-14: Pre-Release v9.4.138.dev1 
- * f3e68034c - 2019-07-14: Release v9.4.137 
- * 5fe263f3f - 2019-07-14: Fixed schedule category sorting. 
- * e12dfb570 - 2019-07-14: Pre-Release v9.4.137.dev1 
- * e6daa572f - 2019-07-14: Release v9.4.136 
- * dd3a9a608 - 2019-07-14: Fixed download issues for Deluge Web-UI Client. 
- * 9a12a645c - 2019-07-14: Release v9.4.135 
- * de4f179d9 - 2019-07-14: Release v9.4.134 
- * 83aec6047 - 2019-07-14: Pre-Release v9.4.134.dev7 
- * b835241d9 - 2019-07-14: Hard-coded UPSTREAM_BRANCH in CI/CD script to avoid passing tag names. 
- * 0583b040c - 2019-07-14: Pre-Release v9.4.134.dev6 
- * b278d463b - 2019-07-14: Resolved AttributeError_home_trakt_shows_mako in render_content 
- * 57198a80d - 2019-07-14: Pre-Release v9.4.134.dev5 
- * 5d6bcf5c9 - 2019-07-14: Pre-Release v9.4.134.dev4 
- * e9c169ffe - 2019-07-14: Pre-Release v9.4.134.dev3 
- * 985b907b4 - 2019-07-14: Pre-Release v9.4.134.dev2 
- * 2e0b68b34 - 2019-07-14: Resolved issue with renaming episodes not including metadata files. 
- * 528de1053 - 2019-07-14: Refactored how TheTVDB API determines images are available for shows and episodes. 
- * 307573f09 - 2019-07-14: Added response code 403 to trigger re-auth for API tokens. 
- * 0d4b8f4ed - 2019-07-14: Added TVEpisode location validator to set file size in database when altering the objects location. 
- * 6a136b12c - 2019-07-14: Added file size helper method. 
- * 6b7e8bba7 - 2019-07-13: Pre-Release v9.4.134.dev1 
- * 9aa399647 - 2019-07-13: Release v9.4.133 
- * 818f9c550 - 2019-07-13: Raised SQLite pool size to 200 
- * 3e7748e54 - 2019-07-13: Refactoring database tests. 
- * 63d34e6d1 - 2019-07-13: Pre-Release v9.4.133.dev1 
- * fc3b30179 - 2019-07-13: Release v9.4.132 
- * 999475fc0 - 2019-07-13: Updated git release flow. 
- * f51300562 - 2019-07-13: Fixed issues with TornadoHTTP handler and self-signed SSL certificates. Fixed issue #382 
- * 1fbb04ce4 - 2019-07-13: Fixes issues with generating self-signed SSL certificates on startup. 
- * 4a0b9b439 - 2019-07-13: Added exception handling for unauthorized raises. 
- * 7b0f1bfbb - 2019-07-13: Resolved issue with setting proxy address when global proxy configured. 
- * d5cd13830 - 2019-07-13: Fixed Sentry release environments naming. 
- * 1175f6346 - 2019-07-13: Fixes issues with mass editing shows and setting qualities. 
- * faeabc947 - 2019-07-13: Pre-Release v9.4.132.dev1 
- * 4072c47a2 - 2019-07-13: Release v9.4.131 
- * 4df45f161 - 2019-07-13: Fixed issue with gitlab-ci and pipelines for master branch. 
- * f7067e987 - 2019-07-13: Pre-Release v9.4.131.dev1 
- * 368e70c18 - 2019-07-13: Release v9.4.130 
- * 9628b3657 - 2019-07-13: Release v9.4.129 
- * 705d0bda1 - 2019-07-13: Release v9.4.128 
- * 45aab9af9 - 2019-07-13: Release v9.4.127 
- * 32308beb6 - 2019-07-13: Release v9.4.126 
- * a411278c6 - 2019-07-13: Release v9.4.125 
- * 0ff1e9d82 - 2019-07-13: Refactored release flow. 
- * b9ea97eb3 - 2019-07-13: Changed close to remove for database sessions being access from web handlers, helps resolve QueuePool overflow issues. 
- * bc7c35998 - 2019-07-12: Updated gruntfile. 
- * 65f317874 - 2019-07-12: Release v9.4.124 
- * c878cc06a - 2019-07-12: Pre-Release v9.4.124.dev2 
- * 1ad0be62d - 2019-07-12: Pre-Release v9.4.124.dev1 
- * 3923c2d09 - 2019-07-12: Release v9.4.122 
- * 9e9f867fe - 2019-07-12: Pre-Release v9.4.122 
- * 7d9f05413 - 2019-07-12: Pre-Release v9.4.121 
- * 7e3a1e884 - 2019-07-12: Pre-Release v9.4.120 
- * 3e2a87007 - 2019-07-12: Updated gruntfile. 
- * a586ca043 - 2019-07-12: Release v9.4.120 
- * 1ed900dac - 2019-07-12: Cleaned up Kodi notifier code. 
- * f64190094 - 2019-07-12: Cleaned up BTN provider code. 
- * 66fc22825 - 2019-07-12: Resolved issues with Kodi notifications. Added GitLab CI/CD build stage for Synology. 
- * 17ee7fbb1 - 2019-07-11: Pre-Release v9.4.120.dev1 
- * 01678da7b - 2019-07-11: Migrated Docker builds to their own repository. 
- * 30e8a1b7d - 2019-07-11: Release v9.4.119 
- * edc07c8d7 - 2019-07-11: Resolved issue for saving custom qualities, black/white lists, and scene exceptions. 
- * 2084c5190 - 2019-07-11: Fixed issue &#x60;self[klass().id] &#x3D; klass() TypeError: &#x27;NoneType&#x27; object is not callable&#x60; 
- * 3b88e82e0 - 2019-07-11: Resolves &#x60;can&#x27;t concat str to bytes&#x60; in sickrage.providers in _get_season_search_strings 
- * 63354dce5 - 2019-07-10: Release v9.4.118 
- * f472dcac4 - 2019-07-10: Resolved issues with BTN Torrent provider. 
- * f6fce2766 - 2019-07-10: Places search result from indexer into list object if returned as dict. 
- * 9c3a3c04f - 2019-07-10: Resolved sqlite3.IntegrityError: NOT NULL constraint failed: history.release_group 
- * ef9a6cb96 - 2019-07-10: Resolved KeyError in sickrage.core.webserver.handlers.api in run error &#x27;indexer_id&#x27; 
- * 7ad8c0b06 - 2019-07-10: Resolves error &#x60;can&#x27;t concat str to bytes&#x60; in &#x60;sickrage.providers in _get_episode_search_strings&#x60; Fixes SICKRAGE-APP-PY3-M4 
- * 8a423fd15 - 2019-07-10: Resolved unsupported operand type(s) for +&#x3D;: &#x27;dict&#x27; and &#x27;list&#x27; 
- * 1ee3cdb90 - 2019-07-09: Release v9.4.117 
- * edd628975 - 2019-07-09: Fixed issue with post-processing and logging downloads to history when unable to determine provider result came from. 
- * 134fcfe23 - 2019-07-09: Fixed typo in container name 
- * 8aa49580f - 2019-07-08: Turned on tagging for develop branch to assist gitlab ci/cd builds. 
- * 42aec5573 - 2019-07-08: Release v9.4.116 
- * 8f08c10c2 - 2019-07-08: Release v9.4.115 
- * b0731df15 - 2019-07-08: Release v9.4.114 
- * f369fde9f - 2019-07-08: Release v9.4.113 
- * 2df3ed969 - 2019-07-08: Release v9.4.112 
- * 106bd300b - 2019-07-08: Testing automated docker builds. 
- * aee26322d - 2019-07-08: Testing automated docker builds. 
- * 07d2e3c35 - 2019-07-08: Release v9.4.111 
- * 6b4378aea - 2019-07-08: Refactored GitLab CI/CD script and Dockerfiles to cut down build times. 
- * b8618323f - 2019-07-08: Update Dockerfile.arm32v7 
- * 43d40c38a - 2019-07-08: Release v9.4.110 
- * 9d17dfa42 - 2019-07-08: Fixed issue with manually post-processing episodes, was a typo. 
- * 9521413b7 - 2019-07-07: Release v9.4.109 
- * ca70d11b6 - 2019-07-07: Release v9.4.108 
- * ea56a8b17 - 2019-07-07: Updated Docker image tags to correctly represent multi-arch 
- * 5b3fb85a0 - 2019-07-07: Release v9.4.107 
- * 3c710c6ee - 2019-07-07: Release v9.4.106 
- * bd7f58a6c - 2019-07-07: Added qemu to help building of ARM Docker images 
- * 8fc1af91b - 2019-07-07: Added qemu to help building of ARM Docker images 
- * c6ea33ee1 - 2019-07-07: Added qemu to help building of ARM Docker images 
- * 9dbd3dd34 - 2019-07-07: Added qemu to help building of ARM Docker images 
- * 701bdaccc - 2019-07-07: Added qemu to help building of ARM Docker images 
- * d463caa92 - 2019-07-07: Added qemu to help building of ARM Docker images 
- * 30142eb40 - 2019-07-07: Added qemu to help building of ARM Docker images 
- * 0be638a94 - 2019-07-07: Added qemu to help building of ARM Docker images 
- * 587fd22b3 - 2019-07-07: Added qemu to help building of ARM Docker images 
- * a090c8056 - 2019-07-07: Added qemu to help building of ARM Docker images 
- * 45cc75a39 - 2019-07-07: Added qemu to help building of ARM Docker images 
- * 2f7f05c18 - 2019-07-07: Added qemu to help building of ARM Docker images 
- * 3149766f3 - 2019-07-07: Added qemu to help building of ARM Docker images 
- * 2597869ff - 2019-07-07: Added qemu to help building of ARM Docker images 
- * 341af4525 - 2019-07-07: Added qemu to help building of ARM Docker images 
- * f2cbf307a - 2019-07-07: Added qemu to help building of ARM Docker images 
- * 4e8720c0e - 2019-07-07: Added qemu to help building of ARM Docker images 
- * 594adf5f3 - 2019-07-07: Added qemu to help building of ARM Docker images 
- * 3c92a5bf3 - 2019-07-07: Added qemu to help building of ARM Docker images 
- * b5eeedd57 - 2019-07-07: Added qemu to help building of ARM Docker images 
- * cd71a7830 - 2019-07-07: Added qemu to help building of ARM Docker images 
- * bcd83f0cf - 2019-07-07: Added qemu to help building of ARM Docker images 
- * 1a2908e11 - 2019-07-07: Pre-Release v9.4.106.dev6 
- * bd8dc6758 - 2019-07-07: Pre-Release v9.4.106.dev5 
- * c8067c4f9 - 2019-07-07: Pre-Release v9.4.106.dev4 
- * 86e80dd04 - 2019-07-07: Pre-Release v9.4.106.dev3 
- * ab0fcd1fa - 2019-07-07: Pre-Release v9.4.106.dev2 
- * b0c73bfd3 - 2019-07-07: Pre-Release v9.4.106.dev1 
- * a38b1e230 - 2019-07-07: Added qemu to help building of ARM Docker images 
- * 2070a5bed - 2019-07-07: Release v9.4.105 
- * cb5b1592d - 2019-07-07: Updated gitlab-ci.yml file 
- * 0a2f5542d - 2019-07-07: Release v9.4.104 
- * c844c9976 - 2019-07-07: Added Docker builds for ARM32V7 and ARM64V8 
- * 73ad9a498 - 2019-07-07: Release v9.4.103 
- * f5844fe02 - 2019-07-07: Updated SABnzbd search client web view to remind end-user to not place a trailing slash at the end of their hostname. 
- * 331fb7b29 - 2019-07-07: Confirms that there is a year to be added from series pieces to show directory if requested. 
- * 54f6b27ef - 2019-07-07: Resolved issue with BTN provider API error logging. 
- * 1cb6b44fc - 2019-07-07: Fixes SICKRAGE-APP-PY3-K4 
- * e59ea00f5 - 2019-07-07: Release v9.4.102 
- * 1f37a22a3 - 2019-07-07: Fixes SICKRAGE-APP-PY3-HF 
- * abb25aa84 - 2019-07-07: Fixes SICKRAGE-APP-PY3-JT 
- * c768c9a48 - 2019-07-06: Release v9.4.101 
- * f885aba87 - 2019-07-06: Fixes SICKRAGE-APP-PY3-HF 
- * 2f5e07c8d - 2019-07-06: Release v9.4.100 
- * 707644451 - 2019-07-06: Refactored application API routines to resolve issues with 3rd party API clients. 
- * 2f4236c98 - 2019-07-06: Release v9.4.99 
- * cd7cecc7a - 2019-07-06: Added exception handling for multiple results being returned for scene numbering off TVEpisodes table. 
- * fafc8050b - 2019-07-06: Added cleanup functions to help with duplicates in database tables. 
- * 5dff80fb0 - 2019-07-06: Passes database session object onto add keyword function to avoid database locks. 
- * c8ac2d441 - 2019-07-06: Misc typo fixes. 
- * 5ceded0af - 2019-07-06: Looks for provider search result by URL and if exists it does not add to cache. 
- * c446e185b - 2019-07-06: Converted misc errors to warnings 
- * 1de0584ab - 2019-07-06: Resolved issue for combining quality when qualities list is empty by providing a default. 
- * 60f4df007 - 2019-07-06: Added exception catching for PermissionError that generates a warning. 
- * 6ddee98ef - 2019-07-06: Release v9.4.98 
- * d426b5d73 - 2019-07-06: Resolves timeout issues for internal http requests. 
- * 0603b4cc9 - 2019-07-06: Release v9.4.97 
- * 466bb2838 - 2019-07-06: Resolved issues with subtitle downloading. 
- * 569cda341 - 2019-07-06: Pre-Release v9.4.97.dev1 
- * b04bc52a8 - 2019-07-06: Added ability to set application URL web root from general interface settings Added requirements-dev.txt as extra requirements in setup.py 
- * 97f0ddc7d - 2019-07-05: Release v9.4.96 
- * 6c06ea1f7 - 2019-07-05: Pre-Release v9.4.96.dev2 
- * 967f0c07c - 2019-07-05: Removed links to update Kodi and Emby libraries from main template, resolves issue with missing show arguments. 
- * d0aae5b39 - 2019-07-05: Resolves unbound exception for variable &#x60;imdb_exception&#x60; 
- * fbbeec4ae - 2019-07-04: Pre-Release v9.4.96.dev1 
- * 140e12938 - 2019-07-04: Performs select count on provider cache results to determine if its ok to insert provider result. 
- * 25572062b - 2019-07-03: Removed un-needed sickrage.core.api.API import 
- * ac8f56567 - 2019-07-03: Resolves issue with application API and &#x27;ContextSession&#x27; object being called by mistake. 
- * f7eea9011 - 2019-07-03: Release v9.4.95 
- * d9d808799 - 2019-07-03: Resolves async issues with application API. 
- * 0d476b6ca - 2019-07-03: Release v9.4.94 
- * 8fb2de789 - 2019-07-03: Resolves issue with saving subtitle settings. 
- * a2bfb7721 - 2019-07-03: Release v9.4.93 
- * 32ed35832 - 2019-07-03: Fixed key not found issue with migration table column mapper. 
- * 831787e65 - 2019-07-03: Resolves &#x60;a bytes-like object is required, not &#x27;str&#x27;&#x60; 
- * d6a1ed2ef - 2019-07-02: Pre-Release v9.4.93.dev1 
- * 6471a4742 - 2019-07-02: Fixes SICKRAGE-APP-PY3-C6 
- * 79bd8f1e9 - 2019-07-02: Release v9.4.92 
- * 22240c96a - 2019-07-02: Resolves version updated issue &#x60;&#x27;str&#x27; object has no attribute &#x27;decode&#x27;&#x60; 
- * 526b345cb - 2019-07-01: Refactored display show mako code to check if imdb_info object has attribute genre. 
- * 60c2498fb - 2019-07-01: Pre-Release v9.4.92.dev1 
- * 9a0834547 - 2019-07-01: Refactored Deluge Daemon client to PIP install and removed old lib requirement. 
- * 7b8220e7f - 2019-07-01: Added code to clear processing log for queued items. 
- * 342533898 - 2019-07-01: Release v9.4.91 
- * df757f507 - 2019-07-01: Resolved issues with installing requirements.txt during updates causing updates to fail. 
- * 2f63091d3 - 2019-07-01: Release v9.4.90 
- * fcadeabb4 - 2019-07-01: Fixes SICKRAGE-APP-PY3-EX 
- * 290801801 - 2019-07-01: Release v9.4.89 
- * c3957e4dc - 2019-07-01: Resolved issues with NZB searches and not snatching found results. Resolved issues with snatching NZB search results using SABnzbd. 
- * a15394bf1 - 2019-07-01: Release v9.4.88 
- * aa389b100 - 2019-07-01: Pre-Release v9.4.88.dev6 
- * 5e05f9ce7 - 2019-07-01: Refactored show search list to not select shows already in library. 
- * 5bffa94a2 - 2019-07-01: Refactored how we gather query and body arguments to use one method. 
- * c894e7459 - 2019-07-01: Resolved issues with unicode decoding output from version update commands. 
- * 60ad77ff8 - 2019-07-01: Pre-Release v9.4.88.dev5 
- * a4f2d4e56 - 2019-07-01: Refactored async http client calls in web handlers. 
- * 8b2b29035 - 2019-07-01: Pre-Release v9.4.88.dev4 
- * c71c5cefc - 2019-07-01: Resolved issues with sorting main show poster view. 
- * d708cb2d2 - 2019-07-01: Refactored database calls for GetManualSearchStatusHandler class. 
- * 051445b33 - 2019-07-01: Resolves &#x27;NoneType&#x27; object has no attribute &#x27;get_episode&#x27; for manual episode searches. 
- * e2a515c20 - 2019-07-01: Refactored base64 encoding to Python 3 style, resolves issues with both Plex and Kodi notifiers. 
- * d977639ed - 2019-07-01: Fixed typo in ProperSearch class. 
- * 2c9539800 - 2019-07-01: Pre-Release v9.4.88.dev3 
- * 65b1dcf75 - 2019-07-01: Refactored SABnzbd class code to resolve json decode issues. 
- * 4ba9839f7 - 2019-06-30: Pre-Release v9.4.88.dev2 
- * 1c7e00bf0 - 2019-06-30: Refactored EditShow view call to update show object before trying to set anime black/white lists. 
- * 0f183b770 - 2019-06-30: Release v9.4.87 
- * 157f3a6dd - 2019-06-30: Fixes SICKRAGE-APP-PY3-DT 
- * 3c4a9b927 - 2019-06-30: Pre-Release v9.4.87.dev9 
- * 2fa16c619 - 2019-06-30: Fixes SICKRAGE-APP-PY3-DS 
- * ab09366df - 2019-06-30: Fixes SICKRAGE-APP-PY3-DB 
- * a4fc5c959 - 2019-06-30: Pre-Release v9.4.87.dev8 
- * d24f2e5e2 - 2019-06-30: Fixes SICKRAGE-APP-PY3-D5 
- * db4a94b20 - 2019-06-30: Pre-Release v9.4.87.dev7 
- * 28a37348b - 2019-06-30: Fixes SICKRAGE-APP-PY3-C0 
- * 2a6d3de11 - 2019-06-30: Pre-Release v9.4.87.dev6 
- * c42ee9644 - 2019-06-30: Added exception handling for search status &#x60;get_episodes&#x60; function 
- * 0a574b363 - 2019-06-30: Pre-Release v9.4.87.dev5 
- * 77ac1dcf1 - 2019-06-30: Refactored API call &#x60;shows&#x60; to resolve coroutine issue 
- * 8f457a116 - 2019-06-30: Refactored API call &#x60;show.stats&#x60; 
- * 352931e93 - 2019-06-30: Pre-Release v9.4.87.dev4 
- * b8d32c76f - 2019-06-30: Refactored cache database last_search table provider column to be the new primary key, dropped column ID. 
- * 5b281252f - 2019-06-30: Added Sentry deploys command to CI/CD. 
- * 25f4b661f - 2019-06-30: Pre-Release v9.4.87.dev3 
- * 3d96faf07 - 2019-06-30: Testing Sentry release tracking. 
- * d8ef19390 - 2019-06-30: Pre-Release v9.4.87.dev2 
- * b4eb0e71a - 2019-06-30: Resolved yaml issue for CI/CD 
- * fda4adf7b - 2019-06-30: Pre-Release v9.4.87.dev1 
- * 3f04b4d2c - 2019-06-30: Fixed &#x60;can&#x27;t compare datetime.datetime to datetime.date&#x60; for CompingEpisodes during API call. 
- * 5c877f45f - 2019-06-29: Release v9.4.86 
- * 81c32f3b4 - 2019-06-29: Update readme.md 
- * 4deb2671f - 2019-06-29: Update readme.md 
- * 1ca6bcdec - 2019-06-29: Release v9.4.85 
- * 859f7d3e2 - 2019-06-29: Pre-Release v9.4.85.dev37 
- * c7e61d642 - 2019-06-29: Fixed issue with creating processed marker files. Refactored function name for modifying file timestamps. 
- * cef304452 - 2019-06-29: Fixed issue with adding duplicate provider results to cache. 
- * 3bb44d022 - 2019-06-27: Pre-Release v9.4.85.dev36 
- * 33a8b4856 - 2019-06-27: Refactored TheTVDB API authentication code to resolve auth issues. 
- * 3832745f4 - 2019-06-25: Refactored misc errors to warnings. Fixed IntegrityError exception catching for adding provider result to DB. 
- * b7bc6f3ee - 2019-06-22: Pre-Release v9.4.85.dev35 
- * 6ffebcc06 - 2019-06-22: Refactored rTorrent client to use python 3 xmlrpc. Fixed SICKRAGE-APP-PY3-C5, &#x60;&#x27;NoneType&#x27; object has no attribute &#x27;query&#x27;&#x60; 
- * 17f4e245c - 2019-06-18: Pre-Release v9.4.85.dev34 
- * 13c6d5e05 - 2019-06-18: Pre-Release v9.4.85.dev33 
- * d37b9d803 - 2019-06-18: Pre-Release v9.4.85.dev32 
- * 9cb4a4835 - 2019-06-18: Added database integrity exception handling to catch exceptions caused by existing provider results in database. 
- * 2ab143623 - 2019-06-16: Fixed SICKRAGE-APP-PY3-BP - string indices must be integers 
- * d50d1406c - 2019-06-16: Pre-Release v9.4.85.dev31 
- * f75ab4795 - 2019-06-16: Refactored progress-bar for poster view. 
- * a75533a33 - 2019-06-15: Pre-Release v9.4.85.dev30 
- * 255da20e8 - 2019-06-15: Fixed issue with loading episode details from .nfo file for multi-episodes. 
- * 9906b4952 - 2019-06-15: Fixed issue with main show page including downloaded specials in download total. 
- * 242607a98 - 2019-06-15: Pre-Release v9.4.85.dev29 
- * 80cc2c483 - 2019-06-15: Refactored provider search to return single result, avoids multiple snatches. 
- * f3b429ade - 2019-06-15: Pre-Release v9.4.85.dev28 
- * 6af5a7dee - 2019-06-15: Cleaned up search queue code. 
- * 85455596c - 2019-06-14: Pre-Release v9.4.85.dev27 
- * 52691bd6a - 2019-06-14: Fixed issue with unprocessed videos being skipped due to being processed. Added exception handling for updating non-mp4 video tags. 
- * 71c7f470e - 2019-06-09: Pre-Release v9.4.85.dev26 
- * e850bb0f9 - 2019-06-09: Fixed issue with calling backlog on newly added show with wanted episodes. 
- * 0fe4cdd04 - 2019-06-09: Pre-Release v9.4.85.dev25 
- * 29b7ce4cd - 2019-06-09: Fixed issue with calling backlog on newly added show with wanted episodes. 
- * 7a7446af4 - 2019-06-09: Pre-Release v9.4.85.dev24 
- * 647bcbcfa - 2019-06-09: Refactored default for enabling daily and backlog provider searches to True. 
- * eef0ad4b2 - 2019-06-09: Pre-Release v9.4.85.dev23 
- * a5032f124 - 2019-06-09: Pre-Release v9.4.85.dev22 
- * e743c7ec3 - 2019-06-09: Misc code refactors. 
- * 7d0b6b2a3 - 2019-06-09: Pre-Release v9.4.85.dev21 
- * 4b8e9f03c - 2019-06-09: Refactored main shows page to not include specials or unaired in totals. 
- * c482cc50e - 2019-06-09: Fixed issue with CSS and progress bar coloring. 
- * 9bc2b794e - 2019-06-09: Fixed &#x60;TypeError: can only concatenate str (not &quot;int&quot;) to str&#x60; error. 
- * f8b0c8af8 - 2019-06-09: Fixed &#x60;&#x27;TorrentSearchResult&#x27; object has no attribute &#x27;show&#x27;&#x60; error. 
- * 840374995 - 2019-06-09: Pre-Release v9.4.85.dev20 
- * de8ca8c24 - 2019-06-09: Fixed &#x27;NoneType&#x27; object has no attribute &#x27;query&#x27; error when trying to get episodes via absolute numbers in name parser. 
- * ae7eff421 - 2019-06-09: Pre-Release v9.4.85.dev19 
- * fc59ac305 - 2019-06-08: Pre-Release v9.4.85.dev18 
- * f4aed18ad - 2019-06-08: Add code to update episode video file metadata tags. 
- * 0d74c9794 - 2019-06-08: Pre-Release v9.4.85.dev17 
- * 5ed3462f8 - 2019-06-08: Pre-Release v9.4.85.dev16 
- * 164b687cc - 2019-06-08: Fixed issues were season packs and multi-ep search results would cause multiple downloads of the same episode. 
- * 1e38c3c0a - 2019-06-08: Pre-Release v9.4.85.dev15 
- * 30c9bdacf - 2019-06-08: Refactored search code to account for season packs and multi-episode results when determining quality size constraints. 
- * a22928603 - 2019-06-08: Pre-Release v9.4.85.dev14 
- * 7f15e4654 - 2019-06-07: Refactored database migration code to handle unique constraint errors. 
- * d8b37b353 - 2019-06-06: Pre-Release v9.4.85.dev13 
- * 547814611 - 2019-06-06: Fixed episode total to not include specials. 
- * c8e8d1279 - 2019-06-06: Pre-Release v9.4.85.dev12 
- * da84435a4 - 2019-06-06: Improved RSS searches for ExtraTorrent. 
- * fb2f3b2f8 - 2019-06-06: Pre-Release v9.4.85.dev11 
- * 37f7632d5 - 2019-06-06: Refactored episode properties to not include specials. 
- * 4efd8a0b9 - 2019-06-05: Pre-Release v9.4.85.dev10 
- * 2c370dde3 - 2019-06-05: Pre-Release v9.4.85.dev9 
- * 6e274160f - 2019-06-05: Refactored remaining incorrect database calls for CacheDB. 
- * ed7d5e146 - 2019-06-05: Pre-Release v9.4.85.dev8 
- * 0f9059667 - 2019-06-05: Updated YGG torrent provider URL. Updated USENET Crawler URL. 
- * 20831e8bc - 2019-06-04: Pre-Release v9.4.85.dev7 
- * 0aae828af - 2019-06-04: Fixed source commit variable to point to correct enviro var. 
- * 4c7abdcb3 - 2019-06-04: Pre-Release v9.4.85.dev6 
- * 42607c3b1 - 2019-06-04: Fixed select issue for display show drop down. Fixed issue for source commit value on docker builds. 
- * 9c4bfe19b - 2019-06-04: Pre-Release v9.4.85.dev5 
- * c3f602432 - 2019-06-04: Fixed typo in CI/CD script. 
- * acb838359 - 2019-06-04: Pre-Release v9.4.85.dev4 
- * 16d0db46e - 2019-06-04: Fixed issue with adding existing shows and being unable to parse a filename into a show object. 
- * 68564d4d0 - 2019-06-04: Fixed issues with saving Anime settings. 
- * 9e932820f - 2019-06-02: Pre-Release v9.4.85.dev3 
- * 64fff8078 - 2019-06-02: Set CI/CD stage to build. Set PIP python requirement to v3+ 
- * d9cccea9b - 2019-06-02: Pre-Release v9.4.85.dev2 
- * 45c6de2a2 - 2019-06-02: Pre-Release v9.4.85.dev1 
- * 8baf52440 - 2019-06-02: Fixed issue &#x60;install() got an unexpected keyword argument &#x27;unicode&#x27;&#x60; Refactored gitlab ci/cd script to build docker images for dev branch. Added missing session to find_show in API calls. 
- * 81d9d7ce1 - 2019-05-28: Refactoring provider searches to search for one season/episode at a time, this will allow for better multi-thread handling of search queue items. 
- * 3d8c87768 - 2019-05-27: Fixed issue &#x60;name &#x27;table&#x27; is not defined&#x60; 
- * 9f4c8df89 - 2019-05-26: Removed remaining custom database functions no longer needed. Added code to check database for existing episode ID before adding from Indexers. 
- * d59bf34e7 - 2019-05-26: Fixed issue #SICKRAGE-APP-PY3-8W (&#x27;NoneType&#x27; object has no attribute &#x27;scene_season&#x27;) 
- * 0cf4b20fd - 2019-05-26: Downgraded main database from version 13 to 12 to revert changes made to imdb_info and tv_shows tables. 
- * 77a73fb3b - 2019-05-26: Downgraded main database from version 13 to 12 to revert changes made to imdb_info and tv_shows tables. 
- * 890a787d5 - 2019-05-26: Fixed issue SICKRAGE-APP-PY3-8T (&#x27;NoneType&#x27; object has no attribute &#x27;show&#x27;) 
- * f8b9e2df2 - 2019-05-26: Refactored &#x60;run_task&#x60; function to not be async, returns future that can be awaited or fired and forgotten. 
- * 8e3b8534b - 2019-05-26: Added ability to not wait on a task executed by &#x60;run_task&#x60; function 
- * b69acd091 - 2019-05-26: Fixed issues with version updating. 
- * f3e2f6409 - 2019-05-26: Refactored history clear and trim web handlers to be async. 
- * ce23e73e9 - 2019-05-26: Added exception catch for &#x60;MultipleResultsFound&#x60; to &#x60;find_episode&#x60; helper function. 
- * b335495ee - 2019-05-26: Added exception catch for &#x60;MultipleResultsFound&#x60; to &#x60;find_episode&#x60; helper function. 
- * aa38d787d - 2019-05-26: Fixed issue &#x60;Missing argument whichSeries&#x60;. 
- * eea340c95 - 2019-05-26: Fixed issue &#x60;Missing argument pid&#x60; 
- * 57e5d92bf - 2019-05-26: Fixed issue &#x60;run_in_executor() got an unexpected keyword argument &#x27;webui&#x27;&#x60; 
- * 302fb737c - 2019-05-26: Refactored code to backup/restore &#x60;-shm&#x60; and &#x60;-wal&#x60; database files. 
- * 0a963af29 - 2019-05-26: Refactored code to backup/restore &#x60;-shm&#x60; and &#x60;-wal&#x60; database files. 
- * 995002d9d - 2019-05-26: Added check in versioned backup function to see if file we are wanting to backup to exists and if so exit. 
- * 52469e73d - 2019-05-26: Added code to perform database backup before upgrading scheme. 
- * 762d418d2 - 2019-05-26: Added code to perform database backup before upgrading scheme. 
- * 5ea032d7b - 2019-05-26: Added code to perform database backup before upgrading scheme. 
- * 69abaf43e - 2019-05-26: Fixed issue with History table migrations. 
- * 8e92b4f2b - 2019-05-26: Added exception to catch &#x60;Connection aborted&#x60; when attempting to get current user for web-ui. 
- * c8de035ab - 2019-05-26: Fixed issues with ForeignKey constraints. 
- * 97f4dcb80 - 2019-05-25: Added release_group column to History table. 
- * bde4484f0 - 2019-05-25: Added missing &#x60;get_url&#x60; calls for internal web calls. 
- * 9234ddd7f - 2019-05-23: Added more tables for migration from py2 to py3. 
- * 9ba0a45a3 - 2019-05-23: Fixed error &#x60;&#x27;NoneType&#x27; object has no attribute &#x27;episode&#x27;&#x60; 
- * 271a443f9 - 2019-05-23: Fixed issue with daily and backlog searches not running. 
- * 2803fa9f3 - 2019-05-22: Refactoring scene numbering functions. 
- * 255954995 - 2019-05-22: Fixed issue where scene_season, scene_episode, and scene_absolute_number got reset to zero if not found on XEM, caused search issues. 
- * a530f0f92 - 2019-05-21: Added provider ExtraTorrent. 
- * c76465fc9 - 2019-05-20: Fixed issue where main show page will show duplicate show entries when adding a new show. 
- * 94777c951 - 2019-05-20: Removed event queue, replaced with Tornado ioloop run_in_executor. 
- * 47e5445f7 - 2019-05-20: Fixed issue with show name not being displayed correctly when a show is being added to the database on main show display page. 
- * b1e3ed92f - 2019-05-20: Refactoring of misc class names. 
- * ab3d032de - 2019-05-20: Refactored database engine to use a QueuePool with a size of 100 connections. 
- * e64ee73bd - 2019-05-20: Re-added back &#x60;set_sqlite_pragma&#x60; with exception catching, only way to ensure journal mode is set to WAL. 
- * d0629b2eb - 2019-05-20: Removed event listener for setting WAL and moved to init function. 
- * 99b8bb820 - 2019-05-20: Refactored &#x60;set_sqlite_pragma&#x60; function. 
- * 85e874939 - 2019-05-20: Refactored &#x60;set_sqlite_pragma&#x60; function. 
- * 3d9725a51 - 2019-05-20: Fixed issue &#x60;OverflowError: date value out of range&#x60; 
- * d84f8634a - 2019-05-20: Reverted scoped_session as it was removing session binds from models. 
- * 35bd12b0c - 2019-05-20: Fixed issue Parent instance &lt;TVEpisode at 0x7f7bdd62cc50&gt; is not bound to a Session; lazy load operation of attribute &#x27;show&#x27; cannot proceed 
- * 2155d0508 - 2019-05-20: Fixed issue &#x27;NoneType&#x27; object has no attribute &#x27;commit&#x27; 
- * b1dd65fa0 - 2019-05-20: Improved performance of loading main shows page by doing away with overall stats and moving stat gathering for shows to views. 
- * ca56cadee - 2019-05-19: Improved performance of loading main shows page and gather statistics. Refactored database sessions to use scoped sessions. Refactored show statistics function to be async. Refactored relatedEps to related_episodes. 
- * ad4708281 - 2019-05-19: Improved app performance in regards to startup time. 
- * a2d0eb747 - 2019-05-19: Fixed issue with history of snatched episodes not having their statuses updated after being downloaded and post-processed. 
- * 4931de04e - 2019-05-19: Migrated History table column date from Integer type to DateTime type. Scene number functions now always return data. Fixed issue with getting data from provider caches. 
- * 289685be2 - 2019-05-19: Refactored variable to function call. 
- * bbfd1cea1 - 2019-05-19: Fixed issue with displaying show stats when adding or removing a show. 
- * a2040ab6a - 2019-05-19: Fixed Zooqle torrent provider search issues. 
- * 03b214e6e - 2019-05-19: Refactored how a new TVShow object is added and retrieved when adding a new show. 
- * 9faf599a0 - 2019-05-19: Refactored how a new TVShow object is added and retrieved when adding a new show. 
- * 7c9b57d83 - 2019-05-19: Refactored session handling for TVShow and TVEpisode objects. 
- * 1f9477e89 - 2019-05-19: Fixed Quicksearch, was incorrectly encoding data. 
- * 0e375e144 - 2019-05-19: Fixed &#x27;InstrumentedList&#x27; object has no attribute &#x27;all&#x27; 
- * 890748e45 - 2019-05-19: Added Grunt task to build and push docker images. 
- * df15c000d - 2019-05-18: Added db_session where needed for web handlers. 
- * 38677592b - 2019-05-18: Fixed issue with searches and picking best results when multiple results presented. 
- * bd3934da7 - 2019-05-18: Switched back to using python properties for grabbing stats for shows. 
- * a305c92b5 - 2019-05-18: Fixed a issue with relationships for tv shows and episodes 
- * 4edb8907d - 2019-05-18: Added database session decorator where needed. 
- * e3c53962f - 2019-05-18: Added function to Indexer API to return image key types before attempting to grab images that may result in a HTTP 404 error code. 
- * 87ad69964 - 2019-05-17: Fixed &#x27;NoneType&#x27; object has no attribute &#x27;indexer_id&#x27; 
- * a53079ed0 - 2019-05-17: Refactored show stat handling. 
- * 3a9d09a46 - 2019-05-16: Refactored into transactional for converting airdate column to date type on TV Episodes table. 
- * 948641bf4 - 2019-05-15: Testing new way of providing show stats. 
- * ccf0d0ccf - 2019-05-14: Testing new way of providing show stats. 
- * 6ef50bef8 - 2019-05-14: Testing new way of providing show stats. 
- * 4a62775c4 - 2019-05-14: Testing new way of providing show stats. 
- * 52147ba69 - 2019-05-13: Refactoring post-processor to pass show and episode IDs instead of objects. 
- * c478bebc3 - 2019-05-13: Refactoring post-processor to pass show and episode IDs instead of objects. 
- * dde770c9b - 2019-05-13: Implemented async for API app calls 
- * a2fb2db61 - 2019-05-13: Removed un-required sleep for post-processor 
- * 07dc6b47f - 2019-05-13: Fixed issue with backlog searches not working due to async not being properly implemented on queue items 
- * 11903dd26 - 2019-05-13: Removed ajaxsearch init from schedule core js handler 
- * fb7f6659b - 2019-05-13: Removed ajaxsearch init from schedule core js handler 
- * 80ebdad5e - 2019-05-13: Fixed issue with polling for episode search status from scheduler page when no show ID is provided. 
- * 0fb51c473 - 2019-05-13: Fixed AttributeError: &#x27;NoneType&#x27; object has no attribute &#x27;episode&#x27; 
- * 4430d6d0a - 2019-05-13: Added function to commit database session after web session is finished. 
- * 225936aea - 2019-05-13: Fixed issues with manual searches, added session decorator to snatch episode function. 
- * e34a1ed82 - 2019-05-12: Converted schedule and display show handlers to async. 
- * c6818d8b0 - 2019-05-12: Resolved issues with show updates and refreshes related to database sessions. 
- * e8972ea74 - 2019-05-12: Added database event listener to apply defaults on init. Fixed issue with default not being used with getting attribute that returns NoneType. Misc issues resolved for adding new shows. 
- * e82295e64 - 2019-05-09: Added code to convert runtime value from String to Integer when populating show data from Indexers. 
- * 92cb32542 - 2019-05-08: Refactored TVEpisode object to use database object class. 
- * a698d904a - 2019-05-08: Refactored TVEpisode object to use database object class. 
- * 02d3bdc38 - 2019-05-07: Refactoring database calls to properly use session context. 
- * 1a3071ad0 - 2019-05-07: Refactored TVEpisode object to use database object class. 
- * e9517c5d2 - 2019-05-07: Refactored TVEpisode object to use database object class. 
- * 5684a0948 - 2019-05-06: Refactoring database calls to properly use session context. 
- * fc6cbc806 - 2019-05-06: Refactored TVEpisode object to use database object class. 
- * ced892474 - 2019-05-05: Refactoring database calls to properly use session context. 
- * b0d7afa37 - 2019-05-05: Added improved exception handling for database session context 
- * f688a2f1f - 2019-05-05: Added retry code to database session context manager. 
- * fc34daca5 - 2019-05-05: Refactored database calls to be more multi-thread friendly. 
- * b73615052 - 2019-05-05: Refactored IMDbInfo table nullable columns allowance. 
- * 8d7046525 - 2019-05-05: Refactored core main helpers module. 
- * 8f8968bc9 - 2019-05-05: Refactored post-processor class code. 
- * 6f3e01496 - 2019-05-05: Refactored schedule calendar view. 
- * 413905a40 - 2019-05-05: Added flush function to database class. 
- * 8d23b3554 - 2019-05-05: Added flush command to database add and delete calls. 
- * 98f1d1c55 - 2019-05-05: Added database migration code to add column episode_id to History tables 
- * d6c5d1461 - 2019-05-05: Added database migration code to convert TV Episode airdate to type Date 
- * f9acdcf93 - 2019-05-04: Refactored TV Shows object &#x60;get_episode&#x60; function. 
- * 50275d870 - 2019-05-04: Refactored schedule calendar view. 
- * 053e40408 - 2019-05-04: Refactored TV Episode column &#x60;airdate&#x60; to return Date type. 
- * c31c7c4e8 - 2019-05-04: Refactored History methods 
- * f976caffb - 2019-05-04: Refactored &#x60;GetManualSearchStatusHandler&#x60; 
- * 7fa3757e0 - 2019-05-04: Refactored &#x60;searchProviders&#x60; method 
- * ac6ef8c15 - 2019-05-04: Refactored &#x60;find_search_results&#x60; function 
- * 468638fb9 - 2019-05-04: Refactored &#x60;show_names&#x60; module 
- * 57fef3382 - 2019-05-04: Refactored search provider NewPCT 
- * 17bb034ff - 2019-05-04: Refactored search provider Zooqle 
- * 944fb51eb - 2019-05-04: Refactored search provider TVChaosUK 
- * 49b328633 - 2019-05-04: Refactored search provider HDBits 
- * 4ae5aa9f4 - 2019-05-02: Refactored Proper Searcher 
- * f739d7033 - 2019-05-02: Refactored Proper Searcher 
- * 9af84dc60 - 2019-05-01: Refactored &#x60;FailedSnatchSearcher&#x60; 
- * f52da1338 - 2019-05-01: Refactored &#x60;BacklogQueueItem&#x60; 
- * c33773841 - 2019-05-01: Refactored &#x60;daily_searcher&#x60; module 
- * f7cf3a184 - 2019-05-01: Refactored &#x60;backlog_searcher&#x60; module 
- * f8ee03220 - 2019-05-01: Refactored &#x60;new_episode_finder&#x60; method 
- * d0db0bbd9 - 2019-04-29: Refactored TVEpisode object to use database object class. 
- * 8c13b3426 - 2019-04-29: Fixed issue with setting black and white keywords for Anime shows. 
- * c96bbb02a - 2019-04-29: Fixed issue with setting black and white keywords for Anime shows. 
- * d8ba1666c - 2019-04-29: Misc typo 
- * 9acc7fb25 - 2019-04-29: Added exception for multiple results found when searching for absolute numbering off XEM. 
- * 410b5fddd - 2019-04-29: Updated requirements 
- * 5f870d9ba - 2019-04-28: Removed committing to add and delete database methods. 
- * 49484331e - 2019-04-28: Added committing to add and delete database methods. 
- * 0290810d5 - 2019-04-28: Added tagging of app_id and sub_id to Sentry remote logging. 
- * f51950f0d - 2019-04-28: Added tagging of app_id and sub_id to Sentry remote logging. 
- * faa157077 - 2019-04-28: Added tagging of app_id and sub_id to Sentry remote logging. 
- * a4ee42fd7 - 2019-04-28: Fixed issue with viewing logs and max lines 
- * 61cce7cde - 2019-04-28: Fixed issue with clearing errors and warnings 
- * fea454aad - 2019-04-28: Fixed show display page to sort drop-down of shows non-case-sensitive 
- * 4d9e81672 - 2019-04-28: Refactoring post-processor code. 
- * 3c62f7133 - 2019-04-28: Added code to retry getting responses from TheTVDB API. 
- * 2eb58478c - 2019-04-28: Fixed issue with looking up show in database using string search terms. 
- * 129e48fcc - 2019-04-28: Fixed limits issue for adding new shows from Trakt.tv 
- * 45cdfe1d2 - 2019-04-28: Fixed attribute issue for show object release groups 
- * b91e49c14 - 2019-04-28: Misc code refactors for using show episode relationships 
- * 1b7804979 - 2019-04-27: Refactored old code used for getting show episode images. 
- * 356ab9356 - 2019-04-27: Fixed issue with forcing backlogs and finding nothing. 
- * 3c3aed5d3 - 2019-04-27: Refactored backlog and daily log messages to indicate number of days its searching for. 
- * 4375dffcc - 2019-04-27: Fixed issue with trimming history. 
- * 887cb3a8b - 2019-04-27: Fixed web call to force daily searches. 
- * 77ac496ba - 2019-04-27: Fixed issue with show not being added when trying to add show via queue. 
- * b1e7d1d19 - 2019-04-27: Fixed issue with displaying existing shows from multiple root directories. 
- * 9ddf71a71 - 2019-04-27: Enabled &#x60;autocommit&#x60; for database sessions. 
- * b2d7407d9 - 2019-04-27: Refactoring show object code 
- * c0cbb15f4 - 2019-04-26: Fixed issue with internal http client and auth 
- * 2dd651887 - 2019-04-26: Working on fix for locked database issues 
- * 7714f3e1d - 2019-04-25: Refactored methods for TVShow to helper module 
- * f571a00ae - 2019-04-25: Refactored show queue to retrieve show objects from database via indexer_id attribute 
- * c6f554333 - 2019-04-25: Working on fix for locked database issues 
- * 521828f94 - 2019-04-24: Working on fix for locked database issues 
- * 5b741954a - 2019-04-24: Fixed issue with getting IMDb info 
- * 2834d7ac3 - 2019-04-24: Added migration routines 
- * aca0067d8 - 2019-04-24: Fixed issue with automatic post-processing 
- * fbe61c6d6 - 2019-04-24: Made minor adjustments to queue 
- * 37be132ed - 2019-04-24: Added one-liners to convert &#x60;imdo_info&#x60; keys to lowercase 
- * f1fc999ff - 2019-04-24: Refactored TVShow database table attribute and column names 
- * 6b8ef374b - 2019-04-24: Update __init__.py 
- * 89f40347f - 2019-04-24: Refactored AsyncHttpClient usage 
- * 0fd669baa - 2019-04-23: Fixed issue with drop-down show list for display show page 
- * d93dc9f62 - 2019-04-23: Fixed issue with loading of imdb_info attribute for shows 
- * 6f6e1db25 - 2019-04-22: Refactoring code for performance 
- * d30471a50 - 2019-04-22: Fixed remaining calls to variable &#x60;current_item&#x60; 
- * f01d04b12 - 2019-04-22: Improved load time for main shows page by loading episodes into memory. 
- * 78fa24f70 - 2019-04-21: Updated primary keys for quicksearch database tables 
- * 093174872 - 2019-04-21: Added &#x60;last_proper_search&#x60; to TVShow database table. Resolved database migration issues coming from py2 app. Resolved &#x60;search_delay&#x60; TVShow database table column issue, changed from &#x60;Boolean&#x60; to &#x60;Integer&#x60; 
- * a4b1b6188 - 2019-04-21: Fixed more logic with &#x60;max_queue_workers&#x60; 
- * f3877e792 - 2019-04-21: Fixed a typo 
- * 3f0169771 - 2019-04-21: Fixed &#x60;HTTP 405: Method Not Allowed&#x60; for backup/restore 
- * faa271c4e - 2019-04-21: Fixed status page to display show queue item progress correctly 
- * 5b0168246 - 2019-04-21: Changed logic for queue and &#x60;max_queue_workers&#x60; 
- * 506ed4c38 - 2019-04-21: Fixed issue with queue and &#x60;max_queue_workers&#x60; variable 
- * 8917d8874 - 2019-04-21: Fixed issue with queue and &#x60;max_queue_workers&#x60; variable 
- * bf25d5bcb - 2019-04-21: Added &#x60;max_queue_workers&#x60; config variable to control maximum number of allowed items from queue to be processed at one time. 
- * 48438eb66 - 2019-04-21: Fixed &#x60;In Progress&#x60; for show queue status in Mako code 
- * caaf36a3e - 2019-04-21: Fixed Mako error for status page 
- * 06aec91d6 - 2019-04-21: Fixed issue with post-processing manually and async. 
- * afece7307 - 2019-04-21: Fixed missing params from get method for post processing handler 
- * 2ac7b86d4 - 2019-04-21: Fixed missing handler for post-processing view 
- * da7bd5cb8 - 2019-04-21: Added missing &#x60;authenticaed&#x60; decorator to get/post methods 
- * 2ce606eb9 - 2019-04-21: Refactored queue to process all items that are queued at once instead of one at a time. 
- * 0a7306e9d - 2019-04-21: Added stop function to queues to stop further processing of queued items 
- * 3f934f661 - 2019-04-21: Refactored queue system to use Tornado coroutine&#x27;s 
- * 1f9f2c413 - 2019-04-19: Restructured web view folders and classes. Refactored web views and handler code. 
- * c55f37875 - 2019-04-15: Refactored tornado web handler to perform async calls 
- * 9d884afba - 2019-04-14: Fixed issue with initial setting of app_id 
- * 555d9603a - 2019-04-14: Moved call to register app-id 
- * 1611791b1 - 2019-04-14: SiCKRAGE API registration of app-id now returns generated app-id from API 
- * 695249b3c - 2019-04-14: Delete config from disk if it exists after its loaded, configs are saved to SiCKRAGE cloud encrypted. 
- * 6fc5cbd2c - 2019-04-14: Backup of config from disk has been removed since config is store in SiCKRAGE cloud encrypted. 
- * 208a6d03e - 2019-04-14: Refactored backup and restore functions to include &#x60;privatekey.pem&#x60; 
- * 35455248a - 2019-04-14: Added API account functions for uploading encrypted config to SiCKRAGE cloud 
- * 521d44ec6 - 2019-04-13: Updated SiCKRAGE API URL 
- * aaefbb428 - 2019-04-13: Fixed issue with mapping when called by reduce, wrapped in list call. 
- * 6a3db85e3 - 2019-04-13: Added startup argument to set listen address 
- * ff4ea982a - 2019-04-13: Fixed displaying queue priorities from server status page 
- * a228f02cc - 2019-04-12: Fixed &#x60;can&#x27;t have unbuffered text I/O&#x60; value error 
- * e0b6cbec4 - 2019-04-11: Set sessions not to expire on commit 
- * c3d923796 - 2019-04-11: Added main and cache database instances to core app 
- * a4929e429 - 2019-04-10: Fixed issue with black and white lists 
- * 88122b40a - 2019-04-09: Fixed typo in Trakt lib 
- * a13c1efc6 - 2019-04-08: Refactored encryption functions 
- * 326cdd71a - 2019-04-08: Moved encryption startup routines to its own function call Config only gets written if public key is present 
- * 46437bc09 - 2019-04-08: Added season and episode as primary key constraints to tv_episodes table 
- * 2fccd9622 - 2019-04-07: Refactored backup/restore functions to include public encryption key 
- * 5d65e31cb - 2019-04-07: Refactored public encryption key to be saved only after private key is saved 
- * 0ca805b13 - 2019-04-07: Added missing failed_snatch_searcher attribute to init for core 
- * 174fb9a9d - 2019-04-07: Added public encryption key support Refactored loading of public and private encryption keys to wait till loaded and saved 
- * 624a18ddb - 2019-04-07: Added logging info to indicate when attempting to save encryption key and when its saved 
- * a4f3cc52c - 2019-04-07: Added loop to ensure encryption key is successfully saved to user profile via API 
- * baf2f48ae - 2019-04-07: Fixed issue with slack and binary messages Fixed issue with saving and encryption config 
- * 5375a1403 - 2019-04-07: Fixed &#x60;TypeError: must be str, not bytes&#x60; in post-processor 
- * 64a3fbd03 - 2019-04-07: Fixed &#x60;TypeError: must be str, not bytes&#x60; in post-processor 
- * 516bec5a2 - 2019-04-07: Fixed issues with parsing xml data for Plex and NZB 
- * e69d7a772 - 2019-04-07: Fixed issue with history lookup returning NoneType 
- * 1dc9ad934 - 2019-04-07: Refactored history lookup to return first result instead of only trying to return one or none 
- * 4d7d73e42 - 2019-04-07: Refactored remaining database calls using old-style dictionary calls 
- * cf316a699 - 2019-04-07: Added sqlalchemy-migrate to requirements Refactored database upgrade functions to use sqlalchemy-migrate 
- * 7b833ac6d - 2019-04-07: Refactored database delete function to check count of query results before attempting delete to avoid errors 
- * f05f45b22 - 2019-04-07: Refactored database update calls to merge object sessions before committing 
- * 3382e1427 - 2019-04-07: Refactored main layout submenu creation to honor required setting 
- * 7383dce62 - 2019-04-07: Refactored database update calls to grab session from object first that we want to update to use for committing the data 
- * 87cabbd1a - 2019-04-07: Refactored scene numbering function conditionals 
- * d55538a86 - 2019-04-07: Refactored database update calls 
- * 2edaad776 - 2019-04-07: Refactored database update calls 
- * eed91867c - 2019-04-07: Refactored pip_path to pip3_path 
- * da76cd140 - 2019-04-06: Refactored remaining database query calls 
- * a13a722c3 - 2019-04-06: Added table mapper function to database class 
- * 8f59e6dc2 - 2019-04-06: Updated version to 9.5.1 
- * 0fe5bf794 - 2019-04-06: Added python path env to grunt tasks Updated cfscape to 1.9.7 
- * 412de15dc - 2019-04-06: Refactored database update calls 
- * 87ae7363b - 2019-04-05: Refactired database update calls 
- * 264d5c80e - 2019-04-05: Refactored xem_refresh database update call 
- * a495abb03 - 2019-04-05: Refactoring database delete calls 
- * cc9826094 - 2019-04-05: Misc cleanup of database models 
- * c38266317 - 2019-04-05: Refactored database update calls 
- * 1bff88aa8 - 2019-04-05: Refactored database insert calls 
- * a5c700ffd - 2019-04-04: Refactored more database calls 
- * 98df3016f - 2019-04-03: Refactoring database calls 
- * b65e3acee - 2019-03-31: Refactored how we delete database rows 
- * 622650abe - 2019-03-31: Fixed typo for restore function 
- * c7a4409b7 - 2019-03-31: Updated python-keycloak-client to 0.2.2 
- * 6c89ebd28 - 2019-03-31: Added code to attempt requirements install prior to performing updates when available. 
- * 0e1b42e19 - 2019-03-31: Python 2 to 3 database migration happens against files in root of data directory instead of seperate migration folder. 
- * 0fd0eb837 - 2019-03-31: Fixed issue with NoneType when loading plugins 
- * 0e35b03fa - 2019-03-31: Fixed issue with NoneType when loading plugins 
- * 78f528809 - 2019-03-28: Encrypt config only if able to save encryption key 
- * 5ee00bc0a - 2019-03-28: Save user private key when saving config 
- * 19708c3c9 - 2019-03-27: Refactored file headers 
- * 124ce33cf - 2019-03-27: Refactored configuration encryption routines 
- * 762a0f102 - 2019-03-24: Refactored configuration encryption routines 
- * c8c19951b - 2019-02-25: Migration from Python 2 to Python 3.7.x 
- * 7f5696f95 - 2019-02-25: Migration from Python 2 to Python 3.7.x 
- * a72ca25f7 - 2019-02-24: Release v9.4.77 
- * b09d78ad4 - 2019-02-24: Added Anime regex for Erai-raws 
- * e0f2db685 - 2019-02-24: Release v9.4.76 
- * ed8448311 - 2019-02-24: Fixed IndexerErrors for TV cache. Added files to .gitignore related to AniDB. 
- * abe73d780 - 2019-02-24: Release v9.4.75 
- * f4b1e65d9 - 2019-02-24: Fixed issue with scene exceptions not being retrieved. Fixed issues with AniDB and Anime shows. Builds name cache and retrieves exceptions on startup as a background task. 
- * 78d6b6ecc - 2019-02-24: Release v9.4.74 
- * b69073896 - 2019-02-24: Fixed issue with default add show options and add show year feature. 
- * 90fa33d21 - 2019-02-24: Pre-Release v9.4.74.dev2 
- * b2896ada3 - 2019-02-24: Updated AniDB code for post-processor. Added get episode function to AniDB helper. 
- * 1ebefb42e - 2019-02-24: Pre-Release v9.4.74.dev1 
- * c26e5b165 - 2019-02-24: Refactored AniDB code. 
- * 41039e5ce - 2019-02-24: Fixed KeyError for twitter notifier. 
- * 135d86855 - 2019-02-24: Fixed AttributeError for gktorrent provider. Refactored log messages for rss cache updater to debug. 
- * ffd8fa479 - 2019-02-24: Release v9.4.73 
- * 47572b673 - 2019-02-24: Release v9.4.72 
- * b86d9d2ed - 2019-02-23: Release v9.4.71 
- * 342b1de73 - 2019-02-23: Added ability to save &#x60;add_show_year&#x60; as a default option when adding new shows. 
- * ea526d22f - 2019-02-23: Release v9.4.70 
- * 2e4fa859c - 2019-02-23: Pre-Release v9.4.70.dev1 
- * 4a8b635de - 2019-02-23: Fixed issue with sending direct messages via twitter API. 
- * 502eb0163 - 2019-02-23: Release v9.4.69 
- * ffa69b518 - 2019-02-23: Don&#x27;t attempt daily or backlog searches if nothing to search for. Version updater now moves entire folder at once instead of walking it for source updates. 
- * 2f89453ad - 2019-02-23: Pre-Release v9.4.69.dev1 
- * 8324c574e - 2019-02-23: Added new release mapping %SY to allow appending the show year to episodes. Added new show option to append show year to show folder if needed. Added check for existing show year in show name, if found, do not append show year. 
- * c3441ed15 - 2019-02-23: Release v9.4.68 
- * 3f6df121d - 2019-02-23: Release v9.4.67 
- * 83d1b88d6 - 2019-02-23: Moved RSS cache updates to separate background task that executes every 15 minutes. Parsed search results no longer grab their show id&#x27;s from TheTVDB or Trackt since we only care about shows existing in library. Search results returned for shows not existing in library are discarded. 
- * 9c78d0b1c - 2019-02-23: Release v9.4.66 
- * 8275fd1eb - 2019-02-23: Release v9.4.65 
- * 15ffdce80 - 2019-02-23: Release v9.4.64 
- * 33a4acc8e - 2019-02-23: Release v9.4.63 
- * e648c9e8b - 2019-02-23: Release v9.4.62 
- * 04b3d3784 - 2019-02-23: Pre-Release v9.4.62.dev1 
- * 1e6bcf974 - 2019-02-23: Release v9.4.62 
- * e39f7d88e - 2019-02-23: Moved RSS cache updates to separate background task that executes every 15 minutes. Parsed search results no longer grab their show id&#x27;s from TheTVDB or Trackt since we only care about shows existing in library. Search results returned for shows not existing in library are discarded. 
- * 724fc6ba7 - 2019-02-20: Release v9.4.61 
- * 9467ad108 - 2019-02-20: Release v9.4.60 
- * e9b99d5b0 - 2019-02-20: Only shows in library are cached. Calls to the API for caching provider results are now done in the background. Fixed cross-link device issues for version updater. 
- * 13659fef5 - 2019-02-17: Release v9.4.59 
- * 993ca3451 - 2019-02-17: Fixed &quot;unable to verify the download url&quot; for Torrent9 provider 
- * 01ad8b664 - 2019-02-15: Pre-Release v9.4.59.dev3 
- * 3af8cda0f - 2019-02-15: Removed redundant automatic show refreshes as these happen during automatic show updates 
- * 0a29873ba - 2019-02-15: Pre-Release v9.4.59.dev1 
- * 141d1ce7a - 2019-02-15: Only update indexer details for shows when performing show updates on shows marked as updated on indexer, full updates performed every 7 days. 
- * d41e5256e - 2019-02-11: Fixed issue with &quot;unable to verify the download url&quot; 
- * 9a1046230 - 2019-01-22: Release v9.4.58 
- * 92b54236a - 2019-01-22: Dockerfile default TZ set to Canada/Pacific 
- * c128f166e - 2019-01-22: Pre-Release v9.4.58.dev1 
- * 89131788d - 2019-01-21: Release v9.4.57 
- * f065a3e32 - 2019-01-21: Updated Dockerfile. 
- * ae5c47884 - 2019-01-21: Fixed auth issue causing redirect to home page every 5 minutes. 
- * b2b9f0d37 - 2019-01-20: Release v9.4.56 
- * a2596ce07 - 2019-01-20: Fixed typo in show schedule page, double web roots. 
- * 468c19ec1 - 2019-01-19: Decreased sleep timer from 5s to 2s for RARBG. Updated keycloak client requirement version. 
- * 25bcd7fb8 - 2019-01-12: Pre-Release v9.4.56.dev5 
- * c94aafea8 - 2019-01-12: Added static app_id to RARBG torrent provider 
- * 14f8938b1 - 2019-01-12: Pre-Release v9.4.56.dev4 
- * c0aa31a7c - 2019-01-12: Added branch version checking for source installs 
- * 79db85e8a - 2019-01-12: Pre-Release v9.4.56.dev3 
- * a26f1df52 - 2019-01-12: Building of DEV docker images now implemented 
- * baf04a18b - 2019-01-12: Fixed issue with connecting to RARBG torrent provider 
- * 831f077c8 - 2019-01-13: Update .gitlab-ci.yml 
- * 7c6290cb5 - 2019-01-13: Update .gitlab-ci.yml 
- * bf51f728f - 2019-01-13: Update .gitlab-ci.yml 
- * 560357a4d - 2019-01-12: Update .gitlab-ci.yml 
- * 2543e7ce2 - 2019-01-12: Update .gitlab-ci.yml 
- * 6e96928bf - 2019-01-12: Refactored processed marker code 
- * 60c219a51 - 2019-01-12: Update Dockerfile 
- * 74f25ebf0 - 2019-01-12: Update Dockerfile 
- * 5fcae915c - 2019-01-12: Update Dockerfile 
- * c27cdf73c - 2019-01-12: Update Dockerfile 
- * 68a917696 - 2019-01-12: Update .gitlab-ci.yml 
- * 3f765548a - 2019-01-12: Update .gitlab-ci.yml 
- * d326930d1 - 2019-01-12: Update .gitlab-ci.yml 


