From 844dafce2e5a5ae94cf0f0f4e4bcce69512aa882 Mon Sep 17 00:00:00 2001 From: TheOtherP Date: Tue, 6 Dec 2022 17:48:56 +0100 Subject: [PATCH] Update to 4.7.3 --- changelog.md | 10 +- core/pom.xml | 4 +- core/src/main/resources/changelog.json | 8558 ++++++++++-------------- other/mockserver/pom.xml | 2 +- pom.xml | 2 +- releases/linux-release/pom.xml | 4 +- releases/pom.xml | 4 +- releases/windows-release/pom.xml | 4 +- shared/mapping/pom.xml | 2 +- shared/pom.xml | 4 +- tests/pom.xml | 4 +- 11 files changed, 3645 insertions(+), 4953 deletions(-) diff --git a/changelog.md b/changelog.md index 9529b4694..d68040b7f 100644 --- a/changelog.md +++ b/changelog.md @@ -1,4 +1,12 @@ -### v4.7.2 BETA (2022-11-30) +### v4.7.3 (2022-12-06) + +**Note** A future update will require Java 17. To prepare for that a message will be shown asking you to update your system accordingly. If you're running NZBHydra2 in docker you don't need to do anything. + +**Feature** Set the environment variable NZBHYDRA_DISABLE_UPDATE to true to disable the NZBHydra update mechanism (similar as to when it's run inside docker). This can be used by package maintainers. See #809 + + + +### v4.7.2 (2022-11-30) **Fix** Handle results without date. diff --git a/core/pom.xml b/core/pom.xml index cfdc939df..0dca25a20 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -5,7 +5,7 @@ org.nzbhydra nzbhydra2 - 4.7.3-SNAPSHOT + 4.7.3 core @@ -91,7 +91,7 @@ org.nzbhydra mapping - 4.7.3-SNAPSHOT + 4.7.3 diff --git a/core/src/main/resources/changelog.json b/core/src/main/resources/changelog.json index f229dbd6a..1404e19c9 100644 --- a/core/src/main/resources/changelog.json +++ b/core/src/main/resources/changelog.json @@ -1,4937 +1,3621 @@ -[ - { - "version": "v4.7.3", - "changes": [ - { - "type": "note", - "text": "A future update will require Java 17. To prepare for that a message will be shown asking you to update your system accordingly. If you're running NZBHydra2 in docker you don't need to do anything." - }, - { - "type": "feature", - "text": "Set the environment variable NZBHYDRA_DISABLE_UPDATE to true to disable the NZBHydra update mechanism (similar as to when it's run inside docker). This can be used by package maintainers. See #809" - } - ], - "final": true - }, - { - "version": "v4.7.2", - "date": "2022-11-30", - "changes": [ - { - "type": "fix", - "text": "Handle results without date." - }, - { - "type": "fix", - "text": "Fix typo in apprise notification handler." - }, - { - "type": "fix", - "text": "Hopefully fix notification sending test on arch-nzbhydra2. See #806" - }, - { - "type": "fix", - "text": "Fix automatic configuration of Lidarr. See #802" - }, - { - "type": "note", - "text": "As you can see development has slowed down a bit. The reason is kind of a mix of burnout, a new job and some other stuff. I'll try to get most bugs fixed faster and get back to some new features next year." - } - ], - "final": true - }, - { - "version": "v4.7.1", - "date": "2022-09-18", - "changes": [ - { - "type": "feature", - "text": "Improve display of errors on startup." - }, - { - "type": "fix", - "text": "Properly handle errors that occur during the detection of open ports." - } - ], - "final": false - }, - { - "version": "v4.7.0", - "date": "2022-09-18", - "changes": [ - { - "type": "feature", - "text": "Use custom mappings to transform indexer result titles. Use this to clean up titles, add season or episode to it or whatever. See #794" - }, - { - "type": "fix", - "text": "Some of you have an instance running which is exposed to the internet, without any authentication method. I previously tried to recognize this by some heuristic which was a bit naive and caused a lot of false positives. NZBHydra will now periodically try to determine your public IP and actually check if the used port is open. This might still not always work (e.g. in when you're running it using a VPN in which case I guess you know what're doing. Ultimately it's up to you to get your shit together." - }, - { - "type": "fix", - "text": "Only warn about settings violating indexers' rules if the indexers are actually enabled." - }, - { - "type": "fix", - "text": "Fix saving config with custom mappings." - } - ], - "final": false - }, - { - "version": "v4.6.1", - "date": "2022-08-23", - "changes": [ - { - "type": "fix", - "text": "Fix startup error for new instances. Thanks @ cdloh." - } - ], - "final": true - }, - { - "version": "v4.6.0", - "date": "2022-08-22", - "changes": [ - { - "type": "feature", - "text": "Add option to replace german umlauts and special characters." - } - ], - "final": true - }, - { - "version": "v4.5.0", - "date": "2022-07-09", - "changes": [ - { - "type": "feature", - "text": "Automatically use NZB access and adding types required by certain indexers. See #784." - }, - { - "type": "feature", - "text": "Add debug logging for category mapping." - } - ], - "final": false - }, - { - "version": "v4.4.0", - "date": "2022-06-26", - "changes": [ - { - "type": "feature", - "text": "Add validation to ensure your configuration matches the requirements of a certain indexer." - }, - { - "type": "feature", - "text": "Warn when exposing NZBHydra to the internet via host 0.0.0.0 with no authentication enabled." - }, - { - "type": "note", - "text": "In the same vein I decided to remove the option to ignore warnings when saving the config. You'll just have to live with it or, ideally, fix the things causing the warnings." - }, - { - "type": "note", - "text": "All the above stems from the fact that a lot of people (=idiots) have their NZBHydra (or *arr) instances wide open to the world without any authentication whatsoever. DO NOT DO THAT! People will steal your API keys and possibly get your indexer access disabled or revoked for good. I'm trying to automatically detect that but it's not easy distinguishing valid accesses from fraudulent ones." - } - ], - "final": true - }, - { - "version": "v4.3.3", - "date": "2022-06-15", - "changes": [ - { - "type": "fix", - "text": "Fix error when using an HTTP proxy without username / password." - }, - { - "type": "fix", - "text": "Use API hit information from indexer request when no download information was provided. In that case calculate the downloads from the history. See #778" - }, - { - "type": "fix", - "text": "Fix API hit and download detection for DogNZB." - }, - { - "type": "fix", - "text": "Add the current API hit to the number of reported API hits in response." - }, - { - "type": "fix", - "text": "Fix name of logging marker \"Custom mapping\" (was \"Config mapping\")." - } - ], - "final": true - }, - { - "version": "v4.3.2", - "date": "2022-06-13", - "changes": [ - { - "type": "fix", - "text": "Fix use of groups in custom search request mapping. See #700" - }, - { - "type": "fix", - "text": "Fix download of backup files. See #772" - }, - { - "type": "note", - "text": "The mysterious issues with connections to indexers failing (and perhaps some other issues) were caused by changes in the linuxserver.io image and should be fixed by now." - } - ], - "final": true - }, - { - "version": "v4.3.1", - "date": "2022-05-02", - "changes": [ - { - "type": "note", - "text": "I removed the OpenAPI docs as for some really weird reason it may have introduced some unexpected bugs when connecting to indexers or even when trying to update the database" - } - ], - "final": true - }, - { - "version": "v4.3.0", - "date": "2022-04-03", - "changes": [ - { - "type": "feature", - "text": "Allow to configure an indexer's API path. See #766" - }, - { - "type": "feature", - "text": "OpenAPI docs are now available under http://127.0.0.1:5061/v3/api-docs/. This will only be interesting for very few (if any) users. Unfortunately I couldn't get the swagger UI working. You'll have to visit http://127.0.0.1:5061/swagger-ui/index.html and paste the api-docs URL." - } - ], - "final": true - }, - { - "version": "v4.2.1", - "date": "2022-03-24", - "changes": [ - { - "type": "note", - "text": "Added a banner of and link to NewsDemon. Thanks for sponsoring me!" - }, - { - "type": "fix", - "text": "The dismiss button for the banner shown after an automatic update has been installed didn't work reliably. See #737" - } - ], - "final": true - }, - { - "version": "v4.2.0", - "date": "2022-03-04", - "changes": [ - { - "type": "feature", - "text": "Add entry to display options to always show result titles. By default they're hidden when grouping results with the same name. See #763" - }, - { - "type": "feature", - "text": "Add dismiss button to banner shown after an automatic update has been installed. See #737" - }, - { - "type": "fix", - "text": "Use link to comments as detail link for torznab results. For some indexer the details would previously go to the download link. See #758" - }, - { - "type": "fix", - "text": "Only show video related quick filter buttons when searching in a TV or movie category. See #732" - }, - { - "type": "note", - "text": "I'm currently testing a new version of the database library. This new version may hopefully be a bit more performant, may result in smaller database files (for those suffering from very larg ones) and / or give me options to fine tune how data is compacted (for those where a lot of IO is produced). Unfortunately it means that the old database needs to be migrated which is always a bit hairy. If you're interested in helping me by testing an alpha version please leave me a note in this github Issue." - } - ], - "final": true - }, - { - "version": "v4.1.0", - "date": "2022-01-30", - "changes": [ - { - "type": "feature", - "text": "Allow certain notifications to be filtered (not shown / being sent). See #761" - }, - { - "type": "fix", - "text": "Change shebang for python 3 wrapper so that it siginifies being a python 3 script." - } - ], - "final": true - }, - { - "version": "v4.0.2", - "date": "2022-01-30", - "changes": [ - { - "type": "fix", - "text": "Fix automatic configuration of Sonarr v3. See #753" - } - ], - "final": true - }, - { - "version": "v4.0.1", - "date": "2022-01-10", - "changes": [ - { - "type": "fix", - "text": "Properly read X-Forwarded-For header and original IP." - }, - { - "type": "fix", - "text": "Execute connection check after an indexer's API key has changed." - } - ], - "final": true - }, - { - "version": "v4.0.0", - "date": "2022-01-02", - "changes": [ - { - "type": "feature", - "text": "Update framework libraries and add support for Java 17." - }, - { - "type": "feature", - "text": "NZBHydra now (hopefully) properly supports indexers that return more than 100 results per API page. When I started developing 8 years ago no indexer I knew of returned more than 100 results, now some return 500 or even 1000. That obviously often tremendously reduces the API hits needed to fill a page or find a certain result. NZBHydra will now request 1000 results (many indexers will still only return 100) per page. The page size of the results returned by NZBHydra is still 100 (if not overwritten in the API request). The amount of API hits made by local programs doesn't matter and the time and performance overhead are negligible. Please note that these changes required some hefty changes in the deeps of the search logic and may have produced some bugs. Let me know if it works as expected." - }, - { - "type": "feature", - "text": "Show assigned colors of indexers in config list." - }, - { - "type": "note", - "text": "Happy new year!" - } - ], - "final": true - }, - { - "version": "v3.18.4", - "date": "2021-12-11", - "changes": [ - { - "type": "fix", - "text": "Update logging library to a newer version due to a security issue. This isn't much of an issue, in my opinion, as I use a different library although this one is used by others. It also only affects JDKs that are older than a year and it's not an issue on docker containers." - } - ], - "final": true - }, - { - "version": "v3.18.3", - "date": "2021-12-06", - "changes": [ - { - "type": "fix", - "text": "Added nzbgeek to the list of indexers which don't support movie/tvsearch searches without IDs." - } - ], - "final": true - }, - { - "version": "v3.18.2", - "date": "2021-12-06", - "changes": [ - { - "type": "fix", - "text": "Some indexers do not support movie/tvsearch type queries without IDs but with word based queries (I know of nzbplanet and dognzb). For these indexers the search type is automatically switched to search when no IDs but a word query is given." - } - ], - "final": true - }, - { - "version": "v3.18.1", - "date": "2021-12-01", - "changes": [ - { - "type": "fix", - "text": "Fix exception when unexpected java version is found. Why the fuck does every JDK have to have its own version format?" - } - ], - "final": true - }, - { - "version": "v3.18.0", - "date": "2021-11-27", - "changes": [ - { - "type": "fix", - "text": "Make sure that when the NZBHydra API is accessed with a duplicate /api in the URL this is not interpreted as wanting to only use an indexer with the name \"api\"." - }, - { - "type": "feature", - "text": "Abort on startup if incompatible Java version is used." - } - ], - "final": true - }, - { - "version": "v3.17.3", - "date": "2021-10-05", - "changes": [ - { - "type": "fix", - "text": "Ugh, don't ask. I'm glad that releases don't cost anything." - } - ], - "final": true - }, - { - "version": "v3.17.2", - "date": "2021-10-05", - "changes": [ - { - "type": "fix", - "text": "The \"What's new\" views were empty. If you want the gritty details: I make a call to the backend /updates/changesSinceUpTo/3.17.1 which is supposed to return all changes between the current version and 3.17.1, in this example. For some stupid reason the backend framework converts the 3.17.1 to 3.17 which means for the running version 3.17.0 the changes between 3.17 and 3.17.0 were shown which are obviously empty." - } - ], - "final": true - }, - { - "version": "v3.17.1", - "date": "2021-10-05", - "changes": [ - { - "type": "fix", - "text": "Only allow (ZIP) files to be downloaded that were created by NZBHydra. See #744." - }, - { - "type": "fix", - "text": "Hide button to download results as ZIP if access to indexer results is configured to work via redirect. See #734." - } - ], - "final": true - }, - { - "version": "v3.17.0", - "date": "2021-10-03", - "changes": [ - { - "type": "feature", - "text": "Show beta releases in update section even when beta releases are disabled. You won't get notifications and automatic updates will still respect the config but you can then choose to install a beta version without having to switch to the beta branch. See #730." - }, - { - "type": "feature", - "text": "Show loading spinner while loading more results. See #729." - }, - { - "type": "fix", - "text": "Fix wrong API path used when configuring Radarr v4. See #731." - }, - { - "type": "fix", - "text": "Fix display of fixes in version history (the little orange badge shown in the updates section next to this entry)." - }, - { - "type": "fix", - "text": "Don't log output of URL calls when status 429 is returned (Too Many Requests)." - } - ], - "final": true - }, - { - "version": "v3.16.2", - "date": "2021-09-27", - "changes": [ - { - "type": "fix", - "text": "Fix missing quotation mark in base config (only used for new installations)." - } - ], - "final": false - }, - { - "version": "v3.16.1", - "date": "2021-09-27", - "changes": [ - { - "type": "fix", - "text": "Roll back release of 3.16.0 because of some problems with form based logins which need some more analysis." - } - ], - "final": false - }, - { - "version": "v3.16.0", - "date": "2021-09-25", - "changes": [ - { - "type": "feature", - "text": "Add support for Java 16. Please not that there's no reason for you to just willy-nilly update the java major version (e.g. 11 to 16). Newer releases are not automatically better or safer. Installing patches (e.g. Java 11.0.0 to Java 11.0.2 or such) is enough. Java 17 is still not supported." - }, - { - "type": "feature", - "text": "Add \"-xpost\" to the list of trailing words to remove. See #717." - }, - { - "type": "fix", - "text": "Make checkboxes and radioboxes grayscale because new browsers show them in weird blue. See #727." - } - ], - "final": false - }, - { - "version": "v3.15.2", - "date": "2021-08-27", - "changes": [ - { - "type": "fix", - "text": "Remove dereferer.org from preset config and from any instances still using it. Modern browsers all support the Referrer-Policy header that is set by NZBHydra anyway." - } - ], - "final": true - }, - { - "version": "v3.15.1", - "date": "2021-08-05", - "changes": [ - { - "type": "feature", - "text": "When configuring an external tool like sonarr and forgetting to provide its URL base in the URL it will return a misleading response. Hydra will now recognize this case and show a helpful message." - }, - { - "type": "fix", - "text": "Fix sorting of search state messages." - }, - { - "type": "fix", - "text": "Log to browser console which quick filters don't match a result. This will help with debugging some issues in this area." - } - ], - "final": true - }, - { - "version": "v3.15.0", - "date": "2021-07-10", - "changes": [ - { - "type": "feature", - "text": "Debug infos can now be created and directly uploaded to https://ufile.io/ for easier sharing." - }, - { - "type": "feature", - "text": "The tooltip in the search results for the display of rejected, loaded and filtered results now also shows the number of filtered results for each reason (e.g. x results being too small, y results already downloaded)." - }, - { - "type": "feature", - "text": "The \"Searching... please wait\" box now highlights indexer searches that produced results. The messages are also sorted by indexer name and start with the number of results to allow easier reading. See #696." - } - ], - "final": true - }, - { - "version": "v3.14.2", - "date": "2021-05-23", - "changes": [ - { - "type": "fix", - "text": "Min and max size API parameters were ignored. See #705" - } - ], - "final": true - }, - { - "version": "v3.14.1", - "date": "2021-04-22", - "changes": [ - { - "type": "feature", - "text": "Added NZB360, Readarr and Mylar to mapped user agents. Thanks to SAS-1" - }, - { - "type": "fix", - "text": "With the option to transform newznab categories enabled if provided categories of an API call could not be mapped to a category they weren't used at all. See #704." - } - ], - "final": true - }, - { - "version": "v3.14.0", - "date": "2021-04-11", - "changes": [ - { - "type": "feature", - "text": "Custom mapping for queries and titles. This allows you to customize / change the values used by external tools or returned by metadata providers like TVDB. See #700." - } - ], - "final": true - }, - { - "version": "v3.13.2", - "date": "2021-03-20", - "changes": [ - { - "type": "fix", - "text": "Fix connection check for nzbgeek. See #695." - }, - { - "type": "note", - "text": "Java 16 is not supported. See #697." - } - ], - "final": true - }, - { - "version": "v3.13.1", - "date": "2021-03-10", - "changes": [ - { - "type": "fix", - "text": "Fix external configuration of Readarr (0.1.0.520+). See #693." - } - ], - "final": true - }, - { - "version": "v3.13.0", - "date": "2021-02-23", - "changes": [ - { - "type": "feature", - "text": "From now on I'll refer to the appropriate GitHub issues in the changelog (if I don't forget it)." - }, - { - "type": "fix", - "text": "Improve category detection for MyAnonaMouse. See #689." - }, - { - "type": "fix", - "text": "Don't crash GUI when result titles are empty. See #690." - }, - { - "type": "fix", - "text": "Clarify the restrictions section in the auth config. See #687." - } - ], - "final": true - }, - { - "version": "v3.12.0", - "date": "2021-02-13", - "changes": [ - { - "type": "feature", - "text": "Add button to send results to black hole from download history. See #685" - }, - { - "type": "feature", - "text": "Add support for custom parameters to be sent to indexers while searching. See #647" - }, - { - "type": "fix", - "text": "Download status bar did not update properly when the downloader was idle after a download. The bar will now be updated until either a new download is started or the bar is properly filled, representing the downloader's idle state. This should hopefully also fix the long-standing issue with the browser tab freezing / crashing after a while." - }, - { - "type": "fix", - "text": "Ensure that threads which send data to the frontend (like notifications or downloader status) are only active when a UI session (=browser tab) is open. Also only send downloader data if it's actually new (instead of e.g. repeatedly sending information that the downloader is idle." - }, - { - "type": "fix", - "text": "Remove code for nzbs.org :-(" - } - ], - "final": true - }, - { - "version": "v3.11.4", - "date": "2021-02-08", - "changes": [ - { - "type": "fix", - "text": "Fix warning \"Destroy method on bean...\" when shutting down NZBHydra." - }, - { - "type": "fix", - "text": "Fix automatic configuration of Sonarr and Radarr v3." - } - ], - "final": true - }, - { - "version": "v3.11.3", - "date": "2021-01-31", - "changes": [ - { - "type": "fix", - "text": "Fix an issue where the backup folder was not properly validated when saving the config. Too bad I don't get paid by the update (=bug)." - } - ], - "final": true - }, - { - "version": "v3.11.2", - "date": "2021-01-31", - "changes": [ - { - "type": "fix", - "text": "Fix a websocket issue when using a reverse proxy. Should've tested that better... If you're running NZBHydra behind a reverse proxy please see https://github.com/theotherp/nzbhydra2/issues/683#issuecomment-770444576." - } - ], - "final": true - }, - { - "version": "v3.11.1", - "date": "2021-01-31", - "changes": [ - { - "type": "fix", - "text": "Introduced a stupid bug in v3.11.0 which prevented all but one particular indexer from being selected. Sorry about that." - } - ], - "final": true - }, - { - "version": "v3.11.0", - "date": "2021-01-31", - "changes": [ - { - "type": "feature", - "text": "Implemented rate limiting for certain indexers which don't allow more than x hits in x seconds. If you know of such an indexer please let me know as this is hard coded and not configurable." - }, - { - "type": "feature", - "text": "Added option to disable \"What's new\" button after an automatic update was installed." - }, - { - "type": "fix", - "text": "Validate backup folder when saving config." - }, - { - "type": "fix", - "text": "Allow direct input for indexer color." - }, - { - "type": "fix", - "text": "Fixed an issue where animetosho results would show up as a warning in the log. The indexer contains NZB and/or torrent links combined in one feed. When you made an NZB or torrent search and a result only contained a link for the other type this would be shown as a warning. This message will now only be shown on debug level." - }, - { - "type": "fix", - "text": "Improve the connection check to sabNZBd so that false positives should be reduced (.i.e in NZBHydra connecting successfully to a proxy or other server is not interpreted as successful connection check)." - } - ], - "final": true - }, - { - "version": "v3.10.1", - "date": "2021-01-28", - "changes": [ - { - "type": "fix", - "text": "Fix an issue with hydra using a base URL (e.g. /nzbhydra2)." - } - ], - "final": true - }, - { - "version": "v3.10.0", - "date": "2021-01-28", - "changes": [ - { - "type": "feature", - "text": "Enabled compression for resources sent to the browser. This shouldn't matter on local connections but save bandwidth should you want to use UI on a mobile browser (horrible as it looks)." - }, - { - "type": "feature", - "text": "The GUI will now retrieve notifications, the downloader status and search state via WebSocket. This means that the browser keeps a connection to the server open and is only sent data when new data is available (e.g. when the downloader status actually changed). This should result in considerably fewer requests and (negligible) faster UI update times." - } - ], - "final": false - }, - { - "version": "v3.9.2", - "date": "2021-01-16", - "changes": [ - { - "type": "feature", - "text": "Added some code that allows me to post a link to adapt the logging config and to download the debug infos." - }, - { - "type": "feature", - "text": "Added config switch to add NZBs to downloader paused." - }, - { - "type": "fix", - "text": "Added some more logging and handling of edge cases for API limits." - } - ], - "final": true - }, - { - "version": "v3.9.1", - "date": "2021-01-16", - "changes": [ - { - "type": "fix", - "text": "Fixed an issue with time zones related to indexer API limits. It may only affect the log output but may also fix some problems with limit detection." - } - ], - "final": true - }, - { - "version": "v3.9.0", - "date": "2020-12-28", - "changes": [ - { - "type": "feature", - "text": "NZBHydra will now show the search results table even if all results were rejected. This way you can see the reason for the rejections without having to check the log." - }, - { - "type": "fix", - "text": "Show advanced features in downloader config if selected." - } - ], - "final": true - }, - { - "version": "v3.8.1", - "date": "2020-12-28", - "changes": [ - { - "type": "fix", - "text": "Remove NZBGeek from list of domains for which do disable SNI." - }, - { - "type": "fix", - "text": "Change text for toggle of advanced options in the config to \"Advanced hidden\" and \"Advanced shown\"." - } - ], - "final": true - }, - { - "version": "v3.8.0", - "date": "2020-12-13", - "changes": [ - { - "type": "feature", - "text": "Add 'Show advanced' switch to config. I'd already tried to get this working twice - third time's the charm!." - }, - { - "type": "feature", - "text": "Add button to clear color for an indexer." - }, - { - "type": "fix", - "text": "Apply indexer colors to expanded results as well. To mark expanded results they're shown in a darker shade so it's recommended to use indexer colors which not only differ in lightness." - } - ], - "final": true - }, - { - "version": "v3.7.0", - "date": "2020-12-13", - "changes": [ - { - "type": "feature", - "text": "New display option to hide 'Results as ZIP' button." - }, - { - "type": "feature", - "text": "New option to choose quickfilters that should be preselected." - }, - { - "type": "feature", - "text": "New option to select the primary downloader for which the footer will show the status." - }, - { - "type": "fix", - "text": "Re-add 'No category' to category selection which got lost in 3.5.0." - }, - { - "type": "fix", - "text": "The multiselect widgets in the config will now show the labels of the selected values, not their internal ID." - }, - { - "type": "fix", - "text": "'Searching...' window was not closed when all found results were being filtered." - }, - { - "type": "fix", - "text": "Don't show the blue loading bar when checking for notifications." - }, - { - "type": "fix", - "text": "Report API errors as JSON instead of XML when appropriate." - } - ], - "final": false - }, - { - "version": "v3.6.0", - "date": "2020-12-05", - "changes": [ - { - "type": "feature", - "text": "When aborting an indexer search because no ID conversion was possible Hydra will now show a less... serious message. This is an expected problem, not an error." - }, - { - "type": "fix", - "text": "Remove ampersand (&) from titles when searching indexers as they're interpreted specially." - } - ], - "final": true - }, - { - "version": "v3.5.1", - "date": "2020-11-15", - "changes": [ - { - "type": "fix", - "text": "Fix linux wrapper executable." - } - ], - "final": true - }, - { - "version": "v3.5.0", - "date": "2020-11-15", - "changes": [ - { - "type": "feature", - "text": "Use (bigger) buttons for downloader category selection." - }, - { - "type": "fix", - "text": "Fix recognition of java version with recet OpenJDK update." - } - ], - "final": true - }, - { - "version": "v3.4.3", - "date": "2020-10-31", - "changes": [ - { - "type": "fix", - "text": "Fix error that ocurred when notifications without Apprise URLs were sent." - } - ], - "final": true - }, - { - "version": "v3.4.2", - "date": "2020-10-29", - "changes": [ - { - "type": "fix", - "text": "Fix error that ocurred when notifications without Apprise URLs were sent." - } - ], - "final": true - }, - { - "version": "v3.4.1", - "date": "2020-10-25", - "changes": [ - { - "type": "fix", - "text": "Fixed external configuration of Radarr and Sonarr V3 (wrt torrents)." - } - ], - "final": true - }, - { - "version": "v3.4.0", - "date": "2020-10-25", - "changes": [ - { - "type": "feature", - "text": "Added age and source variables to download notification." - }, - { - "type": "feature", - "text": "The previously added \"Download\" notification was only for when a result was grabbed from Hydra. I've aded a notification for download completion, i.e. when the download finishes the download." - }, - { - "type": "fix", - "text": "Fixed external configuration of Radarr and Sonarr V3." - } - ], - "final": true - }, - { - "version": "v3.3.0", - "date": "2020-10-22", - "changes": [ - { - "type": "feature", - "text": "Added notifications for downloads." - }, - { - "type": "fix", - "text": "The button to send results to the downloader was not displayed in some cases." - }, - { - "type": "fix", - "text": "Apprise notifications sent via CLI containing quotation marks were truncated." - } - ], - "final": true - }, - { - "version": "v3.2.1", - "date": "2020-10-21", - "changes": [ - { - "type": "fix", - "text": "Prevent startup errors when migrating from certain older versions." - } - ], - "final": true - }, - { - "version": "v3.2.0", - "date": "2020-10-20", - "changes": [ - { - "type": "feature", - "text": "Allow using Apprise CLI to send notifications instead of Apprise API." - }, - { - "type": "fix", - "text": "Don't require Apprise API URL to end with /notify (will still work if you've already configured it that way)." - }, - { - "type": "fix", - "text": "Anonymize notification URLs when writing debug infos." - }, - { - "type": "fix", - "text": "Prevent invalid expiry date setting and fix startup failing due to invalid setting." - } - ], - "final": true - }, - { - "version": "v3.1.0", - "date": "2020-10-18", - "changes": [ - { - "type": "feature", - "text": "Add button to test notifications." - } - ], - "final": true - }, - { - "version": "v3.0.0", - "date": "2020-10-17", - "changes": [ - { - "type": "feature", - "text": "NZBHydra now allows to send and show notifications for certain events. You can request events on the Github Issue." - }, - { - "type": "fix", - "text": "Reduced the percentage of correct results an indexer must return for an ID based search for that ID to be determined to be usable for searches. This will hopefully make the caps check recognize more supported IDs without any false positives." - }, - { - "type": "fix", - "text": "Shorten torrent file names exceeding the maximum path length." - }, - { - "type": "fix", - "text": "Query generation was not properly used for indexers which support a certain search type but no IDs." - }, - { - "type": "fix", - "text": "Show a warning when more than 3 logging markers are enabled. Please only enabled them when requested by me. They reduce the performance and produce lots of irritating log output which hurts more than it helps unless I actually need it." - } - ], - "final": false - }, - { - "version": "v2.29.1", - "date": "2020-09-12", - "changes": [ - { - "type": "fix", - "text": "Use better name for indexer entries added to *arr." - }, - { - "type": "fix", - "text": "Fix issue with indexer names containing special characters when configuring *arr." - } - ], - "final": true - }, - { - "version": "v2.29.0", - "date": "2020-09-08", - "changes": [ - { - "type": "feature", - "text": "Added support for indexer priority when configuring Sonarr v3 and Radarr v3." - }, - { - "type": "feature", - "text": "Added support for automatic configuration of Readarr." - }, - { - "type": "fix", - "text": "Anonymize API key and URLs when logging *arr requests and responses." - } - ], - "final": true - }, - { - "version": "v2.28.1", - "date": "2020-09-08", - "changes": [ - { - "type": "feature", - "text": "Added Lidarr and Readarr to list of known user agents." - }, - { - "type": "feature", - "text": "The dialog for the configuration of external tools will now save the input for each tool and restore it the next time you open the dialog for that tool again." - }, - { - "type": "feature", - "text": "Support for indexer VIP expiry date 'Lifetime'. No logic behind it, just so you can enter and see that information." - }, - { - "type": "fix", - "text": "Improve layout of quick filter buttons in search results." - } - ], - "final": true - }, - { - "version": "v2.28.0", - "date": "2020-09-03", - "changes": [ - { - "type": "feature", - "text": "When using \"Add links\" to add NZBs to your downloader the links are usually calculated using the URL with which you accessed NZBHydra. This might be a URL that's not accessible by the downloader (e.g. when it's inside a docker container). You can now configure a URL in the downloading config that will be used for these links instead." - }, - { - "type": "fix", - "text": "Don't let the invisible update footer catch clicks meant for the elements behind it." - } - ], - "final": true - }, - { - "version": "v2.27.2", - "date": "2020-09-01", - "changes": [ - { - "type": "fix", - "text": "Use proper version for Radarr v3 (I used a develop version which returns 10.x)." - }, - { - "type": "fix", - "text": "Reduce log output of exceptions." - }, - { - "type": "fix", - "text": "(Hopefully) improve detection of local IP address when binding to 0.0.0.0." - } - ], - "final": true - }, - { - "version": "v2.27.1", - "date": "2020-09-01", - "changes": [ - { - "type": "feature", - "text": "Support for Radarr v3 (see v2.27.0)." - } - ], - "final": true - }, - { - "version": "v2.27.0", - "date": "2020-08-31", - "changes": [ - { - "type": "feature", - "text": "You can now automatically add NZBHydra as an indexer to Sonarr / Radarr / Lidarr. You can choose to add it as a single entry or one for every configured indexer and if it should be added as newznab and/or torznab indexer." - }, - { - "type": "fix", - "text": "Close search history dropdown in search dialog when it was dragged." - }, - { - "type": "fix", - "text": "Make quick filters case insensitive." - } - ], - "final": false - }, - { - "version": "v2.26.0", - "date": "2020-08-24", - "changes": [ - { - "type": "feature", - "text": "Drag an entry from the search history to the search input to prefill it with the history entry's values. Then you can adapt them and search." - }, - { - "type": "feature", - "text": "Added quick filters for HEVC and x265. Added an option to always show quick filter buttons (i.e. for any type of search). You can also define custom quick filters." - }, - { - "type": "feature", - "text": "Show number of filtered and number of duplicate results on search results page." - }, - { - "type": "fix", - "text": "Fix layout of search input for movies and shows." - }, - { - "type": "fix", - "text": "Fix download of magnet links to black hole for some trackers." - } - ], - "final": true - }, - { - "version": "v2.25.0", - "date": "2020-07-02", - "changes": [ - { - "type": "feature", - "text": "When creating debug infos log all changes made to the config." - }, - { - "type": "feature", - "text": "Show dl/ul ratio indicator for torznab results (if not 100%). E.g. when '50%' is shown only half the download's size will be counted towards your ratio. Freelech torrents will be shown as such." - } - ], - "final": true - }, - { - "version": "v2.24.1", - "date": "2020-06-29", - "changes": [ - { - "type": "fix", - "text": "Generate query for book searches if enabled and book search not supported by indexer." - }, - { - "type": "fix", - "text": "Autofocus search input field (pretty sure that worked at some point)." - }, - { - "type": "fix", - "text": "Catch illegal characters in hostname when configuring sabnzbd." - } - ], - "final": true - }, - { - "version": "v2.24.0", - "date": "2020-06-22", - "changes": [ - { - "type": "note", - "text": "I've upgraded some of the libraries I used. This should ideally not change anything but to be sure I'll release this as prerelase first." - }, - { - "type": "fix", - "text": "Remove API keys in URL encoded log entries." - } - ], - "final": false - }, - { - "version": "v2.23.0", - "date": "2020-06-03", - "changes": [ - { - "type": "feature", - "text": "Double-click system tray icon to open GUI in browser." - }, - { - "type": "feature", - "text": "Click downloader image in footer to open it in a new tab." - }, - { - "type": "feature", - "text": "Add toggle to display options for search result groups being expanded by default." - }, - { - "type": "feature", - "text": "Add toggle to display options for the indicator of already downloaded results." - }, - { - "type": "feature", - "text": "Add toggle to display options to control display of already downloaded results. It's basically a filter." - } - ], - "final": true - }, - { - "version": "v2.22.5", - "date": "2020-05-27", - "changes": [ - { - "type": "fix", - "text": "Indexers which report the API and download limits were not properly selected when the hit limit was reached but the latest hit was more than 24 hours ago." - }, - { - "type": "fix", - "text": "Error while searching Animetosho." - }, - { - "type": "fix", - "text": "Properly recognize ID based searches returning too many results." - } - ], - "final": true - }, - { - "version": "v2.22.4", - "date": "2020-05-24", - "changes": [ - { - "type": "fix", - "text": "Fix problem with torznab introduced in last version (looking at me again, in this case)." - } - ], - "final": true - }, - { - "version": "v2.22.3", - "date": "2020-05-24", - "changes": [ - { - "type": "fix", - "text": "Fix problem with paging introduced in last version (looking at me, in this case)." - } - ], - "final": true - }, - { - "version": "v2.22.2", - "date": "2020-05-20", - "changes": [ - { - "type": "feature", - "text": "Add refresh buttons to search and download history." - }, - { - "type": "fix", - "text": "Properly handle indexers which report more results in an API response than they actually return (looking at you, wtfnzbs)." - } - ], - "final": true - }, - { - "version": "v2.22.1", - "date": "2020-05-13", - "changes": [ - { - "type": "fix", - "text": "Last release was broken a bit..." - } - ], - "final": true - }, - { - "version": "v2.22.0", - "date": "2020-05-13", - "changes": [ - { - "type": "feature", - "text": "Add filter for minimum # of seeders (in general and per tracker)." - }, - { - "type": "fix", - "text": "It appears that the hashing algorithm used to check for the outdated wrapper files behaves differently on some machines / OSes. I switched to SHA1 which should reduce false positives. If you still get the wrapper warning and really updated all files let me know." - }, - { - "type": "fix", - "text": "Made sure that torznab results are never considered duplicates to anything. It could be argued that in some cases two torrents from public trackers may actually be the same but I consider that an edge case." - } - ], - "final": true - }, - { - "version": "v2.21.1", - "date": "2020-05-09", - "changes": [ - { - "type": "feature", - "text": "Make instructions what to update when your wrapper is outdated extra clear: Any wrapper file found in the folder must be updated, not just the one you're using to run hydra. If the message says to extract the ZIP into your nzbhydra folder I mean ALL THE FILES." - }, - { - "type": "note", - "text": "I moved my mail address from theotherp@gmx.de to theotherp@posteo.net." - } - ], - "final": true - }, - { - "version": "v2.21.0", - "date": "2020-05-08", - "changes": [ - { - "type": "feature", - "text": "NZBHydra will now try to fall back to similar results when an NZB download fails. This is only possible if it proxies the results instead of redirecting to the indexer so I've made that the default *for new installs*. It works by looking for results with the same title from other indexers which were found in the same search as the result of which the download failed." - }, - { - "type": "fix", - "text": "Covers were not shown for search results." - }, - { - "type": "fix", - "text": "Fix layout of tooltip icons (\"?\") in config in safari browser." - } - ], - "final": true - }, - { - "version": "v2.20.7", - "date": "2020-05-07", - "changes": [ - { - "type": "fix", - "text": "Execute check of outdated wrapper on startup to properly detect updated wrapper." - }, - { - "type": "fix", - "text": "Fix some more layout issues." - } - ], - "final": true - }, - { - "version": "v2.20.6", - "date": "2020-05-07", - "changes": [ - { - "type": "fix", - "text": "Revert tool to compile python wrapper to exe to older version as new exe files were (falsely!) recognized as a virus by *some* tools. To be clear, the files were never problematic. That means you'll have update the exe files or python scripts again." - }, - { - "type": "fix", - "text": "Fix decoding issue of settings file by python3 wrapper." - } - ], - "final": true - }, - { - "version": "v2.20.5", - "date": "2020-05-06", - "changes": [ - { - "type": "feature", - "text": "Mark results in GUI that already have been downloaded." - }, - { - "type": "fix", - "text": "Fix issue with notification about outdated wrapper files not being shown. NZBHydra will now nag you until you refresh the files." - }, - { - "type": "fix", - "text": "Revert layout fixes made in v2.20.4 because fuck CSS." - } - ], - "final": true - }, - { - "version": "v2.20.4", - "date": "2020-05-06", - "changes": [ - { - "type": "feature", - "text": "GC logging (for debugging of memory issues) is now configurable and disabled by default. This has required a change in the wrapper which means you'll have to manually update them if you're running NZBHydra on windows or are using the linux executable." - }, - { - "type": "feature", - "text": "Show current version and (if applicable) docker container infos on about page." - }, - { - "type": "fix", - "text": "Fix parsing of API limits from indexers' API responses using different formats." - }, - { - "type": "fix", - "text": "Don't show news for fresh installs." - }, - { - "type": "fix", - "text": "Fix some (minor) layout issues on the search page." - } - ], - "final": true - }, - { - "version": "v2.20.3", - "date": "2020-05-01", - "changes": [ - { - "type": "feature", - "text": "NZBHydra will recognize renamed indexers when saving the config. Renaming will no longer cause loss of stats and history for those indexers. You should have two indexers configured with the same host, API key and search type as this messes with the rename detection." - }, - { - "type": "feature", - "text": "Click covers in search results to show them in a pop-up." - }, - { - "type": "fix", - "text": "In some cases the download history could not be opened." - } - ], - "final": true - }, - { - "version": "v2.20.2", - "date": "2020-04-29", - "changes": [ - { - "type": "feature", - "text": "Added more substructures to the config GUI to make it a bit more clear." - }, - { - "type": "feature", - "text": "Replaced the config help pop-up pages with contextual help. Click the question marks neach to each field to get a bit more in-depth info." - }, - { - "type": "feature", - "text": "Add button to clear search input." - }, - { - "type": "fix", - "text": "Automatic update notification was also shown for manual updates." - } - ], - "final": true - }, - { - "version": "v2.20.1", - "date": "2020-04-28", - "changes": [ - { - "type": "feature", - "text": "Add button to debug infos tab to list all HTTP endpoints (useful for reverse proxy config)." - }, - { - "type": "fix", - "text": "Search type SEARCH wasn't displayed in indexer config." - }, - { - "type": "fix", - "text": "Improve matching of indexer configs when reading jackett config." - }, - { - "type": "fix", - "text": "Restore display of button to send torrents to black hole." - }, - { - "type": "fix", - "text": "Try to fix circular loading error when creating backup." - } - ], - "final": true - }, - { - "version": "v2.20.0", - "date": "2020-04-26", - "changes": [ - { - "type": "feature", - "text": "Option to filter out results by language. Very few indexers provide the language in the results, though." - }, - { - "type": "feature", - "text": "You can now add self-signed certificates for any hosts you want to connect to. Just create a folder named 'certificates' inside the data folder, put your .crt files there and reload NZBHydra." - }, - { - "type": "feature", - "text": "Option to disable SSL verification for local hosts. (This was on by default so far)." - }, - { - "type": "feature", - "text": "Support for saving NZBs to a black hole." - }, - { - "type": "fix", - "text": "Fix sorting by age in download history." - }, - { - "type": "fix", - "text": "NZBGet connection didn't honor SSL verification settings." - }, - { - "type": "fix", - "text": "Properly display last errror on indexer statuses page." - }, - { - "type": "fix", - "text": "Fix parsing of binsearch date on non-english locales." - }, - { - "type": "fix", - "text": "Properly recognize duplicate NZBs not added to sabNZBd." - }, - { - "type": "fix", - "text": "Improve matching of downloads to downloader entries where no external ID exists, i.e. those downloads resulting from API accesses." - }, - { - "type": "fix", - "text": "When using NZBGet the wrong NZB would be shown as downloading if the first entry in the queue wasn't the one downloading." - }, - { - "type": "fix", - "text": "Handle errors better while adding torrents to black hole or sending magnet links." - }, - { - "type": "fix", - "text": "Filter out quotation marks (\") when searching NZBGeek." - }, - { - "type": "note", - "text": "I've added two settings for the database. Just ignore them unless told otherwise ;-)" - } - ], - "final": true - }, - { - "version": "v2.19.6", - "date": "2020-04-23", - "changes": [ - { - "type": "fix", - "text": "With v2.15.0 I added the option to configure the backup folder and changed the path from being relative to the data folder to being relative to the main folder. That's not compatible with docker containers and broke the backup but I always insisted it wasn't my fault - it was, sorry." - } - ], - "final": true - }, - { - "version": "v2.19.5", - "date": "2020-04-20", - "changes": [ - { - "type": "fix", - "text": "Indexer caps check was not executed when adding a new indexer." - }, - { - "type": "note", - "text": "Happy 420. Stay inside. Stay healthy. Sorry for all the bugfix releases..." - } - ], - "final": true - }, - { - "version": "v2.19.4", - "date": "2020-04-20", - "changes": [ - { - "type": "fix", - "text": "Fix error while reading API limits response from indexers which don't report oldest access time." - } - ], - "final": true - }, - { - "version": "v2.19.3", - "date": "2020-04-20", - "changes": [ - { - "type": "fix", - "text": "Fix error when searching torznab." - } - ], - "final": true - }, - { - "version": "v2.19.2", - "date": "2020-04-20", - "changes": [ - { - "type": "fix", - "text": "Fix error related to fallback." - } - ], - "final": true - }, - { - "version": "v2.19.1", - "date": "2020-04-20", - "changes": [ - { - "type": "feature", - "text": "Add debug output for determination of API/download limits." - }, - { - "type": "fix", - "text": "Corectly parse API/download limit information from NNTmux." - } - ], - "final": true - }, - { - "version": "v2.19.0", - "date": "2020-04-19", - "changes": [ - { - "type": "feature", - "text": "Add option to set VIP expiry date for an indexer. You will be warned when the expiry date is near or has been reached." - } - ], - "final": false - }, - { - "version": "v2.18.0", - "date": "2020-04-19", - "changes": [ - { - "type": "feature", - "text": "Added option to define a color for an indexer. Results from that indexer will be marked using that color." - }, - { - "type": "fix", - "text": "Some indexers apparently return all results for ID based searches when actually no results were found. In this case it will be handled as if no results were found." - }, - { - "type": "fix", - "text": "Adjust width of title box in search form when displaying results." - }, - { - "type": "fix", - "text": "Fallback to query generation was often not executed when it should've." - } - ], - "final": false - }, - { - "version": "v2.17.6", - "date": "2020-04-17", - "changes": [ - { - "type": "fix", - "text": "Fix passworded releases not being included for a certain indexer." - }, - { - "type": "note", - "text": "Added logging to debug query generation fallback." - }, - { - "type": "note", - "text": "Added thank-you to newsgroup.ninja for sponsoring me." - } - ], - "final": true - }, - { - "version": "v2.17.5", - "date": "2020-04-05", - "changes": [ - { - "type": "fix", - "text": "Fix copy & paste error introduced with last version." - } - ], - "final": true - }, - { - "version": "v2.17.4", - "date": "2020-04-05", - "changes": [ - { - "type": "fix", - "text": "Min and max size were not filled on page load with a custom default category was configured." - } - ], - "final": true - }, - { - "version": "v2.17.3", - "date": "2020-04-01", - "changes": [ - { - "type": "feature", - "text": "Add option to always convert media IDs. This might make sense for indexers that only sometimes support a certain ID, i.e. don't have all results tagged with a certain ID but may have tagged them with others." - } - ], - "final": true - }, - { - "version": "v2.17.2", - "date": "2020-04-01", - "changes": [ - { - "type": "fix", - "text": "Fix database error when searching with disabled history." - }, - { - "type": "fix", - "text": "Don't show option how long to keep stats with disabled history." - } - ], - "final": true - }, - { - "version": "v2.17.1", - "date": "2020-03-31", - "changes": [ - { - "type": "fix", - "text": "When reading the jackett configuration update existing tracker configs instead of replacing them." - }, - { - "type": "note", - "text": "Enable query generation for internal searches by default." - } - ], - "final": true - }, - { - "version": "v2.17.0", - "date": "2020-03-30", - "changes": [ - { - "type": "feature", - "text": "Add option to read Jackett config and automatically add all configured trackers. Already configured trackers will be updated. Thanks for Davide Campagna for the tip." - }, - { - "type": "feature", - "text": "Add option to configure downloader to never send a category." - }, - { - "type": "fix", - "text": "Some time ago I implemented a feature that recognized OutOfMemory errors in the log which might've been not recognized by the user because the program automatically restarts after such a crash. Ironically this check caused OutOfMemory errors with huge log files..." - } - ], - "final": true - }, - { - "version": "v2.16.5", - "date": "2020-03-23", - "changes": [ - { - "type": "feature", - "text": "Enable some more logging to debug slow server responses." - } - ], - "final": true - }, - { - "version": "v2.16.3", - "date": "2020-03-23", - "changes": [ - { - "type": "feature", - "text": "Fancy new graph for CPU usage per thread in the debug infos section. Enable the logging marker 'Performance' for the graph to show data. In this case NZBHydra will also log memory usage and any threads using more than 5% CPU. This might have an overhead on some systems so I don't recommend running it by default." - }, - { - "type": "feature", - "text": "Add option to create and log a thread dump directly from the GUI. You can also create a heap dump for me to analyze but this will only work with non-J9 JREs." - }, - { - "type": "feature", - "text": "Log more data in the debug report. If you're curious you can visit http://127.0.0.1:5076/actuator (or whatever your IP and port are) and take a look. There's a lot of data you could display in a dashboard." - } - ], - "final": true - }, - { - "version": "v2.16.2", - "date": "2020-03-22", - "changes": [ - { - "type": "feature", - "text": "Extend performance logging." - } - ], - "final": true - }, - { - "version": "v2.16.1", - "date": "2020-03-15", - "changes": [ - { - "type": "fix", - "text": "Fix display of version history." - } - ], - "final": false - }, - { - "version": "v2.16.0", - "date": "2020-03-15", - "changes": [ - { - "type": "feature", - "text": "Add an extra option for how long stats data is kept. Set this to 4 weeks or so. I've also updated the wiki's memory page to explain which settings impact the database size which is usually the reason for high memory usage." - }, - { - "type": "note", - "text": "I've reduced the default for how long search results are kept in the database to mitigate some memory issues with large databases. Only very few users should be affected by this negatively." - }, - { - "type": "note", - "text": "I've moved the settings for the history to the main config section." - } - ], - "final": false - }, - { - "version": "v2.15.2", - "date": "2020-03-15", - "changes": [ - { - "type": "feature", - "text": "Increased the number of entries in the search history dropdown to 25." - }, - { - "type": "feature", - "text": "Added option to configure the number of results shown per page. Default is 100. Max is 500." - }, - { - "type": "fix", - "text": "Properly display full width of selected titles from the search autocomplete." - }, - { - "type": "fix", - "text": "Remove apostrophe (') from generated queries again. Seems like there is no right way to do this as some trackers return more results with and some without; but it also seems that more indexers prefer it to be removed. If you know a tracker / indexer that works better with apostrophes in the query please tell me and I will make an exclusion for them." - } - ], - "final": false - }, - { - "version": "v2.15.1", - "date": "2020-03-14", - "changes": [ - { - "type": "fix", - "text": "Contents of the generic storage were not properly migrated." - } - ], - "final": false - }, - { - "version": "v2.15.0", - "date": "2020-03-14", - "changes": [ - { - "type": "feature", - "text": "Option to disable history of searches and downloads." - }, - { - "type": "feature", - "text": "Option to configure folder for backups." - }, - { - "type": "feature", - "text": "Option to not send newznab categories for torznab indexers (trackers). See #516." - }, - { - "type": "note", - "text": "Previously a couple of settings (Time of last backup, time of first start, latest news shown, etc.) were stored in the database. That meant they were lost when starting with a new database. I've moved the settings to the config file wherey they belong." - }, - { - "type": "feature", - "text": "Show a notification footer when an automatic update was installed." - }, - { - "type": "fix", - "text": "Don't crash py3 wrapper when trying to log unicode characters." - }, - { - "type": "fix", - "text": "Keep result selection when changing pages. (To be precise, the result selection was actually already kept but upon page change \"selected\" results' checkboxes would not be checked.)" - }, - { - "type": "fix", - "text": "Fix download of results as ZIP (which apparently nobody uses as it seems to have been broken forever...)." - } - ], - "final": false - }, - { - "version": "v2.14.2", - "date": "2020-03-09", - "changes": [ - { - "type": "fix", - "text": "Ensure passworded results are included for certain indexers when configured not to ignore them." - }, - { - "type": "fix", - "text": "Fix link to downloading help." - } - ], - "final": true - }, - { - "version": "v2.14.1", - "date": "2020-02-23", - "changes": [ - { - "type": "fix", - "text": "Fix failing startup of fresh instance on Linux. Thanks, hotio." - } - ], - "final": true - }, - { - "version": "v2.14.0", - "date": "2020-02-23", - "changes": [ - { - "type": "feature", - "text": "Allow setting a default category to be preselected." - }, - { - "type": "feature", - "text": "Add supported SSL ciphers to debug infos output." - }, - { - "type": "feature", - "text": "Update indexer presets." - }, - { - "type": "fix", - "text": "Fix errors in py3 wrapper." - } - ], - "final": true - }, - { - "version": "v2.13.14", - "date": "2020-02-19", - "changes": [ - { - "type": "fix", - "text": "Fix error in URL calculation, resulting in failing API downloads when other programs access Hydra via a reverse proxy with SSL." - } - ], - "final": true - }, - { - "version": "v2.13.13", - "date": "2020-02-17", - "changes": [ - { - "type": "fix", - "text": "Redirect system.out to log file for SSL debug infos even on windows" - } - ], - "final": true - }, - { - "version": "v2.13.12", - "date": "2020-02-15", - "changes": [ - { - "type": "fix", - "text": "Don't use value of X-Forwarded-For when recognizing secure IPs." - }, - { - "type": "fix", - "text": "Don't use search IDs in fallback queries. The indexer already returned 0 results for the last search and providing them may prevent the query from returning results." - } - ], - "final": false - }, - { - "version": "v2.13.11", - "date": "2020-02-15", - "changes": [ - { - "type": "fix", - "text": "Fix invalid config created by v2.13.9." - } - ], - "final": false - }, - { - "version": "v2.13.10", - "date": "2020-02-15", - "changes": [ - { - "type": "fix", - "text": "Fix error while saving config." - } - ], - "final": false - }, - { - "version": "v2.13.9", - "date": "2020-02-15", - "changes": [ - { - "type": "feature", - "text": "Replace auth token implementation with auth header. You may define an header that provides a username and a range of IP addresses from which this header will be accepted. The user will automatically be logged in." - } - ], - "final": false - }, - { - "version": "v2.13.8", - "date": "2020-02-15", - "changes": [ - { - "type": "feature", - "text": "Allow authorization via predefined OAuth2 / (X-)Authorization header. The token must be unique for each user in order to identify him." - }, - { - "type": "fix", - "text": "Improve matching of downloader history entries." - }, - { - "type": "fix", - "text": "Use dereferer for links in config help texts." - }, - { - "type": "fix", - "text": "Improve readability of error messages in dark and grey themes." - } - ], - "final": false - }, - { - "version": "v2.13.7", - "date": "2020-02-11", - "changes": [ - { - "type": "fix", - "text": "Further extend logging if logging marker 'HTTP Server' is selected. Don't hide local IP addresses in log. Replace other IP files with hashes to hide them but make them comparable." - } - ], - "final": true - }, - { - "version": "v2.13.6", - "date": "2020-02-09", - "changes": [ - { - "type": "fix", - "text": "Improve matching of hidden download entries from NZBGet history." - } - ], - "final": true - }, - { - "version": "v2.13.5", - "date": "2020-02-09", - "changes": [ - { - "type": "feature", - "text": "Extend logging if logging marker 'HTTP Server' is selected." - } - ], - "final": true - }, - { - "version": "v2.13.4", - "date": "2020-02-08", - "changes": [ - { - "type": "fix", - "text": "Improve wording of config description on how to apply newznab categories by pressing enter." - }, - { - "type": "fix", - "text": "Include hidden results from NZBGet history when checking download status. That way entries removed by *arr and other programs will be considered, too." - } - ], - "final": true - }, - { - "version": "v2.13.3", - "date": "2020-02-06", - "changes": [ - { - "type": "fix", - "text": "Fixed a very rare issue where a file stored in temp directory could not be read or deleted which prevented successful database migration." - } - ], - "final": true - }, - { - "version": "v2.13.2", - "date": "2020-02-02", - "changes": [ - { - "type": "fix", - "text": "Uniqueness score was not saved for torrent downloads." - }, - { - "type": "fix", - "text": "Apostrophes were removed from generated queries resulting in less results." - } - ], - "final": true - }, - { - "version": "v2.13.1", - "date": "2020-02-01", - "changes": [ - { - "type": "fix", - "text": "Don't verify hostnames for hosts for which to ignore SSL certificate checks." - } - ], - "final": true - }, - { - "version": "v2.13.0", - "date": "2020-02-01", - "changes": [ - { - "type": "note", - "text": "I've removed the option to use the packaged cacerts file which will now always be loaded by default. A future version will allow to add custom certificates to the chain. Most likely this will not affect many users anyway." - }, - { - "type": "fix", - "text": "Fixed issue where SSL verification was not properly disabled for some hosts. Certificate checks are now also automatically disabled for local hosts." - } - ], - "final": false - }, - { - "version": "v2.12.8", - "date": "2020-01-29", - "changes": [ - { - "type": "fix", - "text": "Same shit, different release. Thanks to reloxx13 for helping me reproduce this." - } - ], - "final": false - }, - { - "version": "v2.12.7", - "date": "2020-01-29", - "changes": [ - { - "type": "fix", - "text": "Fix another issue with database migration. I'll switch to a different approach soon, this is too fragile." - } - ], - "final": false - }, - { - "version": "v2.12.6", - "date": "2020-01-29", - "changes": [ - { - "type": "fix", - "text": "Fix issue with new installations not starting due to updated database library. So much for more stability..." - } - ], - "final": false - }, - { - "version": "v2.12.5", - "date": "2020-01-28", - "changes": [ - { - "type": "fix", - "text": "Update database library. Should have no effect on you except hopefully more stability." - } - ], - "final": false - }, - { - "version": "v2.12.4", - "date": "2020-01-27", - "changes": [ - { - "type": "fix", - "text": "Fix exception that occurs when an indexer's API limit was reached as reported by the indexer but Hydra can't find any of those hits in its database." - } - ], - "final": true - }, - { - "version": "v2.12.3", - "date": "2020-01-26", - "changes": [ - { - "type": "fix", - "text": "Updated included SSL certificates." - }, - { - "type": "fix", - "text": "Include beta releases in changelog when they have been released between the currently installed final version and the newest final version." - } - ], - "final": true - }, - { - "version": "v2.12.2", - "date": "2020-01-20", - "changes": [ - { - "type": "fix", - "text": "Made some improvements in the way certificates are loaded. This should hopefully improve connectivity with NZBGeek on systems where it previously failed (due to incorrect JDK installations)." - } - ], - "final": true - }, - { - "version": "v2.12.1", - "date": "2020-01-19", - "changes": [ - { - "type": "fix", - "text": "Fix error in indexer selection when indexers report their API hits but don't report the expiry timestamp." - }, - { - "type": "fix", - "text": "Caching results for external API didn't work with some combination of parameters." - } - ], - "final": false - }, - { - "version": "v2.12.0", - "date": "2020-01-18", - "changes": [ - { - "type": "feature", - "text": "Show API and download limit related values in the indexer statuses page." - }, - { - "type": "feature", - "text": "If an indexer reports API and download limits and current hits in the response (as far as I know only nntmux does this) this will be stored and used to determine if the indexer's limits are reached. This will allow more precise results when any other programs (or you) happen to make API calls or downloads that Hydra is not aware of. As a fallback the logged API hits and downloads from the database are used (as before)." - } - ], - "final": false - }, - { - "version": "v2.11.2", - "date": "2020-01-15", - "changes": [ - { - "type": "fix", - "text": "Fix SSL logging introduced in v2.11.1 when running in linux." - } - ], - "final": true - }, - { - "version": "v2.11.1", - "date": "2020-01-14", - "changes": [ - { - "type": "feature", - "text": "Added code to help debug SSL / certificate issues when connecting to indexers." - }, - { - "type": "fix", - "text": "Fix all versions in version history being displayed as beta." - }, - { - "type": "fix", - "text": "Handle unexpected response when checking caps better." - } - ], - "final": true - }, - { - "version": "v2.11.0", - "date": "2020-01-12", - "changes": [ - { - "type": "feature", - "text": "Restored old \"Load all results\" behavior. Now when enabled Hydra will display all already retrieved results from the cache. You still need to click \"Load all\" on the search results page to load all results available from indexers, resulting in more API hits. I've renamed the setting in the config to \"Display all cached results\"." - } - ], - "final": true - }, - { - "version": "v2.10.13", - "date": "2020-01-11", - "changes": [ - { - "type": "feature", - "text": "Provide wrapper file for Python 3. Would be nice if you could test it and let me know if it works." - } - ], - "final": false - }, - { - "version": "v2.10.12", - "date": "2020-01-11", - "changes": [ - { - "type": "feature", - "text": "Add validation to category config that warns users when a category contains a newznab main category (like 2000) and a subcategory already covered by that (like 2020)." - }, - { - "type": "feature", - "text": "Provide wrapper file for Python 3." - }, - { - "type": "fix", - "text": "Recognize error thrown when search IDs not supported by Animetosho." - } - ], - "final": false - }, - { - "version": "v2.10.11", - "date": "2020-01-07", - "changes": [ - { - "type": "fix", - "text": "Allow users with access to stats to see the downloader bar. Prevent error message for the others." - } - ], - "final": false - }, - { - "version": "v2.10.10", - "date": "2020-01-07", - "changes": [ - { - "type": "fix", - "text": "Add missing UI config entry for backup added in last update." - } - ], - "final": false - }, - { - "version": "v2.10.9", - "date": "2020-01-06", - "changes": [ - { - "type": "feature", - "text": "Switched option for backup to an interval of days which allows you to have a finer control over when backups are created (e.g. more often if your system tends to crash...)." - } - ], - "final": false - }, - { - "version": "v2.10.8", - "date": "2020-01-05", - "changes": [ - { - "type": "feature", - "text": "Added option to update to prereleases. If you enable this you will get 'beta' releases which I consider kinda stable but which contain bigger changes which might still break stuff. If you want to help with development please enable this and report any problems you encounter. Please note that any older instance older than v2.10.8 (this one) will always update to prereleases because they don't know the difference. Docker containers by popular maintainers will soon support prerelease tags (or already do so by now)." - } - ], - "final": true - }, - { - "version": "v2.10.7", - "date": "2020-01-05", - "changes": [ - { - "type": "note", - "text": "Happy new year!" - }, - { - "type": "fix", - "text": "Fix memory leak when using a proxy." - } - ], - "final": true - }, - { - "version": "v2.10.6", - "date": "2019-12-29", - "changes": [ - { - "type": "fix", - "text": "The last changes made a pretty big change in the searching behavior with the option 'Load all' enabled. I'm completely rolling that back until I have an idea how to get what I want without causing excessive search behavior." - } - ], - "final": true - }, - { - "version": "v2.10.5", - "date": "2019-12-29", - "changes": [ - { - "type": "fix", - "text": "Last udate (which reverted 2.10.3) was incomplete. Sorry, still drowsy from too much christmas food ;-)" - } - ], - "final": true - }, - { - "version": "v2.10.4", - "date": "2019-12-28", - "changes": [ - { - "type": "fix", - "text": "Revert 'load all' change made with last version as it causes some search loops. Will need to take a closer look." - } - ], - "final": true - }, - { - "version": "v2.10.3", - "date": "2019-12-28", - "changes": [ - { - "type": "fix", - "text": "With the option to load all results enabled now all available results will actually be loaded." - }, - { - "type": "note", - "text": "I've removed the feature to migrate from v1 (to reduce the install size and memory usage a bit). It's still possible to migrate in older versions and then update to a current version." - } - ], - "final": true - }, - { - "version": "v2.10.2", - "date": "2019-12-04", - "changes": [ - { - "type": "feature", - "text": "Add option to log HTTP server requests and their response times. The log messages will be written to a file nzbhydra.serv.log and not contained in the debug infos. They might help debug some performance related problems." - } - ], - "final": true - }, - { - "version": "v2.10.1", - "date": "2019-12-01", - "changes": [ - { - "type": "fix", - "text": "Fix db error when trying to save downloaded NZB." - } - ], - "final": true - }, - { - "version": "v2.10.0", - "date": "2019-11-30", - "changes": [ - { - "type": "fix", - "text": "I've changed (fixed) the way indexers are queried when searches are being made. In essence this will fix paging, allowing Radarr/Sonarr to properly read NZBHydra's results over multiple pages. What does that mean for you? *arr will probably find more results when doing backlog searches and NZBHydra will do more indexer searches, resulting in increased API hits (but not more than if you had configured them directly in *arr). For more (technical) details see this GitHub issue." - }, - { - "type": "fix", - "text": "Recognize indexers reporting -1 for api or download limit for \"unlimited\"." - }, - { - "type": "fix", - "text": "Fixed a minor layout issue in the config." - }, - { - "type": "fix", - "text": "Make sure \"Keep history for ... weeks\" is either empty or set to a positive value." - }, - { - "type": "fix", - "text": "The download history didn't load properly when the option to delete old searches from the history was set." - } - ], - "final": true - }, - { - "version": "v2.9.5", - "date": "2019-11-23", - "changes": [ - { - "type": "feature", - "text": "I realised the indexer score is too complex to show in a chart and replaced it with a table, that shows more information. It will now contain the average uniqueness score, the number of unique downloads and the number of searches which resulted in a download and where an indexer was involved. " - } - ], - "final": true - }, - { - "version": "v2.9.4", - "date": "2019-11-21", - "changes": [ - { - "type": "fix", - "text": "Further improvements regarding uniqueness score." - } - ], - "final": true - }, - { - "version": "v2.9.3", - "date": "2019-11-20", - "changes": [ - { - "type": "feature", - "text": "Some indexers report their API and download limits in their XMLs. NZBHydra will detect that when the indexer's caps are checked and will automatically fill out the config accordingly (keeping already set values as they are)." - } - ], - "final": true - }, - { - "version": "v2.9.2", - "date": "2019-11-17", - "changes": [ - { - "type": "fix", - "text": "Actually show version dates in the updates page..." - } - ], - "final": true - }, - { - "version": "v2.9.1", - "date": "2019-11-17", - "changes": [ - { - "type": "fix", - "text": "Further adjustment to uniqueness score." - } - ], - "final": true - }, - { - "version": "v2.9.0", - "date": "2019-11-17", - "changes": [ - { - "type": "feature", - "text": "I've updated the indexer uniqueness score calculation so that indexers which are often involved in searches get a higher score than those rarely involved. I also found a bug in the way the data was stored to the database so the old values will be removed." - }, - { - "type": "feature", - "text": "The changelog now contains release dates along with the version." - }, - { - "type": "feature", - "text": "Added option to disable update banner when running docker." - } - ], - "final": true - }, - { - "version": "v2.8.4", - "date": "2019-11-14", - "changes": [ - { - "type": "fix", - "text": "Cached torznab results were returned as wrong XML. Also cached torznab and newznab queries could conflict." - } - ], - "final": true - }, - { - "version": "v2.8.3", - "date": "2019-11-14", - "changes": [ - { - "type": "fix", - "text": "Improve logging and handling of torznab/newznab XML transformation." - } - ], - "final": true - }, - { - "version": "v2.8.2", - "date": "2019-11-13", - "changes": [ - { - "type": "feature", - "text": "Support for pourcesoir.in, a french indexer. Their dev approached me with an idea on how to work around laws forbidding hosting NZB files. The indexer provides a certain text for each result using which you will find the result using a raw search engine like binsearch. NZBHydra will display a search icon in the search results GUI via which you can search for the result on Binsearch. I'll be honest, I'm not sure how viable that approach is, but I'm open to new ideas." - }, - { - "type": "fix", - "text": "Fix pagination display error with." - } - ], - "final": true - }, - { - "version": "v2.8.1", - "date": "2019-11-11", - "changes": [ - { - "type": "feature", - "text": "Allow to define sorting for the search results via URL parameters. Use &sortby= and, optionally, &sortdirection=asc or &sortdirection=desc. This will take preference to the sorting settings saved in a cookie but not overwrite them." - } - ], - "final": true - }, - { - "version": "v2.8.0", - "date": "2019-11-08", - "changes": [ - { - "type": "fix", - "text": "Hydra will use proper HTTP status codes when NZB download fails to signal that an indexer's API limit is reached. This will be recognized by *arr, which will skip the release and try another one. This will also prevent *arr from disabling NZBHydra in such cases." - }, - { - "type": "fix", - "text": "Fix minor issue in indexer uniqueness score calculation." - } - ], - "final": true - }, - { - "version": "v2.7.7", - "date": "2019-11-04", - "changes": [ - { - "type": "fix", - "text": "Indexer uniqueness score had wrong axis labels in the stats page." - } - ], - "final": true - }, - { - "version": "v2.7.6", - "date": "2019-11-04", - "changes": [ - { - "type": "feature", - "text": "Restore the indexer uniqueness score introduced with 2.7.0 and then rolled back due to database migration problems. The database is now restored on startup which should prevent any migration errors. The startup will take a while for this update." - } - ], - "final": true - }, - { - "version": "v2.7.5", - "date": "2019-10-30", - "changes": [ - { - "type": "fix", - "text": "Fix 'You're not allowed...' error caused by the fix in 2.7.4... :-/" - } - ], - "final": true - }, - { - "version": "v2.7.4", - "date": "2019-10-29", - "changes": [ - { - "type": "fix", - "text": "Fix 'You're not allowed...' error related to security cookie. Thanks to /u/routhinator for the hint." - } - ], - "final": true - }, - { - "version": "v2.7.3", - "date": "2019-10-27", - "changes": [ - { - "type": "feature", - "text": "Added option to configure cover width in search results." - }, - { - "type": "fix", - "text": "TMDB capabilities were not correctly checked." - }, - { - "type": "note", - "text": "I've added instructions to send one-time donations via PayPal and recurring donations via Github Sponsors." - } - ], - "final": true - }, - { - "version": "v2.7.2", - "date": "2019-10-06", - "changes": [ - { - "type": "fix", - "text": "I had to revert the changes from 2.7.0 because for some reason some databases could not be migrated. I'll need to take a closer look first, sorry." - } - ], - "final": true - }, - { - "version": "v2.7.1", - "date": "2019-10-06", - "changes": [ - { - "type": "fix", - "text": "Hopefully fix a problem which might prevent a successful database migration for some instances." - } - ], - "final": true - }, - { - "version": "v2.7.0", - "date": "2019-10-06", - "changes": [ - { - "type": "feature", - "text": "I've added a new statistics value called \"Indexer result uniqueness score\" (which is is a mouthful, if you have a better name please let me know). This score attempts to answer the question: Which indexer should I keep and which can I let go? See the wiki for more information. The score will only work for new downloads." - } - ], - "final": true - }, - { - "version": "v2.6.18", - "date": "2019-09-29", - "changes": [ - { - "type": "feature", - "text": "Add global cache time config parameter" - } - ], - "final": true - }, - { - "version": "v2.6.17", - "date": "2019-09-07", - "changes": [ - { - "type": "feature", - "text": "Allow indexers to be used only for API update queries" - }, - { - "type": "feature", - "text": "Allow regular expressions to be used in the search results title filter" - } - ], - "final": true - }, - { - "version": "v2.6.16", - "date": "2019-09-05", - "changes": [ - { - "type": "fix", - "text": "Fix problems with special characters when using autocomplete" - } - ], - "final": true - }, - { - "version": "v2.6.15", - "date": "2019-09-04", - "changes": [ - { - "type": "fix", - "text": "Fix form auth and remember-me cookies" - } - ], - "final": true - }, - { - "version": "v2.6.14", - "date": "2019-08-12", - "changes": [ - { - "type": "fix", - "text": "Minor changes" - } - ], - "final": true - }, - { - "version": "v2.6.13", - "date": "2019-08-12", - "changes": [ - { - "type": "fix", - "text": "Hopefully fix error with CookieTheftException introduced with v2.6.12" - } - ], - "final": true - }, - { - "version": "v2.6.12", - "date": "2019-08-04", - "changes": [ - { - "type": "features", - "text": "Allow limiting the indexers to be used via API. Use \"&indexers=,\"." - }, - { - "type": "fix", - "text": "Reduce how long sessions are kept open, possible reducing memory usage in some cases" - } - ], - "final": true - }, - { - "version": "v2.6.11", - "date": "2019-06-09", - "changes": [ - { - "type": "fix", - "text": "Improve handling and performance of wildcards for removal of trailing words" - }, - { - "type": "fix", - "text": "Added option to define how long Hydra will try to compress the database file when shutting down. With big databases shutting down may take up to 15 seconds by default. I'm still working on analyzing why some databases grow very large. Until I've found a way to prevent the root cause this option may help a bit but it will still require Hydra to shut down (or restart)" - } - ], - "final": true - }, - { - "version": "v2.6.10", - "date": "2019-05-21", - "changes": [ - { - "type": "fix", - "text": "Changing result selection using \"Invert selection\" and \"Select/deselect all\" wasn't properly registered, making mass download buttons unusable" - }, - { - "type": "fix", - "text": "Error on startup on headless windows server" - } - ], - "final": true - }, - { - "version": "v2.6.9", - "date": "2019-05-17", - "changes": [ - { - "type": "fix", - "text": "Remove trailing didn't work with words containing \"s\"... How do you explain stuff to that to non-programmers..." - }, - { - "type": "fix", - "text": "USe localhost:8080 as preset sabNZBd URL" - } - ], - "final": true - }, - { - "version": "v2.6.8", - "date": null, - "changes": [ - { - "type": "fix", - "text": "IMDB link in search history was invalid" - } - ], - "final": true - }, - { - "version": "v2.6.7", - "date": "2019-05-15", - "changes": [ - { - "type": "fix", - "text": "Hopefully fix corruption of nzbhydra.yml when machine crashes (or user switches off power deliberately -.-)" - } - ], - "final": true - }, - { - "version": "v2.6.6", - "date": "2019-05-14", - "changes": [ - { - "type": "fix", - "text": "Fix NoClassDefFoundError (only occurred with HTTP logging marker enabled)" - } - ], - "final": true - }, - { - "version": "v2.6.5", - "date": "2019-05-14", - "changes": [ - { - "type": "fix", - "text": "Fix shift-click for selecting multiple results." - } - ], - "final": true - }, - { - "version": "v2.6.4", - "date": "2019-05-14", - "changes": [ - { - "type": "fix", - "text": "Searches will always use the IDs provided in API calls and not replace them by different IDs provided by IMDB or TVMaze. In very few instances TVMaze had wrong IDs mapped which resulted in wrong searches." - }, - { - "type": "fix", - "text": "Entering domains to bypass when using proxy didn't work." - }, - { - "type": "fix", - "text": "Selecting multiple results in the same title group was not accepted." - } - ], - "final": true - }, - { - "version": "v2.6.3", - "date": "2019-05-13", - "changes": [ - { - "type": "feature", - "text": "Extended logging for download status updates." - }, - { - "type": "feature", - "text": "Allow wildcards in \"Remove trailing...\"" - }, - { - "type": "fix", - "text": "Disable HSTS security header" - } - ], - "final": true - }, - { - "version": "v2.6.2", - "date": "2019-05-05", - "changes": [ - { - "type": "fix", - "text": "The warning that the wrapper is outdated will be also displayed in the updates section. You can also choose to be reminded again." - }, - { - "type": "fix", - "text": "Update link to Font Awesome in downloader config to the version actually supported." - } - ], - "final": true - }, - { - "version": "v2.6.1", - "date": "2019-05-02", - "changes": [ - { - "type": "feature", - "text": "Allow indexers to be enabled for all searches but API update searches, i.e. those periodically done by Sonarr and others to get the latest releases." - }, - { - "type": "fix", - "text": "Correctly report torznab caps (taking into regard only torznab indexers). Also disregard any disabled indexers or those not enabled for API searches and include IDs convertible to any of the supported IDs." - } - ], - "final": true - }, - { - "version": "v2.6.0", - "date": "2019-05-01", - "changes": [ - { - "type": "feature", - "text": "Warn when using config that violates indexer rules and that will result in your API account being disabled." - }, - { - "type": "feature", - "text": "Support IMDB IDs for TV search. This seems to be supported by few indexers but by many trackers." - }, - { - "type": "feature", - "text": "Add option to ignore load limiting for internal searches." - }, - { - "type": "feature", - "text": "Sort indexers in config by state first, then score, then name." - }, - { - "type": "fix", - "text": "NZBHydra used to always report all ID types (e.g. IMDB IDs) in the caps to be supported. Now IDs will only be reported as supported if either at least one configured indexer supports it or query generation is enabled." - }, - { - "type": "fix", - "text": "Prevent log file download from accessing files outside data folder." - }, - { - "type": "fix", - "text": "Parse indexer results with provided passwords correctly (although they don't follow the spec...)." - } - ], - "final": true - }, - { - "version": "v2.5.9", - "date": "2019-04-27", - "changes": [ - { - "type": "fix", - "text": "I used a discord invitation link that expires after one day. Use this one: [https://discord.gg/uh9W3rd](https://discord.gg/uh9W3rd)." - } - ], - "final": true - }, - { - "version": "v2.5.8", - "date": "2019-04-27", - "changes": [ - { - "type": "feature", - "text": "Recognize when an outdated wrapper is being used and ask the user to update it manually." - }, - { - "type": "fix", - "text": "Don't complain about mixed newznab and torznab results when adding Anime Tosho." - }, - { - "type": "fix", - "text": "Removed nzbs.org from the presets :-( RIP" - } - ], - "final": true - }, - { - "version": "v2.5.7", - "date": "2019-04-27", - "changes": [ - { - "type": "feature", - "text": "Attempt to automatically detect certain problems and inform the user (admin) about it. For now this will only detect OutOfMemory errors which cannot be properly handled when they occur." - }, - { - "type": "fix", - "text": "Disable the grouping of TV results by episode when searching for a specific episode. Also show information about the grouping the first time it is used." - }, - { - "type": "note", - "text": "The python wrapper nzbhydra2wrapper.py which is the main entry point for the program is now included in the linux release. If you start Hydra using that python file it will be updated automatically although changes will only take effect after the next restart of the main process." - }, - { - "type": "note", - "text": "I was asked for a discord channel. This is it: [https://discord.gg/uh9W3rd](https://discord.gg/uh9W3rd). I can't promise I'll be the regularly but feel free to join. Some users there and on reddit are always willing to help (thanks, guys!)." - } - ], - "final": true - }, - { - "version": "v2.5.6", - "date": null, - "changes": [ - { - "type": "fix", - "text": "Provide a (better) error message when clicking the infos for a show with TVRage ID for which no infos could be found." - } - ], - "final": true - }, - { - "version": "v2.5.5", - "date": "2019-04-17", - "changes": [ - { - "type": "feature", - "text": "Option to log/display hosts instead of IP addresses. I haven't found a proper way of testing this so let me know if it works ;-)" - } - ], - "final": true - }, - { - "version": "v2.5.4", - "date": "2019-04-16", - "changes": [ - { - "type": "fix", - "text": "Allow empty movie searches for NZBPlanet which should result in covers being shown." - } - ], - "final": true - }, - { - "version": "v2.5.3", - "date": "2019-04-16", - "changes": [ - { - "type": "fix", - "text": "Update of downloader status failed with newsbin (which claims to be compatible with the sabnzbd API)." - } - ], - "final": true - }, - { - "version": "v2.5.2", - "date": "2019-04-15", - "changes": [ - { - "type": "fix", - "text": "Minor downloader status bar related fixes." - } - ], - "final": true - }, - { - "version": "v2.5.1", - "date": "2019-04-14", - "changes": [ - { - "type": "feature", - "text": "Display status of configured downloader on the bottom of the page. This can be disabled in the downloading config. If multiple downloaders are configured the first one is used." - }, - { - "type": "fix", - "text": "Toggling the grouping of TV episodes or the display of TV/movie covers will take effect without having to reload the search." - } - ], - "final": true - }, - { - "version": "v2.4.4", - "date": "2019-04-12", - "changes": [ - { - "type": "feature", - "text": "Reduced font size across the board to fit more results / buttons / whatever on the page. Let me know if it's too tiny :-)" - }, - { - "type": "fix", - "text": "Add 6box and NZBPlanet to list of indexers which do not support TV or movie searches without identifiers." - } - ], - "final": true - }, - { - "version": "v2.4.3", - "date": "2019-04-10", - "changes": [ - { - "type": "fix", - "text": "Make sure that 100 rows are shown when grouping results (either by season/episode or by title)." - }, - { - "type": "fix", - "text": "Passwords for users were not properly migrated from v1." - } - ], - "final": true - }, - { - "version": "v2.4.2", - "date": "2019-04-10", - "changes": [ - { - "type": "fix", - "text": "As is tradition every feature release (2.4.0) is followed by a couple of bug fix releases... The tv episode sorting should not throw any errors now and actually work properly :-)" - } - ], - "final": true - }, - { - "version": "v2.4.1", - "date": "2019-04-10", - "changes": [ - { - "type": "fix", - "text": "Daily episodes (like 04/08) were not parsed correctly, resulting in an error (see 2.4.0 feature)." - } - ], - "final": true - }, - { - "version": "v2.4.0", - "date": "2019-04-09", - "changes": [ - { - "type": "feature", - "text": "When searching in the TV categories in the GUI by default the results will be grouped by season & episode instead of by title. This should make it easier to select one result for every episode which is usually what you want. This behavior can be switched off in the display options (do a new search after the switch)." - }, - { - "type": "fix", - "text": "Minor improvements to colors in bright theme." - } - ], - "final": true - }, - { - "version": "v2.3.22", - "date": "2019-04-04", - "changes": [ - { - "type": "feature", - "text": "Logging marker to log HTTPS related stuff on debug level." - }, - { - "type": "fix", - "text": "Removed an SSL related parameter from the wrapper. I already did this months ago but forgot to update the binary for linux. So if you have problems with SSL and are running Hydra on linux (not in docker) you might want to update the binary. This needs to be done manually." - } - ], - "final": true - }, - { - "version": "v2.3.21", - "date": "2019-03-31", - "changes": [ - { - "type": "feature", - "text": "Option to send the mapped category name to downloaders." - }, - { - "type": "fix", - "text": "/api/stats/indexers endpoint was accessible without authorization." - }, - { - "type": "fix", - "text": "Show unit for average response times in stats (ms)." - } - ], - "final": true - }, - { - "version": "v2.3.20", - "date": null, - "changes": [ - { - "type": "fix", - "text": "Revert revert because, as it turns out, it wasn't the libary at fault but the new version just failed to read a file already corrupted." - } - ], - "final": true - }, - { - "version": "v2.3.19", - "date": "2019-03-20", - "changes": [ - { - "type": "fix", - "text": "Revert update of database library as it caused errors on startup in some issues." - } - ], - "final": true - }, - { - "version": "v2.3.18", - "date": "2019-03-18", - "changes": [ - { - "type": "fix", - "text": "Not all API keys were anonymized when creating the debug infos." - } - ], - "final": true - }, - { - "version": "v2.3.17", - "date": "2019-03-17", - "changes": [ - { - "type": "feature", - "text": "Binsearch is knowing for returning a 503 error every now and then. In that case Hydra will retry the search up to two times." - }, - { - "type": "fix", - "text": "An indexer not selected due to load limiting was displayed as being disabled in the GUI." - }, - { - "type": "fix", - "text": "Reduce frequency of config file being written." - } - ], - "final": true - }, - { - "version": "v2.3.16", - "date": "2019-03-14", - "changes": [ - { - "type": "fix", - "text": "Add database index to improve loading of search history on initial page load." - }, - { - "type": "fix", - "text": "Try to prevent config file from being corrupted." - } - ], - "final": true - }, - { - "version": "v2.3.15", - "date": "2019-02-16", - "changes": [ - { - "type": "note", - "text": "I need to make something clear: If Hydra shows you 100 results on the GUI and says that x results are not yet loaded then that means that some results you're looking for may be missing. You will always only get the newest 100 results from any indexer at first. Even if you sort by name then other results which should be somewhere in that list may be 'hidden' because they were not yet retrieved from the indexer." - }, - { - "type": null, - "text": "Delay writing of config file so that not too many concurrent writes occur. This should hopefully reduce the risk of file corruption." - } - ], - "final": true - }, - { - "version": "v2.3.14", - "date": "2019-02-15", - "changes": [ - { - "type": "fix", - "text": "Change how SNI verification is disabled so that nzbgeek.info should work with Java 10+." - }, - { - "type": "fix", - "text": "Fix NZBIndex parsing. Thanks to BenoitCharret." - } - ], - "final": true - }, - { - "version": "v2.3.13", - "date": "2019-02-12", - "changes": [ - { - "type": "feature", - "text": "Improve HTTP debug logging" - }, - { - "type": "fix", - "text": "Revert some more SSL related changes. If you still have problems connecting to indexer please manually update the binaries. Unfortunately the update process can't do that." - } - ], - "final": true - }, - { - "version": "v2.3.12", - "date": "2019-02-10", - "changes": [ - { - "type": "fix", - "text": "I don't know if I should laugh or cry, but the last version actually made matters worse as 2.3.11 is unable to connect to GitHub (among others) which disables the built in update function. So if you read this and don't run docker, you'll have to update manually." - } - ], - "final": true - }, - { - "version": "v2.3.11", - "date": "2019-02-10", - "changes": [ - { - "type": "fix", - "text": "Cautiously optimistic that *some* SSL issues have been solved... ;-)" - }, - { - "type": "fix", - "text": "When implementing the display of covers I managed to mistakenly think that posters and covers are the same. Actually the poster in this context is the uploader but my code used the poster (username) as cover URL. If you've disabled the display of 'posters' in the search results you'll have to disable it again." - } - ], - "final": true - }, - { - "version": "v2.3.10", - "date": "2019-02-09", - "changes": [ - { - "type": "fix", - "text": "Fix another issue with SSL. I should probably pause development until I'm fit of mind enough to do this properly..." - } - ], - "final": true - }, - { - "version": "v2.3.9", - "date": "2019-02-09", - "changes": [ - { - "type": "fix", - "text": "Revert SSL changes made in 2.3.7 as Hydra didn't start for some users. I give up." - } - ], - "final": true - }, - { - "version": "v2.3.8", - "date": "2019-02-09", - "changes": [ - { - "type": "fix", - "text": "Updated executable to provide a java flag which should fix SSL related problems introduced with 2.3.7. If you're not running Hydra inside a container you may need to manually update the binary (nzbhydra*.exe or just nzbhydra on linux)" - } - ], - "final": true - }, - { - "version": "v2.3.7", - "date": "2019-02-09", - "changes": [ - { - "type": "fix", - "text": "Changed the way SSL certificates are checked. Connection to indexers like NZBGeek or althub should now work as expected. Removed the option 'Disable SNI'." - }, - { - "type": "fix", - "text": "Count API hits used for connection and caps checks when calculating hit limits." - }, - { - "type": "fix", - "text": "When results are sorted by title the title groups are now sorted by indexer score instead of age, meaning results from the indexer with the highest score are shown when the title group is collapsed." - } - ], - "final": true - }, - { - "version": "v2.3.6", - "date": "2019-02-06", - "changes": [ - { - "type": "fix", - "text": "The audio category was preconfigured to require both mp3 and flac in the results which doesn't make any sense. You might want to remove them in your category config." - }, - { - "type": "fix", - "text": "Old downloads were not removed from history even if the option to only keep them for a certain time was set." - }, - { - "type": "fix", - "text": "Check cover/poster URLs provided by indexers to catch some invalid URLs." - } - ], - "final": true - }, - { - "version": "v2.3.5", - "date": "2019-02-05", - "changes": [ - { - "type": "feature", - "text": "Show posters for movie results. Can be toggled in the display options." - } - ], - "final": true - }, - { - "version": "v2.3.4", - "date": "2019-01-31", - "changes": [ - { - "type": "fix", - "text": "Move cancel button in dialog shown while searching because you're all too slow to click it." - }, - { - "type": "fix", - "text": "Prevent database trace file becoming too large" - }, - { - "type": "fix", - "text": "Keep less gclog files in the log folder" - } - ], - "final": true - }, - { - "version": "v2.3.3", - "date": "2019-01-28", - "changes": [ - { - "type": "fix", - "text": "Connection to hosts like 'sabnzd' would fail" - } - ], - "final": true - }, - { - "version": "v2.3.2", - "date": "2019-01-27", - "changes": [ - { - "type": "fix", - "text": "2.3.1 didn't start for users updating from 2.2.5 to 2.3.1. Fuck this shit" - } - ], - "final": true - }, - { - "version": "v2.3.1", - "date": "2019-01-27", - "changes": [ - { - "type": "fix", - "text": "2.2.5 unfortunately may have caused database corruption in some cases. Hopefully no more... The fix may need some time the first time this new version is started." - } - ], - "final": true - }, - { - "version": "v2.3.0", - "date": "2019-01-27", - "changes": [ - { - "type": "feature", - "text": "Java 11 is now supported. This required an update of the internal framework which might have some unforseen side effects (bugs), especially regarding authentification and handling of reverse proxies. Let me know if something doesn't work as expected." - }, - { - "type": "feature", - "text": "Rename searching option 'Ignore temporarily disabled' to 'Ignore temporary errors'. If enabled indexers will not be temporarily disabled at all if a recoverable error occurs." - }, - { - "type": "fix", - "text": "Opening magnet links under Windows 7 doesn't require administrator rights anymore." - } - ], - "final": true - }, - { - "version": "v2.2.5", - "date": "2019-01-26", - "changes": [ - { - "type": "fix", - "text": "In some cases (with really big databases) the check of the API hit limit could take very long. This was hopefully improved. Migration to this version might take a bit for such instances." - } - ], - "final": true - }, - { - "version": "v2.2.4", - "date": "2019-01-26", - "changes": [ - { - "type": "feature", - "text": "Add indexer specific limit to caps check. Background: RARBG only allows one request every two seconds so the caps check, which until now used two concurrent threads and a delay of 1 second, would result in errors. The limits are hard coded. Hydra will not attempt to do any rate limiting for regular search requests." - } - ], - "final": true - }, - { - "version": "v2.2.3", - "date": "2019-01-26", - "changes": [ - { - "type": "feature", - "text": "Include database metadata in debug infos" - } - ], - "final": true - }, - { - "version": "v2.2.2", - "date": "2019-01-26", - "changes": [ - { - "type": "feature", - "text": "Minor improvements to performance logging" - } - ], - "final": true - }, - { - "version": "v2.2.1", - "date": "2019-01-21", - "changes": [ - { - "type": "feature", - "text": "Improve logging of unparseable indexer responses" - } - ], - "final": true - }, - { - "version": "v2.2.0", - "date": "2019-01-02", - "changes": [ - { - "type": "note", - "text": "This release brings some major changes regarding categories and the handling of newznab categories. Please let me know if it breaks anything or has unexpected side effects (or if you love what I've done ;-))" - }, - { - "type": "feature", - "text": "Allow combinations of newznab categories which must all be found in a search result for that category to be applied. For example 4090&11000 will only match items with both 4090 and 11000. This should allow for even finer category tuning with trackers accessed via Jackett." - }, - { - "type": "feature", - "text": "Replace newznab categories incoming API searches with newznab categories of mapped category. For example when you have 2040,2050 configured for Movies HD and a search comes in using 2040 then indexers will be queried using 2040,2050. Until now only the supplied category was used (2040 in the example). This should result in more results to be found and so far I can't tell if it will return just better results or more crap. You can disable this with the 'Transform newznab categories' setting in the searching config." - }, - { - "type": "feature", - "text": "Related to above: The categories on the caps page are created from the configured categories. To keep this clean only one newznab category will be used for every category (e.g. Movies HD using 2040,2050 will only be included once with 2040 as ID." - }, - { - "type": "fix", - "text": "Use dereferer for NZB details site" - } - ], - "final": true - }, - { - "version": "v2.1.7", - "date": "2018-12-30", - "changes": [ - { - "type": "fix", - "text": "Fix/improve category mapping introduced in 2.1.6. Use custom newznab categories if none from the predefined range are provided." - } - ], - "final": true - }, - { - "version": "v2.1.6", - "date": "2018-12-30", - "changes": [ - { - "type": "fix", - "text": "When uploading a backup file the UI didn't update to inform the user about the progress after the file was uploaded." - }, - { - "type": "fix", - "text": "Improve category mapping for (torznab) indexers. Some use custom newznab category numbers (>9999) which could not be properly mapped to preconfigured categories." - } - ], - "final": true - }, - { - "version": "v2.1.5", - "date": "2018-12-29", - "changes": [ - { - "type": "fix", - "text": "Improve handling of movie and tv searches with some indexers (see v2.0.23). I just wish all indexers could work the same... :-/" - }, - { - "type": "fix", - "text": "Prevent indexers without caps from being caps checked (NZBIndex, Binsearch)" - }, - { - "type": "fix", - "text": "Improve wording indexer state when disabled by the system due to an error from which it cannot recover automatically" - } - ], - "final": true - }, - { - "version": "v2.1.4", - "date": "2018-12-28", - "changes": [ - { - "type": "feature", - "text": "Allow retrieval of history and stats via API. See https://github.com/theotherp/nzbhydra2/wiki/External-API,-RSS-and-cached-queries" - }, - { - "type": "fix", - "text": "Repeat of searches from history sometimes used wrong parameters" - }, - { - "type": "fix", - "text": "Added nzbs.org to list of indexers unable to process type searches without IDs" - } - ], - "final": true - }, - { - "version": "v2.1.3", - "date": "2018-12-27", - "changes": [ - { - "type": "fix", - "text": "Removed dead indexers from presets" - }, - { - "type": "fix", - "text": "Prevent exception related to duplicate TV infos in database" - } - ], - "final": true - }, - { - "version": "v2.1.2", - "date": "2018-12-18", - "changes": [ - { - "type": "fix", - "text": "Indexer added as newznab indexer even when selected as torznab in the config GUI" - } - ], - "final": true - }, - { - "version": "v2.1.1", - "date": "2018-12-18", - "changes": [ - { - "type": "fix", - "text": "Validate config to prevent indexers with duplicate names" - }, - { - "type": "fix", - "text": "Validate config to prevent torznab indexers being added as newznab indexer and vice versa" - } - ], - "final": true - }, - { - "version": "v2.1.0", - "date": "2018-12-15", - "changes": [ - { - "type": "fix", - "text": "Search query was not built properly when conversion of search IDs did not provide any IDs usable by an indexer" - }, - { - "type": "feature", - "text": "Support API caps in JSON" - } - ], - "final": true - }, - { - "version": "v2.0.24", - "date": "2018-12-14", - "changes": [ - { - "type": "note", - "text": "Added NZBGeek to the list mentioned in v2.0.23. Thanks to the user letting me know about it." - } - ], - "final": true - }, - { - "version": "v2.0.23", - "date": "2018-12-11", - "changes": [ - { - "type": "note", - "text": "Previously when an API call with search type 'movie' or 'tvsearch' was made without any identifiers or category I would call indexers with search type 'search' instead because some indexers don't like that. This causes some other problems so I've reverted that behavior except for a certain list of indexers. I have hardcoded list of indexers for which the switch will be done. I'm not sure which indexers actually behave that way. So if you find an indexer where browsing the movie or TV releases (e.g. using NZB360) will return a lot of crap please let me know so I can add the indexer to the list." - }, - { - "type": "note", - "text": "I've changed the java runtime that is used in the docker container maintained by me (although I actually don't want to really support that...). In my tests it nearly halved memory usage in some scenarios (199MB compared to 380MB). If this proves to be stable I'll recommend the other maintainers to use this as well." - } - ], - "final": true - }, - { - "version": "v2.0.22", - "date": "2018-12-09", - "changes": [ - { - "type": "fix", - "text": "Upload of large ZIP files for restoration was disabled" - } - ], - "final": true - }, - { - "version": "v2.0.21", - "date": "2018-12-09", - "changes": [ - { - "type": "feature", - "text": "Some users have reported corrupted config files. I can't explain how that could ever happen but I've added code that tries to recognize this on startuppu and attempts to repair it automatically" - }, - { - "type": "fix", - "text": "New instances were not properly initialized, in some instances resulting in a crash on startup. Sorry about that" - } - ], - "final": true - }, - { - "version": "v2.0.20", - "date": "2018-12-08", - "changes": [ - { - "type": "feature", - "text": "Make sure existing configuration or database is not loaded by an older version of a program than it was created with" - } - ], - "final": true - }, - { - "version": "v2.0.19", - "date": "2018-12-08", - "changes": [ - { - "type": "fix", - "text": "Restoration from uploaded backup file wouldn't work" - } - ], - "final": true - }, - { - "version": "v2.0.18", - "date": "2018-12-05", - "changes": [ - { - "type": "fix", - "text": "Details link was hidden even if not restricted by auth config" - }, - { - "type": "fix", - "text": "Redirects to torrent magnet links are now recognized and properly handled" - }, - { - "type": "fix", - "text": "Downloads of NZBs with spaces in the filename are now properly handled" - }, - { - "type": "fix", - "text": "Suffix NZBs sent to sabnzbd with .nzb to increase compatibility with newsbin" - } - ], - "final": true - }, - { - "version": "v2.0.17", - "date": "2018-11-22", - "changes": [ - { - "type": "feature", - "text": "Automatic update. This feature has been requested for ages. Ironically, now that I rarely release new versions I've finally implemented it. It's opt-in for now even though the update process has been really stable for a while. Now that the startup is faster Hydra shouldn't be unavailable during the update process for more than 20 seconds or so. Any tools calling during that time should recover fine." - }, - { - "type": "fix", - "text": "Make sure to load resources from TVMaze using HTTPS" - }, - { - "type": "fix", - "text": "Handle (invalid) spaces in URLs" - } - ], - "final": true - }, - { - "version": "v2.0.16", - "date": "2018-11-21", - "changes": [ - { - "type": "fix", - "text": "Size tag was not forwarded from torznab results" - } - ], - "final": true - }, - { - "version": "v2.0.15", - "date": "2018-11-02", - "changes": [ - { - "type": "fix", - "text": "ID lookup for TV shows didn't always work" - } - ], - "final": true - }, - { - "version": "v2.0.14", - "date": "2018-11-02", - "changes": [ - { - "type": "note", - "text": "The URL base has to start with a / from now on. Configs without URL base will be migrated" - }, - { - "type": "fix", - "text": "ID based TV search from GUI would sometimes ignore ID" - } - ], - "final": true - }, - { - "version": "v2.0.13", - "date": "2018-10-26", - "changes": [ - { - "type": "feature", - "text": "Warn when changing the host to an invalid IP" - }, - { - "type": "fix", - "text": "api.althub.co.za should hopefully actually work now" - } - ], - "final": true - }, - { - "version": "v2.0.12", - "date": "2018-10-24", - "changes": [ - { - "type": "fix", - "text": "SSL error when accessing althub from docker. Should be fixed with the setting to use the packaged cacerts file enabled" - }, - { - "type": "fix", - "text": "Detection and handling of required restart after changing config was broken" - } - ], - "final": true - }, - { - "version": "v2.0.11", - "date": "2018-10-23", - "changes": [ - { - "type": "feature", - "text": "Allow to disable SSL verification only for certain hosts" - }, - { - "type": "feature", - "text": "Warn when host is changed from 0.0.0.0 and run in docker. This seems to cause some problems" - } - ], - "final": true - }, - { - "version": "v2.0.10", - "date": "2018-10-20", - "changes": [ - { - "type": "fix", - "text": "Sometimes search IDs would be used even if the indexer wasn't configured to use them, resulting in failing searches" - } - ], - "final": true - }, - { - "version": "v2.0.9", - "date": "2018-10-06", - "changes": [ - { - "type": "fix", - "text": "Caps check with Jackett indexers wouldn't complete properly due to a change in their code" - } - ], - "final": true - }, - { - "version": "v2.0.8", - "date": "2018-10-01", - "changes": [ - { - "type": "fix", - "text": "Adapt database to store long torrent magnet links" - } - ], - "final": true - }, - { - "version": "v2.0.7", - "date": null, - "changes": [ - { - "type": "fix", - "text": "Sabnzbd API key was not migrated" - } - ], - "final": true - }, - { - "version": "v2.0.6", - "date": "2018-09-26", - "changes": [ - { - "type": "fix", - "text": "Torznab queries were limited to 100 results. I've removed the limit altogether. As torznab doesn't require or support paging there's no reason for a request limit" - } - ], - "final": true - }, - { - "version": "v2.0.5", - "date": "2018-09-14", - "changes": [ - { - "type": "fix", - "text": "Adding to downloader via result button would always show failed (introduced with 2.0.3)" - } - ], - "final": true - }, - { - "version": "v2.0.4", - "date": "2018-09-13", - "changes": [ - { - "type": "fix", - "text": "Improved feedback when adding NZBs to downloader failed" - } - ], - "final": true - }, - { - "version": "v2.0.3", - "date": "2018-09-05", - "changes": [ - { - "type": "fix", - "text": "In some cases an incorrect NZB URL was used for downloads" - }, - { - "type": "fix", - "text": "Saving the config would sometimes show confusing or wrong warnings" - }, - { - "type": "fix", - "text": "Restoring from web UI had no effect" - }, - { - "type": "fix", - "text": "Category mapping would sometimes not work for incoming searches" - } - ], - "final": true - }, - { - "version": "v2.0.2", - "date": null, - "changes": [ - { - "type": "fix", - "text": "Minor stability improvements" - } - ], - "final": true - }, - { - "version": "v2.0.1", - "date": "2018-08-19", - "changes": [ - { - "type": "fix", - "text": "New installations would generate a faulty default configuration, resulting in failed searches" - } - ], - "final": true - }, - { - "version": "v2.0.0", - "date": "2018-08-18", - "changes": [ - { - "type": "feature", - "text": "NZBHydra 2 can now run with Java 8, 9 or 10. It shouldn't matter much which version you use as long as it's up to date. If you want to use 9 or 10 you'll need to manually update the wrapper (i.e. the executable(s) in the main folder)" - }, - { - "type": "feature", - "text": "Reduced startup time. My instance starts in 8 seconds instead of 22 but YRMV" - }, - { - "type": "feature", - "text": "I updated the underlying libraries and main framework. This doesn't change much for you except that NZBHydra 2 is a bit more future proof and may have some new bugs :-)" - }, - { - "type": "feature", - "text": "Added an option to keep the history (searches, downloads, stats) only for a certain time (see Searching options). This may reduce the database size and stats calculation time and may improve performance a bit." - }, - { - "type": "fix", - "text": "Hydra will correctly recognize if run in the windows program files folder" - }, - { - "type": "fix", - "text": "When shutting down or restarting Hydra will try to defrag the database file. In some cases this should drastically reduce the database size. It may grow again but for now I don't have a better fix than restarting the instance..." - }, - { - "type": "fix", - "text": "Remove multiple trailing words from titles if found" - } - ], - "final": true - }, - { - "version": "v1.5.2", - "date": "2018-07-31", - "changes": [ - { - "type": "fix", - "text": "Adding new categories resulted in an exception" - }, - { - "type": "note", - "text": "Increased the default XMX value to 256" - } - ], - "final": true - }, - { - "version": "v1.5.1", - "date": "2018-06-11", - "changes": [ - { - "type": "fix", - "text": "Adding of downloaders to config was broken with last version" - } - ], - "final": true - }, - { - "version": "v1.5.0", - "date": "2018-06-10", - "changes": [ - { - "type": "feature", - "text": "Redesigned the button to add new indexers. Inspired by Sonarr" - }, - { - "type": "feature", - "text": "When a torrent black hole is configured magnet links will be saved as files there. Let me know if you need a switch to disable that. Thanks to wh0cares" - }, - { - "type": "fix", - "text": "Config validation was not executed properly, sometimes allowing invalid values or even preventing the config from being changed" - }, - { - "type": "note", - "text": "Added a small note to the readme that \"linux\" releases mean any platform but windows. Renaming the releases would break updates for running instances" - } - ], - "final": true - }, - { - "version": "v1.4.18", - "date": "2018-05-22", - "changes": [ - { - "type": "fix", - "text": "Previous version was missing readme.md which resulted in broken updates" - } - ], - "final": true - }, - { - "version": "v1.4.16", - "date": "2018-05-22", - "changes": [ - { - "type": "fix", - "text": "Small error in API? help from last version" - } - ], - "final": true - }, - { - "version": "v1.4.15", - "date": "2018-05-22", - "changes": [ - { - "type": "feature", - "text": "Support animetosho (both newznab and torznab)" - }, - { - "type": "feature", - "text": "Add small 'API?' button in config to display newznab and torznab endpoints and the api key" - } - ], - "final": true - }, - { - "version": "v1.4.14", - "date": "2018-05-21", - "changes": [ - { - "type": "fix", - "text": "Error with TMDB IDs introduced with last version" - }, - { - "type": "note", - "text": "In some cases long running instances of Hydra use a lot of CPU when they should be idle. I've made some changes which should reduce the problem to a degree. Please let me know at https://github.com/theotherp/nzbhydra2/issues/96 if you have similar problems or, even better, if they've gone away with this version" - } - ], - "final": true - }, - { - "version": "v1.4.13", - "date": "2018-05-12", - "changes": [ - { - "type": "fix", - "text": "Conversion of IMDB to TMDB ID failed with missing tt prefix" - } - ], - "final": true - }, - { - "version": "v1.4.12", - "date": "2018-05-05", - "changes": [ - { - "type": "fix", - "text": "Prevent database error when ignoring too many updates..." - } - ], - "final": true - }, - { - "version": "v1.4.11", - "date": "2018-05-05", - "changes": [ - { - "type": "fix", - "text": "Prevent rare database error when converting between movie IDs" - }, - { - "type": "fix", - "text": "Prevent API keys from leaking in debug infos ZIP when included in last error property" - } - ], - "final": true - }, - { - "version": "v1.4.10", - "date": "2018-05-05", - "changes": [ - { - "type": "feature", - "text": "Option to disable download status updates. *Might* help in some rare cases where CPU usage is high when NZBHydra2 is supposed to idle" - } - ], - "final": true - }, - { - "version": "v1.4.9", - "date": null, - "changes": [ - { - "type": "fix", - "text": "Log levels for console and file were not honored properly." - } - ], - "final": true - }, - { - "version": "v1.4.8", - "date": "2018-03-17", - "changes": [ - { - "type": "note", - "text": "Updated the wrapper to create a memory dump file if the main process crashes when it's out of memory. As before you need to update the wrapper manually (except when you use docker and don't use the internal update mechanism). This is not strictly necessary but will improve chances of me debugging memory problems." - } - ], - "final": true - }, - { - "version": "v1.4.7", - "date": "2018-03-14", - "changes": [ - { - "type": "fix", - "text": "Bug in internal logic would throw exception and cause indexers to be disabled for no reason" - }, - { - "type": "fix", - "text": "API hit limit reached on omg would disable indexer permanently" - }, - { - "type": "fix", - "text": "Indexer config state would change when switching config tabs" - }, - { - "type": "fix", - "text": "Indexer priority field was not displayed in config" - } - ], - "final": true - }, - { - "version": "v1.4.6", - "date": "2018-03-08", - "changes": [ - { - "type": "feature", - "text": "Prepend words in the results filter box with ! to exclude them" - }, - { - "type": "fix", - "text": "Shift-click for selecting multiple results in a row didn't work on firefox" - } - ], - "final": true - }, - { - "version": "v1.4.5", - "date": "2018-03-05", - "changes": [ - { - "type": "fix", - "text": "Improve caps check for some results using a TV show's initialism instead of the full name in the title" - } - ], - "final": true - }, - { - "version": "v1.4.4", - "date": "2018-02-27", - "changes": [ - { - "type": "fix", - "text": "Handle LL searches better that request a general category and a subcategory (e.g. 7000,7020)" - } - ], - "final": true - }, - { - "version": "v1.4.3", - "date": "2018-02-23", - "changes": [ - { - "type": "fix", - "text": "Migration failed because of missing datatabase table" - } - ], - "final": true - }, - { - "version": "v1.4.2", - "date": "2018-02-17", - "changes": [ - { - "type": "fix", - "text": "Allow configuration of basic auth credentials for jackett" - } - ], - "final": true - }, - { - "version": "v1.4.1", - "date": "2018-02-13", - "changes": [ - { - "type": "fix", - "text": "Indexers with incomplete config were shown in selection list but not actually usable" - }, - { - "type": "fix", - "text": "Some issues with indexers not beeing reenabled and some confusing messages being shown. The whole thing with indexers being disabled after errors is still a bit wonky" - }, - { - "type": "fix", - "text": "Some potential memory leaks" - } - ], - "final": true - }, - { - "version": "v1.4.0", - "date": "2018-02-10", - "changes": [ - { - "type": "feature", - "text": "Rewrote the display of indexer statuses. An indexer's status is now displayed in the indexer config section (where you would probably expect it). The 'Enabled' switch was extended and now will show one of the states 'Enabled', 'Temporarily disabled', 'Permanently disabled' or 'User disabled' and an explanation. THe Indexer statuses view does still show alle the indexers' statuses but is less cluttered" - }, - { - "type": "feature", - "text": "Show search results filter box in table header because some users didn't find the filter icons" - }, - { - "type": "fix", - "text": "Prevent weird 'Unexpected error in hydra code. Sorry...'" - } - ], - "final": true - }, - { - "version": "v1.3.3", - "date": "2018-02-08", - "changes": [ - { - "type": "feature", - "text": "Improve conversion of newznab categories to internal categories" - }, - { - "type": "fix", - "text": "Exception in migration when providing no database file even when migration of database was requested" - }, - { - "type": "feature", - "text": "Allow loading of UI files from local folder to allow proper development of UI" - } - ], - "final": true - }, - { - "version": "v1.3.2", - "date": "2018-02-05", - "changes": [ - { - "type": "fix", - "text": "Settings file was sometimes corrupted (wrong charset) and could not be loaded anymore" - }, - { - "type": "fix", - "text": "Delete error column in indexer status page when indexer is reenabled" - }, - { - "type": "fix", - "text": "Button to browse file system for selecting torrent folder would fail on some systems (e.g. docker)" - } - ], - "final": true - }, - { - "version": "v1.3.1", - "date": "2018-02-04", - "changes": [ - { - "type": "feature", - "text": "Display serious errors on windows in message box" - }, - { - "type": "fix", - "text": "Hopefully reduced chance of empty config files being written" - }, - { - "type": "fix", - "text": "Handle duplicate results from indexers better (should rarely happen)" - }, - { - "type": "note", - "text": "NZBHydra will recognize if it's running on windows and in folder like c:\\program files or c:\\program files (x86) and refuse to start. Those folders have special read/write rights which might cause some problems. I recommend putting any programs that are not installed by a setup in a \"regular\" folder" - } - ], - "final": true - }, - { - "version": "v1.3.0", - "date": "2018-02-03", - "changes": [ - { - "type": "feature", - "text": "Experimental feature to use a packaged CA certs file. This probably doesn't concern you but it may solve some SSL related issues with some newer or different JREs" - }, - { - "type": "fix", - "text": "Sort indexer download shares by share" - }, - { - "type": "fix", - "text": "Made the migration process a tiny bit more robust wrt wrong input" - }, - { - "type": "fix", - "text": "Display caps check button for indexers without API key (e.g. spotweb instances). Hide button and search type and ID fields for new indexer. The check is done automatically" - } - ], - "final": true - }, - { - "version": "v1.2.6", - "date": "2018-02-02", - "changes": [ - { - "type": "fix", - "text": "Sabnzbd history could not be properly parsed, preventing download status updates" - } - ], - "final": true - }, - { - "version": "v1.2.5", - "date": "2018-01-31", - "changes": [ - { - "type": "fix", - "text": "Completely fix spotweb support..." - } - ], - "final": true - }, - { - "version": "v1.2.4", - "date": "2018-01-31", - "changes": [ - { - "type": "fix", - "text": "Help headphones parse Hydra's results" - }, - { - "type": "fix", - "text": "Indexer connection check used empty API key parameter, preventing check to spotweb to work" - } - ], - "final": true - }, - { - "version": "v1.2.3", - "date": "2018-01-30", - "changes": [ - { - "type": "fix", - "text": "Prevent session timeout" - } - ], - "final": true - }, - { - "version": "v1.2.2", - "date": "2018-01-29", - "changes": [ - { - "type": "note", - "text": "I've added debug logging to the wrapper for better, well, debugging of problems related to updating. To enable debug logging create a file DEBUG in the data folder and restart the program. As before, any non-docker installations will need to update the wrapper files manually. I'm working on a better solution." - }, - { - "type": "fix", - "text": "Adding binsearch/NZBIndex/anizb would fail the connection check" - }, - { - "type": "fix", - "text": "Periodic check of downloader status was not executed as expected, resulting in incomplete status NZB reports in the history" - }, - { - "type": "fix", - "text": "Logger sometimes swallowed information when anonymizing data" - } - ], - "final": true - }, - { - "version": "v1.2.1", - "date": "2018-01-27", - "changes": [ - { - "type": "note", - "text": "I've changed how some data is kept in the database. Deleting an indexer will remove it completely from the database, also deleting all related stats, search results and downloads. This might take a while on the next startup or whenever you delete an indexer with many related entries" - }, - { - "type": "feature", - "text": "Option to delete backups after x weeks. 4 is the default" - }, - { - "type": "fix", - "text": "Improve layout on mobile devices. Thanks nemchik" - }, - { - "type": "fix", - "text": "Updated the wrapper to delete older JAR files which previously caused some trouble. Any existing installations will have to update this manually. Docker containers must be updated." - } - ], - "final": true - }, - { - "version": "v1.2.0", - "date": "2018-01-25", - "changes": [ - { - "type": "feature", - "text": "Send torrent magnet links to associated program" - }, - { - "type": "fix", - "text": "Results without recognizable category were rejected" - } - ], - "final": true - }, - { - "version": "v1.1.4", - "date": "2018-01-22", - "changes": [ - { - "type": "fix", - "text": "Hide torrent black hole buttons for magnet links" - }, - { - "type": "fix", - "text": "Torrents were sometimes not correctly downloaded and would have extension .nzb" - } - ], - "final": true - }, - { - "version": "v1.1.3", - "date": "2018-01-21", - "changes": [ - { - "type": "fix", - "text": "Fix NZB links not being constructed correctly. Sorry about that" - } - ], - "final": true - }, - { - "version": "v1.1.2", - "date": "2018-01-21", - "changes": [ - { - "type": "feature", - "text": "Improved handling of XML generation for newznab/torznab API calls. Should improve compatibility with calling tools" - }, - { - "type": "feature", - "text": "Hydra attempts to recognize if it's running inside docker. It will not allow you call the internal update mechanism from the main page. You may still call it from the Updates page but a warning will be shown. Let me know if this works" - }, - { - "type": "fix", - "text": "The URL code change introduced with 1.1.0 might've caused some problems and should be fixed now" - }, - { - "type": "fix", - "text": "Sending NZBs from the download history to downloaders didn't work. You'll have to manually choose a category because the original category isn't available in the download history anymore" - }, - { - "type": "fix", - "text": "NZB filenames were not sanitized before being written to ZIP, resulting in an error" - }, - { - "type": "fix", - "text": "Improved dialog during update installation (no more error messages when everything is fine, hopefully)" - }, - { - "type": "fix", - "text": "Download history was not filterable by indexer" - }, - { - "type": "fix", - "text": "SickBeard/-rage/Medusa did not find all relevant categories. I've changed the way Hydra reports itscategories to calling tools. It follows the predefined categories of the newznab standard." - } - ], - "final": true - }, - { - "version": "v1.1.1", - "date": "2018-01-17", - "changes": [ - { - "type": "fix", - "text": "Fix results not being recognized by SickRage" - }, - { - "type": "fix", - "text": "The URL code change introduced with 1.1.0 might've caused some problems and should be fixed now" - } - ], - "final": true - }, - { - "version": "v1.1.0", - "date": "2018-01-15", - "changes": [ - { - "type": "feature", - "text": "Completely rewrote handling of scheme, port, host and context path. Should solve some issues and prevent others from happening where reverse proxies are involved. Also extended the Wiki. There's no need to set an external URL anymore. Please report back if this causes any issues" - }, - { - "type": "note", - "text": "I'll remove the option to send links to downloaders in one of the coming versions. Only upload of NZBs to downloaders will be supported. v2 is capable of handling it without issues and it allows for better control and upload status recognition" - } - ], - "final": true - }, - { - "version": "v1.0.18", - "date": "2018-01-13", - "changes": [ - { - "type": "fix", - "text": "Remove test data left in by mistake" - } - ], - "final": true - }, - { - "version": "v1.0.17", - "date": "2018-01-13", - "changes": [ - { - "type": "feature", - "text": "Don't require restart for change of log level" - }, - { - "type": "feature", - "text": "Show status updates during update" - }, - { - "type": "fix", - "text": "In some cases restarting resulted in shutdown. If you are affected by this you will to manually update the wrapper from this release" - }, - { - "type": "fix", - "text": "In some cases duplicate detection would throw an exception" - }, - { - "type": "feature", - "text": "Support JSON output for API searches" - } - ], - "final": true - }, - { - "version": "v1.0.16", - "date": "2018-01-11", - "changes": [ - { - "type": "fix", - "text": "Make sure users don't enter an insane download limit value" - }, - { - "type": "fix", - "text": "Fix forbidden regexes which might've let some results through" - }, - { - "type": "feature", - "text": "Add option to disable CSRF protection and disable it by default" - } - ], - "final": true - }, - { - "version": "v1.0.15", - "date": "2018-01-10", - "changes": [ - { - "type": "feature", - "text": "Pull NZB download status from configured downloaders instead of relying on extension scripts" - }, - { - "type": "feature", - "text": "Add button to check caps for all/all incomplete (yellow) indexers" - }, - { - "type": "fix", - "text": "Anonymize username:password pairs in URLs in logs" - }, - { - "type": "fix", - "text": "Torznab results were returned wrong, preventing Hydra from being added to radarr" - } - ], - "final": true - }, - { - "version": "v1.0.14", - "date": "2018-01-09", - "changes": [ - { - "type": "fix", - "text": "Gracefully shutdown when restarting or quitting while search requests are handled" - } - ], - "final": true - }, - { - "version": "v1.0.13", - "date": "2018-01-09", - "changes": [ - { - "type": "fix", - "text": "NZBs proxied from indexers were returned with wrong / random seeming file name" - } - ], - "final": true - }, - { - "version": "v1.0.12", - "date": "2018-01-07", - "changes": [ - { - "type": "feature", - "text": "Allow migrating only the config, skipping the database migration" - } - ], - "final": true - }, - { - "version": "v1.0.11", - "date": "2018-01-07", - "changes": [ - { - "type": "fix", - "text": "Fix error in auth introduced in a previous version" - } - ], - "final": true - }, - { - "version": "v1.0.10", - "date": "2018-01-07", - "changes": [ - { - "type": "feature", - "text": "Improve the logging for web exceptions (which are often swallowed which makes debugging harder)" - }, - { - "type": "fix", - "text": "Name of the category would not update in the category dropdown box on the search page" - }, - { - "type": "fix", - "text": "Allow searching without a query in the UI" - } - ], - "final": true - }, - { - "version": "v1.0.9", - "date": "2018-01-07", - "changes": [ - { - "type": "fix", - "text": "Allow NZBHydra2 to be shown in an iFrame (e.g. organizr)" - } - ], - "final": true - }, - { - "version": "v1.0.8", - "date": "2018-01-06", - "changes": [ - { - "type": "fix", - "text": "Increase lengths for columns which may contain very long texts (errors, queries)" - } - ], - "final": true - }, - { - "version": "v1.0.7", - "date": "2018-01-06", - "changes": [ - { - "type": "fix", - "text": "Fix bug in wrapper that I introduced in last version. Oh well..." - } - ], - "final": true - }, - { - "version": "v1.0.6", - "date": "2018-01-06", - "changes": [ - { - "type": "note", - "text": "Improve the way the host is determined. External URL should not need to be set when not using a reverse proxy" - }, - { - "type": "note", - "text": "Remove PyYAML dependency from wrapper" - } - ], - "final": true - }, - { - "version": "v1.0.5", - "date": "2018-01-06", - "changes": [ - { - "type": "note", - "text": "Make migration a bit more stable" - }, - { - "type": "note", - "text": "Make sure wrapper is started from correct folder" - } - ], - "final": true - }, - { - "version": "v1.0.4", - "date": "2018-01-06", - "changes": [ - { - "type": "note", - "text": "So many fixes" - } - ], - "final": true - }, - { - "version": "v1.0.3", - "date": "2018-01-06", - "changes": [ - { - "type": "note", - "text": "So many fixes" - } - ], - "final": true - }, - { - "version": "v1.0.2", - "date": "2018-01-06", - "changes": [ - { - "type": "note", - "text": "First public release. Welcome!" - } - ], - "final": true - } -] +[ { + "version" : "v4.7.3", + "date" : "2022-12-06", + "changes" : [ { + "type" : "note", + "text" : "A future update will require Java 17. To prepare for that a message will be shown asking you to update your system accordingly. If you're running NZBHydra2 in docker you don't need to do anything." + }, { + "type" : "feature", + "text" : "Set the environment variable NZBHYDRA_DISABLE_UPDATE to true to disable the NZBHydra update mechanism (similar as to when it's run inside docker). This can be used by package maintainers. See #809" + } ], + "final" : true +}, { + "version" : "v4.7.2", + "date" : "2022-11-30", + "changes" : [ { + "type" : "fix", + "text" : "Handle results without date." + }, { + "type" : "fix", + "text" : "Fix typo in apprise notification handler." + }, { + "type" : "fix", + "text" : "Hopefully fix notification sending test on arch-nzbhydra2. See #806" + }, { + "type" : "fix", + "text" : "Fix automatic configuration of Lidarr. See #802" + }, { + "type" : "note", + "text" : "As you can see development has slowed down a bit. The reason is kind of a mix of burnout, a new job and some other stuff. I'll try to get most bugs fixed faster and get back to some new features next year." + } ], + "final" : true +}, { + "version" : "v4.7.1", + "date" : "2022-09-18", + "changes" : [ { + "type" : "feature", + "text" : "Improve display of errors on startup." + }, { + "type" : "fix", + "text" : "Properly handle errors that occur during the detection of open ports." + } ], + "final" : false +}, { + "version" : "v4.7.0", + "date" : "2022-09-18", + "changes" : [ { + "type" : "feature", + "text" : "Use custom mappings to transform indexer result titles. Use this to clean up titles, add season or episode to it or whatever. See #794" + }, { + "type" : "fix", + "text" : "Some of you have an instance running which is exposed to the internet, without any authentication method. I previously tried to recognize this by some heuristic which was a bit naive and caused a lot of false positives. NZBHydra will now periodically try to determine your public IP and actually check if the used port is open. This might still not always work (e.g. in when you're running it using a VPN in which case I guess you know what're doing. Ultimately it's up to you to get your shit together." + }, { + "type" : "fix", + "text" : "Only warn about settings violating indexers' rules if the indexers are actually enabled." + }, { + "type" : "fix", + "text" : "Fix saving config with custom mappings." + } ], + "final" : false +}, { + "version" : "v4.6.1", + "date" : "2022-08-23", + "changes" : [ { + "type" : "fix", + "text" : "Fix startup error for new instances. Thanks @ cdloh." + } ], + "final" : true +}, { + "version" : "v4.6.0", + "date" : "2022-08-22", + "changes" : [ { + "type" : "feature", + "text" : "Add option to replace german umlauts and special characters." + } ], + "final" : true +}, { + "version" : "v4.5.0", + "date" : "2022-07-09", + "changes" : [ { + "type" : "feature", + "text" : "Automatically use NZB access and adding types required by certain indexers. See #784." + }, { + "type" : "feature", + "text" : "Add debug logging for category mapping." + } ], + "final" : false +}, { + "version" : "v4.4.0", + "date" : "2022-06-26", + "changes" : [ { + "type" : "feature", + "text" : "Add validation to ensure your configuration matches the requirements of a certain indexer." + }, { + "type" : "feature", + "text" : "Warn when exposing NZBHydra to the internet via host 0.0.0.0 with no authentication enabled." + }, { + "type" : "note", + "text" : "In the same vein I decided to remove the option to ignore warnings when saving the config. You'll just have to live with it or, ideally, fix the things causing the warnings." + }, { + "type" : "note", + "text" : "All the above stems from the fact that a lot of people (=idiots) have their NZBHydra (or *arr) instances wide open to the world without any authentication whatsoever. DO NOT DO THAT! People will steal your API keys and possibly get your indexer access disabled or revoked for good. I'm trying to automatically detect that but it's not easy distinguishing valid accesses from fraudulent ones." + } ], + "final" : true +}, { + "version" : "v4.3.3", + "date" : "2022-06-15", + "changes" : [ { + "type" : "fix", + "text" : "Fix error when using an HTTP proxy without username / password." + }, { + "type" : "fix", + "text" : "Use API hit information from indexer request when no download information was provided. In that case calculate the downloads from the history. See #778" + }, { + "type" : "fix", + "text" : "Fix API hit and download detection for DogNZB." + }, { + "type" : "fix", + "text" : "Add the current API hit to the number of reported API hits in response." + }, { + "type" : "fix", + "text" : "Fix name of logging marker \"Custom mapping\" (was \"Config mapping\")." + } ], + "final" : true +}, { + "version" : "v4.3.2", + "date" : "2022-06-13", + "changes" : [ { + "type" : "fix", + "text" : "Fix use of groups in custom search request mapping. See #700" + }, { + "type" : "fix", + "text" : "Fix download of backup files. See #772" + }, { + "type" : "note", + "text" : "The mysterious issues with connections to indexers failing (and perhaps some other issues) were caused by changes in the linuxserver.io image and should be fixed by now." + } ], + "final" : true +}, { + "version" : "v4.3.1", + "date" : "2022-05-02", + "changes" : [ { + "type" : "note", + "text" : "I removed the OpenAPI docs as for some really weird reason it may have introduced some unexpected bugs when connecting to indexers or even when trying to update the database" + } ], + "final" : true +}, { + "version" : "v4.3.0", + "date" : "2022-04-03", + "changes" : [ { + "type" : "feature", + "text" : "Allow to configure an indexer's API path. See #766" + }, { + "type" : "feature", + "text" : "OpenAPI docs are now available under http://127.0.0.1:5061/v3/api-docs/. This will only be interesting for very few (if any) users. Unfortunately I couldn't get the swagger UI working. You'll have to visit http://127.0.0.1:5061/swagger-ui/index.html and paste the api-docs URL." + } ], + "final" : true +}, { + "version" : "v4.2.1", + "date" : "2022-03-24", + "changes" : [ { + "type" : "note", + "text" : "Added a banner of and link to NewsDemon. Thanks for sponsoring me!" + }, { + "type" : "fix", + "text" : "The dismiss button for the banner shown after an automatic update has been installed didn't work reliably. See #737" + } ], + "final" : true +}, { + "version" : "v4.2.0", + "date" : "2022-03-04", + "changes" : [ { + "type" : "feature", + "text" : "Add entry to display options to always show result titles. By default they're hidden when grouping results with the same name. See #763" + }, { + "type" : "feature", + "text" : "Add dismiss button to banner shown after an automatic update has been installed. See #737" + }, { + "type" : "fix", + "text" : "Use link to comments as detail link for torznab results. For some indexer the details would previously go to the download link. See #758" + }, { + "type" : "fix", + "text" : "Only show video related quick filter buttons when searching in a TV or movie category. See #732" + }, { + "type" : "note", + "text" : "I'm currently testing a new version of the database library. This new version may hopefully be a bit more performant, may result in smaller database files (for those suffering from very larg ones) and / or give me options to fine tune how data is compacted (for those where a lot of IO is produced). Unfortunately it means that the old database needs to be migrated which is always a bit hairy. If you're interested in helping me by testing an alpha version please leave me a note in this github Issue." + } ], + "final" : true +}, { + "version" : "v4.1.0", + "date" : "2022-01-30", + "changes" : [ { + "type" : "feature", + "text" : "Allow certain notifications to be filtered (not shown / being sent). See #761" + }, { + "type" : "fix", + "text" : "Change shebang for python 3 wrapper so that it siginifies being a python 3 script." + } ], + "final" : true +}, { + "version" : "v4.0.2", + "date" : "2022-01-30", + "changes" : [ { + "type" : "fix", + "text" : "Fix automatic configuration of Sonarr v3. See #753" + } ], + "final" : true +}, { + "version" : "v4.0.1", + "date" : "2022-01-10", + "changes" : [ { + "type" : "fix", + "text" : "Properly read X-Forwarded-For header and original IP." + }, { + "type" : "fix", + "text" : "Execute connection check after an indexer's API key has changed." + } ], + "final" : true +}, { + "version" : "v4.0.0", + "date" : "2022-01-02", + "changes" : [ { + "type" : "feature", + "text" : "Update framework libraries and add support for Java 17." + }, { + "type" : "feature", + "text" : "NZBHydra now (hopefully) properly supports indexers that return more than 100 results per API page. When I started developing 8 years ago no indexer I knew of returned more than 100 results, now some return 500 or even 1000. That obviously often tremendously reduces the API hits needed to fill a page or find a certain result. NZBHydra will now request 1000 results (many indexers will still only return 100) per page. The page size of the results returned by NZBHydra is still 100 (if not overwritten in the API request). The amount of API hits made by local programs doesn't matter and the time and performance overhead are negligible. Please note that these changes required some hefty changes in the deeps of the search logic and may have produced some bugs. Let me know if it works as expected." + }, { + "type" : "feature", + "text" : "Show assigned colors of indexers in config list." + }, { + "type" : "note", + "text" : "Happy new year!" + } ], + "final" : true +}, { + "version" : "v3.18.4", + "date" : "2021-12-11", + "changes" : [ { + "type" : "fix", + "text" : "Update logging library to a newer version due to a security issue. This isn't much of an issue, in my opinion, as I use a different library although this one is used by others. It also only affects JDKs that are older than a year and it's not an issue on docker containers." + } ], + "final" : true +}, { + "version" : "v3.18.3", + "date" : "2021-12-06", + "changes" : [ { + "type" : "fix", + "text" : "Added nzbgeek to the list of indexers which don't support movie/tvsearch searches without IDs." + } ], + "final" : true +}, { + "version" : "v3.18.2", + "date" : "2021-12-06", + "changes" : [ { + "type" : "fix", + "text" : "Some indexers do not support movie/tvsearch type queries without IDs but with word based queries (I know of nzbplanet and dognzb). For these indexers the search type is automatically switched to search when no IDs but a word query is given." + } ], + "final" : true +}, { + "version" : "v3.18.1", + "date" : "2021-12-01", + "changes" : [ { + "type" : "fix", + "text" : "Fix exception when unexpected java version is found. Why the fuck does every JDK have to have its own version format?" + } ], + "final" : true +}, { + "version" : "v3.18.0", + "date" : "2021-11-27", + "changes" : [ { + "type" : "fix", + "text" : "Make sure that when the NZBHydra API is accessed with a duplicate /api in the URL this is not interpreted as wanting to only use an indexer with the name \"api\"." + }, { + "type" : "feature", + "text" : "Abort on startup if incompatible Java version is used." + } ], + "final" : true +}, { + "version" : "v3.17.3", + "date" : "2021-10-05", + "changes" : [ { + "type" : "fix", + "text" : "Ugh, don't ask. I'm glad that releases don't cost anything." + } ], + "final" : true +}, { + "version" : "v3.17.2", + "date" : "2021-10-05", + "changes" : [ { + "type" : "fix", + "text" : "The \"What's new\" views were empty. If you want the gritty details: I make a call to the backend /updates/changesSinceUpTo/3.17.1 which is supposed to return all changes between the current version and 3.17.1, in this example. For some stupid reason the backend framework converts the 3.17.1 to 3.17 which means for the running version 3.17.0 the changes between 3.17 and 3.17.0 were shown which are obviously empty." + } ], + "final" : true +}, { + "version" : "v3.17.1", + "date" : "2021-10-05", + "changes" : [ { + "type" : "fix", + "text" : "Only allow (ZIP) files to be downloaded that were created by NZBHydra. See #744." + }, { + "type" : "fix", + "text" : "Hide button to download results as ZIP if access to indexer results is configured to work via redirect. See #734." + } ], + "final" : true +}, { + "version" : "v3.17.0", + "date" : "2021-10-03", + "changes" : [ { + "type" : "feature", + "text" : "Show beta releases in update section even when beta releases are disabled. You won't get notifications and automatic updates will still respect the config but you can then choose to install a beta version without having to switch to the beta branch. See #730." + }, { + "type" : "feature", + "text" : "Show loading spinner while loading more results. See #729." + }, { + "type" : "fix", + "text" : "Fix wrong API path used when configuring Radarr v4. See #731." + }, { + "type" : "fix", + "text" : "Fix display of fixes in version history (the little orange badge shown in the updates section next to this entry)." + }, { + "type" : "fix", + "text" : "Don't log output of URL calls when status 429 is returned (Too Many Requests)." + } ], + "final" : true +}, { + "version" : "v3.16.2", + "date" : "2021-09-27", + "changes" : [ { + "type" : "fix", + "text" : "Fix missing quotation mark in base config (only used for new installations)." + } ], + "final" : false +}, { + "version" : "v3.16.1", + "date" : "2021-09-27", + "changes" : [ { + "type" : "fix", + "text" : "Roll back release of 3.16.0 because of some problems with form based logins which need some more analysis." + } ], + "final" : false +}, { + "version" : "v3.16.0", + "date" : "2021-09-25", + "changes" : [ { + "type" : "feature", + "text" : "Add support for Java 16. Please not that there's no reason for you to just willy-nilly update the java major version (e.g. 11 to 16). Newer releases are not automatically better or safer. Installing patches (e.g. Java 11.0.0 to Java 11.0.2 or such) is enough. Java 17 is still not supported." + }, { + "type" : "feature", + "text" : "Add \"-xpost\" to the list of trailing words to remove. See #717." + }, { + "type" : "fix", + "text" : "Make checkboxes and radioboxes grayscale because new browsers show them in weird blue. See #727." + } ], + "final" : false +}, { + "version" : "v3.15.2", + "date" : "2021-08-27", + "changes" : [ { + "type" : "fix", + "text" : "Remove dereferer.org from preset config and from any instances still using it. Modern browsers all support the Referrer-Policy header that is set by NZBHydra anyway." + } ], + "final" : true +}, { + "version" : "v3.15.1", + "date" : "2021-08-05", + "changes" : [ { + "type" : "feature", + "text" : "When configuring an external tool like sonarr and forgetting to provide its URL base in the URL it will return a misleading response. Hydra will now recognize this case and show a helpful message." + }, { + "type" : "fix", + "text" : "Fix sorting of search state messages." + }, { + "type" : "fix", + "text" : "Log to browser console which quick filters don't match a result. This will help with debugging some issues in this area." + } ], + "final" : true +}, { + "version" : "v3.15.0", + "date" : "2021-07-10", + "changes" : [ { + "type" : "feature", + "text" : "Debug infos can now be created and directly uploaded to https://ufile.io/ for easier sharing." + }, { + "type" : "feature", + "text" : "The tooltip in the search results for the display of rejected, loaded and filtered results now also shows the number of filtered results for each reason (e.g. x results being too small, y results already downloaded)." + }, { + "type" : "feature", + "text" : "The \"Searching... please wait\" box now highlights indexer searches that produced results. The messages are also sorted by indexer name and start with the number of results to allow easier reading. See #696." + } ], + "final" : true +}, { + "version" : "v3.14.2", + "date" : "2021-05-23", + "changes" : [ { + "type" : "fix", + "text" : "Min and max size API parameters were ignored. See #705" + } ], + "final" : true +}, { + "version" : "v3.14.1", + "date" : "2021-04-22", + "changes" : [ { + "type" : "feature", + "text" : "Added NZB360, Readarr and Mylar to mapped user agents. Thanks to SAS-1" + }, { + "type" : "fix", + "text" : "With the option to transform newznab categories enabled if provided categories of an API call could not be mapped to a category they weren't used at all. See #704." + } ], + "final" : true +}, { + "version" : "v3.14.0", + "date" : "2021-04-11", + "changes" : [ { + "type" : "feature", + "text" : "Custom mapping for queries and titles. This allows you to customize / change the values used by external tools or returned by metadata providers like TVDB. See #700." + } ], + "final" : true +}, { + "version" : "v3.13.2", + "date" : "2021-03-20", + "changes" : [ { + "type" : "fix", + "text" : "Fix connection check for nzbgeek. See #695." + }, { + "type" : "note", + "text" : "Java 16 is not supported. See #697." + } ], + "final" : true +}, { + "version" : "v3.13.1", + "date" : "2021-03-10", + "changes" : [ { + "type" : "fix", + "text" : "Fix external configuration of Readarr (0.1.0.520+). See #693." + } ], + "final" : true +}, { + "version" : "v3.13.0", + "date" : "2021-02-23", + "changes" : [ { + "type" : "feature", + "text" : "From now on I'll refer to the appropriate GitHub issues in the changelog (if I don't forget it)." + }, { + "type" : "fix", + "text" : "Improve category detection for MyAnonaMouse. See #689." + }, { + "type" : "fix", + "text" : "Don't crash GUI when result titles are empty. See #690." + }, { + "type" : "fix", + "text" : "Clarify the restrictions section in the auth config. See #687." + } ], + "final" : true +}, { + "version" : "v3.12.0", + "date" : "2021-02-13", + "changes" : [ { + "type" : "feature", + "text" : "Add button to send results to black hole from download history. See #685" + }, { + "type" : "feature", + "text" : "Add support for custom parameters to be sent to indexers while searching. See #647" + }, { + "type" : "fix", + "text" : "Download status bar did not update properly when the downloader was idle after a download. The bar will now be updated until either a new download is started or the bar is properly filled, representing the downloader's idle state. This should hopefully also fix the long-standing issue with the browser tab freezing / crashing after a while." + }, { + "type" : "fix", + "text" : "Ensure that threads which send data to the frontend (like notifications or downloader status) are only active when a UI session (=browser tab) is open. Also only send downloader data if it's actually new (instead of e.g. repeatedly sending information that the downloader is idle." + }, { + "type" : "fix", + "text" : "Remove code for nzbs.org :-(" + } ], + "final" : true +}, { + "version" : "v3.11.4", + "date" : "2021-02-08", + "changes" : [ { + "type" : "fix", + "text" : "Fix warning \"Destroy method on bean...\" when shutting down NZBHydra." + }, { + "type" : "fix", + "text" : "Fix automatic configuration of Sonarr and Radarr v3." + } ], + "final" : true +}, { + "version" : "v3.11.3", + "date" : "2021-01-31", + "changes" : [ { + "type" : "fix", + "text" : "Fix an issue where the backup folder was not properly validated when saving the config. Too bad I don't get paid by the update (=bug)." + } ], + "final" : true +}, { + "version" : "v3.11.2", + "date" : "2021-01-31", + "changes" : [ { + "type" : "fix", + "text" : "Fix a websocket issue when using a reverse proxy. Should've tested that better... If you're running NZBHydra behind a reverse proxy please see https://github.com/theotherp/nzbhydra2/issues/683#issuecomment-770444576." + } ], + "final" : true +}, { + "version" : "v3.11.1", + "date" : "2021-01-31", + "changes" : [ { + "type" : "fix", + "text" : "Introduced a stupid bug in v3.11.0 which prevented all but one particular indexer from being selected. Sorry about that." + } ], + "final" : true +}, { + "version" : "v3.11.0", + "date" : "2021-01-31", + "changes" : [ { + "type" : "feature", + "text" : "Implemented rate limiting for certain indexers which don't allow more than x hits in x seconds. If you know of such an indexer please let me know as this is hard coded and not configurable." + }, { + "type" : "feature", + "text" : "Added option to disable \"What's new\" button after an automatic update was installed." + }, { + "type" : "fix", + "text" : "Validate backup folder when saving config." + }, { + "type" : "fix", + "text" : "Allow direct input for indexer color." + }, { + "type" : "fix", + "text" : "Fixed an issue where animetosho results would show up as a warning in the log. The indexer contains NZB and/or torrent links combined in one feed. When you made an NZB or torrent search and a result only contained a link for the other type this would be shown as a warning. This message will now only be shown on debug level." + }, { + "type" : "fix", + "text" : "Improve the connection check to sabNZBd so that false positives should be reduced (.i.e in NZBHydra connecting successfully to a proxy or other server is not interpreted as successful connection check)." + } ], + "final" : true +}, { + "version" : "v3.10.1", + "date" : "2021-01-28", + "changes" : [ { + "type" : "fix", + "text" : "Fix an issue with hydra using a base URL (e.g. /nzbhydra2)." + } ], + "final" : true +}, { + "version" : "v3.10.0", + "date" : "2021-01-28", + "changes" : [ { + "type" : "feature", + "text" : "Enabled compression for resources sent to the browser. This shouldn't matter on local connections but save bandwidth should you want to use UI on a mobile browser (horrible as it looks)." + }, { + "type" : "feature", + "text" : "The GUI will now retrieve notifications, the downloader status and search state via WebSocket. This means that the browser keeps a connection to the server open and is only sent data when new data is available (e.g. when the downloader status actually changed). This should result in considerably fewer requests and (negligible) faster UI update times." + } ], + "final" : false +}, { + "version" : "v3.9.2", + "date" : "2021-01-16", + "changes" : [ { + "type" : "feature", + "text" : "Added some code that allows me to post a link to adapt the logging config and to download the debug infos." + }, { + "type" : "feature", + "text" : "Added config switch to add NZBs to downloader paused." + }, { + "type" : "fix", + "text" : "Added some more logging and handling of edge cases for API limits." + } ], + "final" : true +}, { + "version" : "v3.9.1", + "date" : "2021-01-16", + "changes" : [ { + "type" : "fix", + "text" : "Fixed an issue with time zones related to indexer API limits. It may only affect the log output but may also fix some problems with limit detection." + } ], + "final" : true +}, { + "version" : "v3.9.0", + "date" : "2020-12-28", + "changes" : [ { + "type" : "feature", + "text" : "NZBHydra will now show the search results table even if all results were rejected. This way you can see the reason for the rejections without having to check the log." + }, { + "type" : "fix", + "text" : "Show advanced features in downloader config if selected." + } ], + "final" : true +}, { + "version" : "v3.8.1", + "date" : "2020-12-28", + "changes" : [ { + "type" : "fix", + "text" : "Remove NZBGeek from list of domains for which do disable SNI." + }, { + "type" : "fix", + "text" : "Change text for toggle of advanced options in the config to \"Advanced hidden\" and \"Advanced shown\"." + } ], + "final" : true +}, { + "version" : "v3.8.0", + "date" : "2020-12-13", + "changes" : [ { + "type" : "feature", + "text" : "Add 'Show advanced' switch to config. I'd already tried to get this working twice - third time's the charm!." + }, { + "type" : "feature", + "text" : "Add button to clear color for an indexer." + }, { + "type" : "fix", + "text" : "Apply indexer colors to expanded results as well. To mark expanded results they're shown in a darker shade so it's recommended to use indexer colors which not only differ in lightness." + } ], + "final" : true +}, { + "version" : "v3.7.0", + "date" : "2020-12-13", + "changes" : [ { + "type" : "feature", + "text" : "New display option to hide 'Results as ZIP' button." + }, { + "type" : "feature", + "text" : "New option to choose quickfilters that should be preselected." + }, { + "type" : "feature", + "text" : "New option to select the primary downloader for which the footer will show the status." + }, { + "type" : "fix", + "text" : "Re-add 'No category' to category selection which got lost in 3.5.0." + }, { + "type" : "fix", + "text" : "The multiselect widgets in the config will now show the labels of the selected values, not their internal ID." + }, { + "type" : "fix", + "text" : "'Searching...' window was not closed when all found results were being filtered." + }, { + "type" : "fix", + "text" : "Don't show the blue loading bar when checking for notifications." + }, { + "type" : "fix", + "text" : "Report API errors as JSON instead of XML when appropriate." + } ], + "final" : false +}, { + "version" : "v3.6.0", + "date" : "2020-12-05", + "changes" : [ { + "type" : "feature", + "text" : "When aborting an indexer search because no ID conversion was possible Hydra will now show a less... serious message. This is an expected problem, not an error." + }, { + "type" : "fix", + "text" : "Remove ampersand (&) from titles when searching indexers as they're interpreted specially." + } ], + "final" : true +}, { + "version" : "v3.5.1", + "date" : "2020-11-15", + "changes" : [ { + "type" : "fix", + "text" : "Fix linux wrapper executable." + } ], + "final" : true +}, { + "version" : "v3.5.0", + "date" : "2020-11-15", + "changes" : [ { + "type" : "feature", + "text" : "Use (bigger) buttons for downloader category selection." + }, { + "type" : "fix", + "text" : "Fix recognition of java version with recet OpenJDK update." + } ], + "final" : true +}, { + "version" : "v3.4.3", + "date" : "2020-10-31", + "changes" : [ { + "type" : "fix", + "text" : "Fix error that ocurred when notifications without Apprise URLs were sent." + } ], + "final" : true +}, { + "version" : "v3.4.2", + "date" : "2020-10-29", + "changes" : [ { + "type" : "fix", + "text" : "Fix error that ocurred when notifications without Apprise URLs were sent." + } ], + "final" : true +}, { + "version" : "v3.4.1", + "date" : "2020-10-25", + "changes" : [ { + "type" : "fix", + "text" : "Fixed external configuration of Radarr and Sonarr V3 (wrt torrents)." + } ], + "final" : true +}, { + "version" : "v3.4.0", + "date" : "2020-10-25", + "changes" : [ { + "type" : "feature", + "text" : "Added age and source variables to download notification." + }, { + "type" : "feature", + "text" : "The previously added \"Download\" notification was only for when a result was grabbed from Hydra. I've aded a notification for download completion, i.e. when the download finishes the download." + }, { + "type" : "fix", + "text" : "Fixed external configuration of Radarr and Sonarr V3." + } ], + "final" : true +}, { + "version" : "v3.3.0", + "date" : "2020-10-22", + "changes" : [ { + "type" : "feature", + "text" : "Added notifications for downloads." + }, { + "type" : "fix", + "text" : "The button to send results to the downloader was not displayed in some cases." + }, { + "type" : "fix", + "text" : "Apprise notifications sent via CLI containing quotation marks were truncated." + } ], + "final" : true +}, { + "version" : "v3.2.1", + "date" : "2020-10-21", + "changes" : [ { + "type" : "fix", + "text" : "Prevent startup errors when migrating from certain older versions." + } ], + "final" : true +}, { + "version" : "v3.2.0", + "date" : "2020-10-20", + "changes" : [ { + "type" : "feature", + "text" : "Allow using Apprise CLI to send notifications instead of Apprise API." + }, { + "type" : "fix", + "text" : "Don't require Apprise API URL to end with /notify (will still work if you've already configured it that way)." + }, { + "type" : "fix", + "text" : "Anonymize notification URLs when writing debug infos." + }, { + "type" : "fix", + "text" : "Prevent invalid expiry date setting and fix startup failing due to invalid setting." + } ], + "final" : true +}, { + "version" : "v3.1.0", + "date" : "2020-10-18", + "changes" : [ { + "type" : "feature", + "text" : "Add button to test notifications." + } ], + "final" : true +}, { + "version" : "v3.0.0", + "date" : "2020-10-17", + "changes" : [ { + "type" : "feature", + "text" : "NZBHydra now allows to send and show notifications for certain events. You can request events on the Github Issue." + }, { + "type" : "fix", + "text" : "Reduced the percentage of correct results an indexer must return for an ID based search for that ID to be determined to be usable for searches. This will hopefully make the caps check recognize more supported IDs without any false positives." + }, { + "type" : "fix", + "text" : "Shorten torrent file names exceeding the maximum path length." + }, { + "type" : "fix", + "text" : "Query generation was not properly used for indexers which support a certain search type but no IDs." + }, { + "type" : "fix", + "text" : "Show a warning when more than 3 logging markers are enabled. Please only enabled them when requested by me. They reduce the performance and produce lots of irritating log output which hurts more than it helps unless I actually need it." + } ], + "final" : false +}, { + "version" : "v2.29.1", + "date" : "2020-09-12", + "changes" : [ { + "type" : "fix", + "text" : "Use better name for indexer entries added to *arr." + }, { + "type" : "fix", + "text" : "Fix issue with indexer names containing special characters when configuring *arr." + } ], + "final" : true +}, { + "version" : "v2.29.0", + "date" : "2020-09-08", + "changes" : [ { + "type" : "feature", + "text" : "Added support for indexer priority when configuring Sonarr v3 and Radarr v3." + }, { + "type" : "feature", + "text" : "Added support for automatic configuration of Readarr." + }, { + "type" : "fix", + "text" : "Anonymize API key and URLs when logging *arr requests and responses." + } ], + "final" : true +}, { + "version" : "v2.28.1", + "date" : "2020-09-08", + "changes" : [ { + "type" : "feature", + "text" : "Added Lidarr and Readarr to list of known user agents." + }, { + "type" : "feature", + "text" : "The dialog for the configuration of external tools will now save the input for each tool and restore it the next time you open the dialog for that tool again." + }, { + "type" : "feature", + "text" : "Support for indexer VIP expiry date 'Lifetime'. No logic behind it, just so you can enter and see that information." + }, { + "type" : "fix", + "text" : "Improve layout of quick filter buttons in search results." + } ], + "final" : true +}, { + "version" : "v2.28.0", + "date" : "2020-09-03", + "changes" : [ { + "type" : "feature", + "text" : "When using \"Add links\" to add NZBs to your downloader the links are usually calculated using the URL with which you accessed NZBHydra. This might be a URL that's not accessible by the downloader (e.g. when it's inside a docker container). You can now configure a URL in the downloading config that will be used for these links instead." + }, { + "type" : "fix", + "text" : "Don't let the invisible update footer catch clicks meant for the elements behind it." + } ], + "final" : true +}, { + "version" : "v2.27.2", + "date" : "2020-09-01", + "changes" : [ { + "type" : "fix", + "text" : "Use proper version for Radarr v3 (I used a develop version which returns 10.x)." + }, { + "type" : "fix", + "text" : "Reduce log output of exceptions." + }, { + "type" : "fix", + "text" : "(Hopefully) improve detection of local IP address when binding to 0.0.0.0." + } ], + "final" : true +}, { + "version" : "v2.27.1", + "date" : "2020-09-01", + "changes" : [ { + "type" : "feature", + "text" : "Support for Radarr v3 (see v2.27.0)." + } ], + "final" : true +}, { + "version" : "v2.27.0", + "date" : "2020-08-31", + "changes" : [ { + "type" : "feature", + "text" : "You can now automatically add NZBHydra as an indexer to Sonarr / Radarr / Lidarr. You can choose to add it as a single entry or one for every configured indexer and if it should be added as newznab and/or torznab indexer." + }, { + "type" : "fix", + "text" : "Close search history dropdown in search dialog when it was dragged." + }, { + "type" : "fix", + "text" : "Make quick filters case insensitive." + } ], + "final" : false +}, { + "version" : "v2.26.0", + "date" : "2020-08-24", + "changes" : [ { + "type" : "feature", + "text" : "Drag an entry from the search history to the search input to prefill it with the history entry's values. Then you can adapt them and search." + }, { + "type" : "feature", + "text" : "Added quick filters for HEVC and x265. Added an option to always show quick filter buttons (i.e. for any type of search). You can also define custom quick filters." + }, { + "type" : "feature", + "text" : "Show number of filtered and number of duplicate results on search results page." + }, { + "type" : "fix", + "text" : "Fix layout of search input for movies and shows." + }, { + "type" : "fix", + "text" : "Fix download of magnet links to black hole for some trackers." + } ], + "final" : true +}, { + "version" : "v2.25.0", + "date" : "2020-07-02", + "changes" : [ { + "type" : "feature", + "text" : "When creating debug infos log all changes made to the config." + }, { + "type" : "feature", + "text" : "Show dl/ul ratio indicator for torznab results (if not 100%). E.g. when '50%' is shown only half the download's size will be counted towards your ratio. Freelech torrents will be shown as such." + } ], + "final" : true +}, { + "version" : "v2.24.1", + "date" : "2020-06-29", + "changes" : [ { + "type" : "fix", + "text" : "Generate query for book searches if enabled and book search not supported by indexer." + }, { + "type" : "fix", + "text" : "Autofocus search input field (pretty sure that worked at some point)." + }, { + "type" : "fix", + "text" : "Catch illegal characters in hostname when configuring sabnzbd." + } ], + "final" : true +}, { + "version" : "v2.24.0", + "date" : "2020-06-22", + "changes" : [ { + "type" : "note", + "text" : "I've upgraded some of the libraries I used. This should ideally not change anything but to be sure I'll release this as prerelase first." + }, { + "type" : "fix", + "text" : "Remove API keys in URL encoded log entries." + } ], + "final" : false +}, { + "version" : "v2.23.0", + "date" : "2020-06-03", + "changes" : [ { + "type" : "feature", + "text" : "Double-click system tray icon to open GUI in browser." + }, { + "type" : "feature", + "text" : "Click downloader image in footer to open it in a new tab." + }, { + "type" : "feature", + "text" : "Add toggle to display options for search result groups being expanded by default." + }, { + "type" : "feature", + "text" : "Add toggle to display options for the indicator of already downloaded results." + }, { + "type" : "feature", + "text" : "Add toggle to display options to control display of already downloaded results. It's basically a filter." + } ], + "final" : true +}, { + "version" : "v2.22.5", + "date" : "2020-05-27", + "changes" : [ { + "type" : "fix", + "text" : "Indexers which report the API and download limits were not properly selected when the hit limit was reached but the latest hit was more than 24 hours ago." + }, { + "type" : "fix", + "text" : "Error while searching Animetosho." + }, { + "type" : "fix", + "text" : "Properly recognize ID based searches returning too many results." + } ], + "final" : true +}, { + "version" : "v2.22.4", + "date" : "2020-05-24", + "changes" : [ { + "type" : "fix", + "text" : "Fix problem with torznab introduced in last version (looking at me again, in this case)." + } ], + "final" : true +}, { + "version" : "v2.22.3", + "date" : "2020-05-24", + "changes" : [ { + "type" : "fix", + "text" : "Fix problem with paging introduced in last version (looking at me, in this case)." + } ], + "final" : true +}, { + "version" : "v2.22.2", + "date" : "2020-05-20", + "changes" : [ { + "type" : "feature", + "text" : "Add refresh buttons to search and download history." + }, { + "type" : "fix", + "text" : "Properly handle indexers which report more results in an API response than they actually return (looking at you, wtfnzbs)." + } ], + "final" : true +}, { + "version" : "v2.22.1", + "date" : "2020-05-13", + "changes" : [ { + "type" : "fix", + "text" : "Last release was broken a bit..." + } ], + "final" : true +}, { + "version" : "v2.22.0", + "date" : "2020-05-13", + "changes" : [ { + "type" : "feature", + "text" : "Add filter for minimum # of seeders (in general and per tracker)." + }, { + "type" : "fix", + "text" : "It appears that the hashing algorithm used to check for the outdated wrapper files behaves differently on some machines / OSes. I switched to SHA1 which should reduce false positives. If you still get the wrapper warning and really updated all files let me know." + }, { + "type" : "fix", + "text" : "Made sure that torznab results are never considered duplicates to anything. It could be argued that in some cases two torrents from public trackers may actually be the same but I consider that an edge case." + } ], + "final" : true +}, { + "version" : "v2.21.1", + "date" : "2020-05-09", + "changes" : [ { + "type" : "feature", + "text" : "Make instructions what to update when your wrapper is outdated extra clear: Any wrapper file found in the folder must be updated, not just the one you're using to run hydra. If the message says to extract the ZIP into your nzbhydra folder I mean ALL THE FILES." + }, { + "type" : "note", + "text" : "I moved my mail address from theotherp@gmx.de to theotherp@posteo.net." + } ], + "final" : true +}, { + "version" : "v2.21.0", + "date" : "2020-05-08", + "changes" : [ { + "type" : "feature", + "text" : "NZBHydra will now try to fall back to similar results when an NZB download fails. This is only possible if it proxies the results instead of redirecting to the indexer so I've made that the default *for new installs*. It works by looking for results with the same title from other indexers which were found in the same search as the result of which the download failed." + }, { + "type" : "fix", + "text" : "Covers were not shown for search results." + }, { + "type" : "fix", + "text" : "Fix layout of tooltip icons (\"?\") in config in safari browser." + } ], + "final" : true +}, { + "version" : "v2.20.7", + "date" : "2020-05-07", + "changes" : [ { + "type" : "fix", + "text" : "Execute check of outdated wrapper on startup to properly detect updated wrapper." + }, { + "type" : "fix", + "text" : "Fix some more layout issues." + } ], + "final" : true +}, { + "version" : "v2.20.6", + "date" : "2020-05-07", + "changes" : [ { + "type" : "fix", + "text" : "Revert tool to compile python wrapper to exe to older version as new exe files were (falsely!) recognized as a virus by *some* tools. To be clear, the files were never problematic. That means you'll have update the exe files or python scripts again." + }, { + "type" : "fix", + "text" : "Fix decoding issue of settings file by python3 wrapper." + } ], + "final" : true +}, { + "version" : "v2.20.5", + "date" : "2020-05-06", + "changes" : [ { + "type" : "feature", + "text" : "Mark results in GUI that already have been downloaded." + }, { + "type" : "fix", + "text" : "Fix issue with notification about outdated wrapper files not being shown. NZBHydra will now nag you until you refresh the files." + }, { + "type" : "fix", + "text" : "Revert layout fixes made in v2.20.4 because fuck CSS." + } ], + "final" : true +}, { + "version" : "v2.20.4", + "date" : "2020-05-06", + "changes" : [ { + "type" : "feature", + "text" : "GC logging (for debugging of memory issues) is now configurable and disabled by default. This has required a change in the wrapper which means you'll have to manually update them if you're running NZBHydra on windows or are using the linux executable." + }, { + "type" : "feature", + "text" : "Show current version and (if applicable) docker container infos on about page." + }, { + "type" : "fix", + "text" : "Fix parsing of API limits from indexers' API responses using different formats." + }, { + "type" : "fix", + "text" : "Don't show news for fresh installs." + }, { + "type" : "fix", + "text" : "Fix some (minor) layout issues on the search page." + } ], + "final" : true +}, { + "version" : "v2.20.3", + "date" : "2020-05-01", + "changes" : [ { + "type" : "feature", + "text" : "NZBHydra will recognize renamed indexers when saving the config. Renaming will no longer cause loss of stats and history for those indexers. You should have two indexers configured with the same host, API key and search type as this messes with the rename detection." + }, { + "type" : "feature", + "text" : "Click covers in search results to show them in a pop-up." + }, { + "type" : "fix", + "text" : "In some cases the download history could not be opened." + } ], + "final" : true +}, { + "version" : "v2.20.2", + "date" : "2020-04-29", + "changes" : [ { + "type" : "feature", + "text" : "Added more substructures to the config GUI to make it a bit more clear." + }, { + "type" : "feature", + "text" : "Replaced the config help pop-up pages with contextual help. Click the question marks neach to each field to get a bit more in-depth info." + }, { + "type" : "feature", + "text" : "Add button to clear search input." + }, { + "type" : "fix", + "text" : "Automatic update notification was also shown for manual updates." + } ], + "final" : true +}, { + "version" : "v2.20.1", + "date" : "2020-04-28", + "changes" : [ { + "type" : "feature", + "text" : "Add button to debug infos tab to list all HTTP endpoints (useful for reverse proxy config)." + }, { + "type" : "fix", + "text" : "Search type SEARCH wasn't displayed in indexer config." + }, { + "type" : "fix", + "text" : "Improve matching of indexer configs when reading jackett config." + }, { + "type" : "fix", + "text" : "Restore display of button to send torrents to black hole." + }, { + "type" : "fix", + "text" : "Try to fix circular loading error when creating backup." + } ], + "final" : true +}, { + "version" : "v2.20.0", + "date" : "2020-04-26", + "changes" : [ { + "type" : "feature", + "text" : "Option to filter out results by language. Very few indexers provide the language in the results, though." + }, { + "type" : "feature", + "text" : "You can now add self-signed certificates for any hosts you want to connect to. Just create a folder named 'certificates' inside the data folder, put your .crt files there and reload NZBHydra." + }, { + "type" : "feature", + "text" : "Option to disable SSL verification for local hosts. (This was on by default so far)." + }, { + "type" : "feature", + "text" : "Support for saving NZBs to a black hole." + }, { + "type" : "fix", + "text" : "Fix sorting by age in download history." + }, { + "type" : "fix", + "text" : "NZBGet connection didn't honor SSL verification settings." + }, { + "type" : "fix", + "text" : "Properly display last errror on indexer statuses page." + }, { + "type" : "fix", + "text" : "Fix parsing of binsearch date on non-english locales." + }, { + "type" : "fix", + "text" : "Properly recognize duplicate NZBs not added to sabNZBd." + }, { + "type" : "fix", + "text" : "Improve matching of downloads to downloader entries where no external ID exists, i.e. those downloads resulting from API accesses." + }, { + "type" : "fix", + "text" : "When using NZBGet the wrong NZB would be shown as downloading if the first entry in the queue wasn't the one downloading." + }, { + "type" : "fix", + "text" : "Handle errors better while adding torrents to black hole or sending magnet links." + }, { + "type" : "fix", + "text" : "Filter out quotation marks (\") when searching NZBGeek." + }, { + "type" : "note", + "text" : "I've added two settings for the database. Just ignore them unless told otherwise ;-)" + } ], + "final" : true +}, { + "version" : "v2.19.6", + "date" : "2020-04-23", + "changes" : [ { + "type" : "fix", + "text" : "With v2.15.0 I added the option to configure the backup folder and changed the path from being relative to the data folder to being relative to the main folder. That's not compatible with docker containers and broke the backup but I always insisted it wasn't my fault - it was, sorry." + } ], + "final" : true +}, { + "version" : "v2.19.5", + "date" : "2020-04-20", + "changes" : [ { + "type" : "fix", + "text" : "Indexer caps check was not executed when adding a new indexer." + }, { + "type" : "note", + "text" : "Happy 420. Stay inside. Stay healthy. Sorry for all the bugfix releases..." + } ], + "final" : true +}, { + "version" : "v2.19.4", + "date" : "2020-04-20", + "changes" : [ { + "type" : "fix", + "text" : "Fix error while reading API limits response from indexers which don't report oldest access time." + } ], + "final" : true +}, { + "version" : "v2.19.3", + "date" : "2020-04-20", + "changes" : [ { + "type" : "fix", + "text" : "Fix error when searching torznab." + } ], + "final" : true +}, { + "version" : "v2.19.2", + "date" : "2020-04-20", + "changes" : [ { + "type" : "fix", + "text" : "Fix error related to fallback." + } ], + "final" : true +}, { + "version" : "v2.19.1", + "date" : "2020-04-20", + "changes" : [ { + "type" : "feature", + "text" : "Add debug output for determination of API/download limits." + }, { + "type" : "fix", + "text" : "Corectly parse API/download limit information from NNTmux." + } ], + "final" : true +}, { + "version" : "v2.19.0", + "date" : "2020-04-19", + "changes" : [ { + "type" : "feature", + "text" : "Add option to set VIP expiry date for an indexer. You will be warned when the expiry date is near or has been reached." + } ], + "final" : false +}, { + "version" : "v2.18.0", + "date" : "2020-04-19", + "changes" : [ { + "type" : "feature", + "text" : "Added option to define a color for an indexer. Results from that indexer will be marked using that color." + }, { + "type" : "fix", + "text" : "Some indexers apparently return all results for ID based searches when actually no results were found. In this case it will be handled as if no results were found." + }, { + "type" : "fix", + "text" : "Adjust width of title box in search form when displaying results." + }, { + "type" : "fix", + "text" : "Fallback to query generation was often not executed when it should've." + } ], + "final" : false +}, { + "version" : "v2.17.6", + "date" : "2020-04-17", + "changes" : [ { + "type" : "fix", + "text" : "Fix passworded releases not being included for a certain indexer." + }, { + "type" : "note", + "text" : "Added logging to debug query generation fallback." + }, { + "type" : "note", + "text" : "Added thank-you to newsgroup.ninja for sponsoring me." + } ], + "final" : true +}, { + "version" : "v2.17.5", + "date" : "2020-04-05", + "changes" : [ { + "type" : "fix", + "text" : "Fix copy & paste error introduced with last version." + } ], + "final" : true +}, { + "version" : "v2.17.4", + "date" : "2020-04-05", + "changes" : [ { + "type" : "fix", + "text" : "Min and max size were not filled on page load with a custom default category was configured." + } ], + "final" : true +}, { + "version" : "v2.17.3", + "date" : "2020-04-01", + "changes" : [ { + "type" : "feature", + "text" : "Add option to always convert media IDs. This might make sense for indexers that only sometimes support a certain ID, i.e. don't have all results tagged with a certain ID but may have tagged them with others." + } ], + "final" : true +}, { + "version" : "v2.17.2", + "date" : "2020-04-01", + "changes" : [ { + "type" : "fix", + "text" : "Fix database error when searching with disabled history." + }, { + "type" : "fix", + "text" : "Don't show option how long to keep stats with disabled history." + } ], + "final" : true +}, { + "version" : "v2.17.1", + "date" : "2020-03-31", + "changes" : [ { + "type" : "fix", + "text" : "When reading the jackett configuration update existing tracker configs instead of replacing them." + }, { + "type" : "note", + "text" : "Enable query generation for internal searches by default." + } ], + "final" : true +}, { + "version" : "v2.17.0", + "date" : "2020-03-30", + "changes" : [ { + "type" : "feature", + "text" : "Add option to read Jackett config and automatically add all configured trackers. Already configured trackers will be updated. Thanks for Davide Campagna for the tip." + }, { + "type" : "feature", + "text" : "Add option to configure downloader to never send a category." + }, { + "type" : "fix", + "text" : "Some time ago I implemented a feature that recognized OutOfMemory errors in the log which might've been not recognized by the user because the program automatically restarts after such a crash. Ironically this check caused OutOfMemory errors with huge log files..." + } ], + "final" : true +}, { + "version" : "v2.16.5", + "date" : "2020-03-23", + "changes" : [ { + "type" : "feature", + "text" : "Enable some more logging to debug slow server responses." + } ], + "final" : true +}, { + "version" : "v2.16.3", + "date" : "2020-03-23", + "changes" : [ { + "type" : "feature", + "text" : "Fancy new graph for CPU usage per thread in the debug infos section. Enable the logging marker 'Performance' for the graph to show data. In this case NZBHydra will also log memory usage and any threads using more than 5% CPU. This might have an overhead on some systems so I don't recommend running it by default." + }, { + "type" : "feature", + "text" : "Add option to create and log a thread dump directly from the GUI. You can also create a heap dump for me to analyze but this will only work with non-J9 JREs." + }, { + "type" : "feature", + "text" : "Log more data in the debug report. If you're curious you can visit http://127.0.0.1:5076/actuator (or whatever your IP and port are) and take a look. There's a lot of data you could display in a dashboard." + } ], + "final" : true +}, { + "version" : "v2.16.2", + "date" : "2020-03-22", + "changes" : [ { + "type" : "feature", + "text" : "Extend performance logging." + } ], + "final" : true +}, { + "version" : "v2.16.1", + "date" : "2020-03-15", + "changes" : [ { + "type" : "fix", + "text" : "Fix display of version history." + } ], + "final" : false +}, { + "version" : "v2.16.0", + "date" : "2020-03-15", + "changes" : [ { + "type" : "feature", + "text" : "Add an extra option for how long stats data is kept. Set this to 4 weeks or so. I've also updated the wiki's memory page to explain which settings impact the database size which is usually the reason for high memory usage." + }, { + "type" : "note", + "text" : "I've reduced the default for how long search results are kept in the database to mitigate some memory issues with large databases. Only very few users should be affected by this negatively." + }, { + "type" : "note", + "text" : "I've moved the settings for the history to the main config section." + } ], + "final" : false +}, { + "version" : "v2.15.2", + "date" : "2020-03-15", + "changes" : [ { + "type" : "feature", + "text" : "Increased the number of entries in the search history dropdown to 25." + }, { + "type" : "feature", + "text" : "Added option to configure the number of results shown per page. Default is 100. Max is 500." + }, { + "type" : "fix", + "text" : "Properly display full width of selected titles from the search autocomplete." + }, { + "type" : "fix", + "text" : "Remove apostrophe (') from generated queries again. Seems like there is no right way to do this as some trackers return more results with and some without; but it also seems that more indexers prefer it to be removed. If you know a tracker / indexer that works better with apostrophes in the query please tell me and I will make an exclusion for them." + } ], + "final" : false +}, { + "version" : "v2.15.1", + "date" : "2020-03-14", + "changes" : [ { + "type" : "fix", + "text" : "Contents of the generic storage were not properly migrated." + } ], + "final" : false +}, { + "version" : "v2.15.0", + "date" : "2020-03-14", + "changes" : [ { + "type" : "feature", + "text" : "Option to disable history of searches and downloads." + }, { + "type" : "feature", + "text" : "Option to configure folder for backups." + }, { + "type" : "feature", + "text" : "Option to not send newznab categories for torznab indexers (trackers). See #516." + }, { + "type" : "note", + "text" : "Previously a couple of settings (Time of last backup, time of first start, latest news shown, etc.) were stored in the database. That meant they were lost when starting with a new database. I've moved the settings to the config file wherey they belong." + }, { + "type" : "feature", + "text" : "Show a notification footer when an automatic update was installed." + }, { + "type" : "fix", + "text" : "Don't crash py3 wrapper when trying to log unicode characters." + }, { + "type" : "fix", + "text" : "Keep result selection when changing pages. (To be precise, the result selection was actually already kept but upon page change \"selected\" results' checkboxes would not be checked.)" + }, { + "type" : "fix", + "text" : "Fix download of results as ZIP (which apparently nobody uses as it seems to have been broken forever...)." + } ], + "final" : false +}, { + "version" : "v2.14.2", + "date" : "2020-03-09", + "changes" : [ { + "type" : "fix", + "text" : "Ensure passworded results are included for certain indexers when configured not to ignore them." + }, { + "type" : "fix", + "text" : "Fix link to downloading help." + } ], + "final" : true +}, { + "version" : "v2.14.1", + "date" : "2020-02-23", + "changes" : [ { + "type" : "fix", + "text" : "Fix failing startup of fresh instance on Linux. Thanks, hotio." + } ], + "final" : true +}, { + "version" : "v2.14.0", + "date" : "2020-02-23", + "changes" : [ { + "type" : "feature", + "text" : "Allow setting a default category to be preselected." + }, { + "type" : "feature", + "text" : "Add supported SSL ciphers to debug infos output." + }, { + "type" : "feature", + "text" : "Update indexer presets." + }, { + "type" : "fix", + "text" : "Fix errors in py3 wrapper." + } ], + "final" : true +}, { + "version" : "v2.13.14", + "date" : "2020-02-19", + "changes" : [ { + "type" : "fix", + "text" : "Fix error in URL calculation, resulting in failing API downloads when other programs access Hydra via a reverse proxy with SSL." + } ], + "final" : true +}, { + "version" : "v2.13.13", + "date" : "2020-02-17", + "changes" : [ { + "type" : "fix", + "text" : "Redirect system.out to log file for SSL debug infos even on windows" + } ], + "final" : true +}, { + "version" : "v2.13.12", + "date" : "2020-02-15", + "changes" : [ { + "type" : "fix", + "text" : "Don't use value of X-Forwarded-For when recognizing secure IPs." + }, { + "type" : "fix", + "text" : "Don't use search IDs in fallback queries. The indexer already returned 0 results for the last search and providing them may prevent the query from returning results." + } ], + "final" : false +}, { + "version" : "v2.13.11", + "date" : "2020-02-15", + "changes" : [ { + "type" : "fix", + "text" : "Fix invalid config created by v2.13.9." + } ], + "final" : false +}, { + "version" : "v2.13.10", + "date" : "2020-02-15", + "changes" : [ { + "type" : "fix", + "text" : "Fix error while saving config." + } ], + "final" : false +}, { + "version" : "v2.13.9", + "date" : "2020-02-15", + "changes" : [ { + "type" : "feature", + "text" : "Replace auth token implementation with auth header. You may define an header that provides a username and a range of IP addresses from which this header will be accepted. The user will automatically be logged in." + } ], + "final" : false +}, { + "version" : "v2.13.8", + "date" : "2020-02-15", + "changes" : [ { + "type" : "feature", + "text" : "Allow authorization via predefined OAuth2 / (X-)Authorization header. The token must be unique for each user in order to identify him." + }, { + "type" : "fix", + "text" : "Improve matching of downloader history entries." + }, { + "type" : "fix", + "text" : "Use dereferer for links in config help texts." + }, { + "type" : "fix", + "text" : "Improve readability of error messages in dark and grey themes." + } ], + "final" : false +}, { + "version" : "v2.13.7", + "date" : "2020-02-11", + "changes" : [ { + "type" : "fix", + "text" : "Further extend logging if logging marker 'HTTP Server' is selected. Don't hide local IP addresses in log. Replace other IP files with hashes to hide them but make them comparable." + } ], + "final" : true +}, { + "version" : "v2.13.6", + "date" : "2020-02-09", + "changes" : [ { + "type" : "fix", + "text" : "Improve matching of hidden download entries from NZBGet history." + } ], + "final" : true +}, { + "version" : "v2.13.5", + "date" : "2020-02-09", + "changes" : [ { + "type" : "feature", + "text" : "Extend logging if logging marker 'HTTP Server' is selected." + } ], + "final" : true +}, { + "version" : "v2.13.4", + "date" : "2020-02-08", + "changes" : [ { + "type" : "fix", + "text" : "Improve wording of config description on how to apply newznab categories by pressing enter." + }, { + "type" : "fix", + "text" : "Include hidden results from NZBGet history when checking download status. That way entries removed by *arr and other programs will be considered, too." + } ], + "final" : true +}, { + "version" : "v2.13.3", + "date" : "2020-02-06", + "changes" : [ { + "type" : "fix", + "text" : "Fixed a very rare issue where a file stored in temp directory could not be read or deleted which prevented successful database migration." + } ], + "final" : true +}, { + "version" : "v2.13.2", + "date" : "2020-02-02", + "changes" : [ { + "type" : "fix", + "text" : "Uniqueness score was not saved for torrent downloads." + }, { + "type" : "fix", + "text" : "Apostrophes were removed from generated queries resulting in less results." + } ], + "final" : true +}, { + "version" : "v2.13.1", + "date" : "2020-02-01", + "changes" : [ { + "type" : "fix", + "text" : "Don't verify hostnames for hosts for which to ignore SSL certificate checks." + } ], + "final" : true +}, { + "version" : "v2.13.0", + "date" : "2020-02-01", + "changes" : [ { + "type" : "note", + "text" : "I've removed the option to use the packaged cacerts file which will now always be loaded by default. A future version will allow to add custom certificates to the chain. Most likely this will not affect many users anyway." + }, { + "type" : "fix", + "text" : "Fixed issue where SSL verification was not properly disabled for some hosts. Certificate checks are now also automatically disabled for local hosts." + } ], + "final" : false +}, { + "version" : "v2.12.8", + "date" : "2020-01-29", + "changes" : [ { + "type" : "fix", + "text" : "Same shit, different release. Thanks to reloxx13 for helping me reproduce this." + } ], + "final" : false +}, { + "version" : "v2.12.7", + "date" : "2020-01-29", + "changes" : [ { + "type" : "fix", + "text" : "Fix another issue with database migration. I'll switch to a different approach soon, this is too fragile." + } ], + "final" : false +}, { + "version" : "v2.12.6", + "date" : "2020-01-29", + "changes" : [ { + "type" : "fix", + "text" : "Fix issue with new installations not starting due to updated database library. So much for more stability..." + } ], + "final" : false +}, { + "version" : "v2.12.5", + "date" : "2020-01-28", + "changes" : [ { + "type" : "fix", + "text" : "Update database library. Should have no effect on you except hopefully more stability." + } ], + "final" : false +}, { + "version" : "v2.12.4", + "date" : "2020-01-27", + "changes" : [ { + "type" : "fix", + "text" : "Fix exception that occurs when an indexer's API limit was reached as reported by the indexer but Hydra can't find any of those hits in its database." + } ], + "final" : true +}, { + "version" : "v2.12.3", + "date" : "2020-01-26", + "changes" : [ { + "type" : "fix", + "text" : "Updated included SSL certificates." + }, { + "type" : "fix", + "text" : "Include beta releases in changelog when they have been released between the currently installed final version and the newest final version." + } ], + "final" : true +}, { + "version" : "v2.12.2", + "date" : "2020-01-20", + "changes" : [ { + "type" : "fix", + "text" : "Made some improvements in the way certificates are loaded. This should hopefully improve connectivity with NZBGeek on systems where it previously failed (due to incorrect JDK installations)." + } ], + "final" : true +}, { + "version" : "v2.12.1", + "date" : "2020-01-19", + "changes" : [ { + "type" : "fix", + "text" : "Fix error in indexer selection when indexers report their API hits but don't report the expiry timestamp." + }, { + "type" : "fix", + "text" : "Caching results for external API didn't work with some combination of parameters." + } ], + "final" : false +}, { + "version" : "v2.12.0", + "date" : "2020-01-18", + "changes" : [ { + "type" : "feature", + "text" : "Show API and download limit related values in the indexer statuses page." + }, { + "type" : "feature", + "text" : "If an indexer reports API and download limits and current hits in the response (as far as I know only nntmux does this) this will be stored and used to determine if the indexer's limits are reached. This will allow more precise results when any other programs (or you) happen to make API calls or downloads that Hydra is not aware of. As a fallback the logged API hits and downloads from the database are used (as before)." + } ], + "final" : false +}, { + "version" : "v2.11.2", + "date" : "2020-01-15", + "changes" : [ { + "type" : "fix", + "text" : "Fix SSL logging introduced in v2.11.1 when running in linux." + } ], + "final" : true +}, { + "version" : "v2.11.1", + "date" : "2020-01-14", + "changes" : [ { + "type" : "feature", + "text" : "Added code to help debug SSL / certificate issues when connecting to indexers." + }, { + "type" : "fix", + "text" : "Fix all versions in version history being displayed as beta." + }, { + "type" : "fix", + "text" : "Handle unexpected response when checking caps better." + } ], + "final" : true +}, { + "version" : "v2.11.0", + "date" : "2020-01-12", + "changes" : [ { + "type" : "feature", + "text" : "Restored old \"Load all results\" behavior. Now when enabled Hydra will display all already retrieved results from the cache. You still need to click \"Load all\" on the search results page to load all results available from indexers, resulting in more API hits. I've renamed the setting in the config to \"Display all cached results\"." + } ], + "final" : true +}, { + "version" : "v2.10.13", + "date" : "2020-01-11", + "changes" : [ { + "type" : "feature", + "text" : "Provide wrapper file for Python 3. Would be nice if you could test it and let me know if it works." + } ], + "final" : false +}, { + "version" : "v2.10.12", + "date" : "2020-01-11", + "changes" : [ { + "type" : "feature", + "text" : "Add validation to category config that warns users when a category contains a newznab main category (like 2000) and a subcategory already covered by that (like 2020)." + }, { + "type" : "feature", + "text" : "Provide wrapper file for Python 3." + }, { + "type" : "fix", + "text" : "Recognize error thrown when search IDs not supported by Animetosho." + } ], + "final" : false +}, { + "version" : "v2.10.11", + "date" : "2020-01-07", + "changes" : [ { + "type" : "fix", + "text" : "Allow users with access to stats to see the downloader bar. Prevent error message for the others." + } ], + "final" : false +}, { + "version" : "v2.10.10", + "date" : "2020-01-07", + "changes" : [ { + "type" : "fix", + "text" : "Add missing UI config entry for backup added in last update." + } ], + "final" : false +}, { + "version" : "v2.10.9", + "date" : "2020-01-06", + "changes" : [ { + "type" : "feature", + "text" : "Switched option for backup to an interval of days which allows you to have a finer control over when backups are created (e.g. more often if your system tends to crash...)." + } ], + "final" : false +}, { + "version" : "v2.10.8", + "date" : "2020-01-05", + "changes" : [ { + "type" : "feature", + "text" : "Added option to update to prereleases. If you enable this you will get 'beta' releases which I consider kinda stable but which contain bigger changes which might still break stuff. If you want to help with development please enable this and report any problems you encounter. Please note that any older instance older than v2.10.8 (this one) will always update to prereleases because they don't know the difference. Docker containers by popular maintainers will soon support prerelease tags (or already do so by now)." + } ], + "final" : true +}, { + "version" : "v2.10.7", + "date" : "2020-01-05", + "changes" : [ { + "type" : "note", + "text" : "Happy new year!" + }, { + "type" : "fix", + "text" : "Fix memory leak when using a proxy." + } ], + "final" : true +}, { + "version" : "v2.10.6", + "date" : "2019-12-29", + "changes" : [ { + "type" : "fix", + "text" : "The last changes made a pretty big change in the searching behavior with the option 'Load all' enabled. I'm completely rolling that back until I have an idea how to get what I want without causing excessive search behavior." + } ], + "final" : true +}, { + "version" : "v2.10.5", + "date" : "2019-12-29", + "changes" : [ { + "type" : "fix", + "text" : "Last udate (which reverted 2.10.3) was incomplete. Sorry, still drowsy from too much christmas food ;-)" + } ], + "final" : true +}, { + "version" : "v2.10.4", + "date" : "2019-12-28", + "changes" : [ { + "type" : "fix", + "text" : "Revert 'load all' change made with last version as it causes some search loops. Will need to take a closer look." + } ], + "final" : true +}, { + "version" : "v2.10.3", + "date" : "2019-12-28", + "changes" : [ { + "type" : "fix", + "text" : "With the option to load all results enabled now all available results will actually be loaded." + }, { + "type" : "note", + "text" : "I've removed the feature to migrate from v1 (to reduce the install size and memory usage a bit). It's still possible to migrate in older versions and then update to a current version." + } ], + "final" : true +}, { + "version" : "v2.10.2", + "date" : "2019-12-04", + "changes" : [ { + "type" : "feature", + "text" : "Add option to log HTTP server requests and their response times. The log messages will be written to a file nzbhydra.serv.log and not contained in the debug infos. They might help debug some performance related problems." + } ], + "final" : true +}, { + "version" : "v2.10.1", + "date" : "2019-12-01", + "changes" : [ { + "type" : "fix", + "text" : "Fix db error when trying to save downloaded NZB." + } ], + "final" : true +}, { + "version" : "v2.10.0", + "date" : "2019-11-30", + "changes" : [ { + "type" : "fix", + "text" : "I've changed (fixed) the way indexers are queried when searches are being made. In essence this will fix paging, allowing Radarr/Sonarr to properly read NZBHydra's results over multiple pages. What does that mean for you? *arr will probably find more results when doing backlog searches and NZBHydra will do more indexer searches, resulting in increased API hits (but not more than if you had configured them directly in *arr). For more (technical) details see this GitHub issue." + }, { + "type" : "fix", + "text" : "Recognize indexers reporting -1 for api or download limit for \"unlimited\"." + }, { + "type" : "fix", + "text" : "Fixed a minor layout issue in the config." + }, { + "type" : "fix", + "text" : "Make sure \"Keep history for ... weeks\" is either empty or set to a positive value." + }, { + "type" : "fix", + "text" : "The download history didn't load properly when the option to delete old searches from the history was set." + } ], + "final" : true +}, { + "version" : "v2.9.5", + "date" : "2019-11-23", + "changes" : [ { + "type" : "feature", + "text" : "I realised the indexer score is too complex to show in a chart and replaced it with a table, that shows more information. It will now contain the average uniqueness score, the number of unique downloads and the number of searches which resulted in a download and where an indexer was involved. " + } ], + "final" : true +}, { + "version" : "v2.9.4", + "date" : "2019-11-21", + "changes" : [ { + "type" : "fix", + "text" : "Further improvements regarding uniqueness score." + } ], + "final" : true +}, { + "version" : "v2.9.3", + "date" : "2019-11-20", + "changes" : [ { + "type" : "feature", + "text" : "Some indexers report their API and download limits in their XMLs. NZBHydra will detect that when the indexer's caps are checked and will automatically fill out the config accordingly (keeping already set values as they are)." + } ], + "final" : true +}, { + "version" : "v2.9.2", + "date" : "2019-11-17", + "changes" : [ { + "type" : "fix", + "text" : "Actually show version dates in the updates page..." + } ], + "final" : true +}, { + "version" : "v2.9.1", + "date" : "2019-11-17", + "changes" : [ { + "type" : "fix", + "text" : "Further adjustment to uniqueness score." + } ], + "final" : true +}, { + "version" : "v2.9.0", + "date" : "2019-11-17", + "changes" : [ { + "type" : "feature", + "text" : "I've updated the indexer uniqueness score calculation so that indexers which are often involved in searches get a higher score than those rarely involved. I also found a bug in the way the data was stored to the database so the old values will be removed." + }, { + "type" : "feature", + "text" : "The changelog now contains release dates along with the version." + }, { + "type" : "feature", + "text" : "Added option to disable update banner when running docker." + } ], + "final" : true +}, { + "version" : "v2.8.4", + "date" : "2019-11-14", + "changes" : [ { + "type" : "fix", + "text" : "Cached torznab results were returned as wrong XML. Also cached torznab and newznab queries could conflict." + } ], + "final" : true +}, { + "version" : "v2.8.3", + "date" : "2019-11-14", + "changes" : [ { + "type" : "fix", + "text" : "Improve logging and handling of torznab/newznab XML transformation." + } ], + "final" : true +}, { + "version" : "v2.8.2", + "date" : "2019-11-13", + "changes" : [ { + "type" : "feature", + "text" : "Support for pourcesoir.in, a french indexer. Their dev approached me with an idea on how to work around laws forbidding hosting NZB files. The indexer provides a certain text for each result using which you will find the result using a raw search engine like binsearch. NZBHydra will display a search icon in the search results GUI via which you can search for the result on Binsearch. I'll be honest, I'm not sure how viable that approach is, but I'm open to new ideas." + }, { + "type" : "fix", + "text" : "Fix pagination display error with." + } ], + "final" : true +}, { + "version" : "v2.8.1", + "date" : "2019-11-11", + "changes" : [ { + "type" : "feature", + "text" : "Allow to define sorting for the search results via URL parameters. Use &sortby= and, optionally, &sortdirection=asc or &sortdirection=desc. This will take preference to the sorting settings saved in a cookie but not overwrite them." + } ], + "final" : true +}, { + "version" : "v2.8.0", + "date" : "2019-11-08", + "changes" : [ { + "type" : "fix", + "text" : "Hydra will use proper HTTP status codes when NZB download fails to signal that an indexer's API limit is reached. This will be recognized by *arr, which will skip the release and try another one. This will also prevent *arr from disabling NZBHydra in such cases." + }, { + "type" : "fix", + "text" : "Fix minor issue in indexer uniqueness score calculation." + } ], + "final" : true +}, { + "version" : "v2.7.7", + "date" : "2019-11-04", + "changes" : [ { + "type" : "fix", + "text" : "Indexer uniqueness score had wrong axis labels in the stats page." + } ], + "final" : true +}, { + "version" : "v2.7.6", + "date" : "2019-11-04", + "changes" : [ { + "type" : "feature", + "text" : "Restore the indexer uniqueness score introduced with 2.7.0 and then rolled back due to database migration problems. The database is now restored on startup which should prevent any migration errors. The startup will take a while for this update." + } ], + "final" : true +}, { + "version" : "v2.7.5", + "date" : "2019-10-30", + "changes" : [ { + "type" : "fix", + "text" : "Fix 'You're not allowed...' error caused by the fix in 2.7.4... :-/" + } ], + "final" : true +}, { + "version" : "v2.7.4", + "date" : "2019-10-29", + "changes" : [ { + "type" : "fix", + "text" : "Fix 'You're not allowed...' error related to security cookie. Thanks to /u/routhinator for the hint." + } ], + "final" : true +}, { + "version" : "v2.7.3", + "date" : "2019-10-27", + "changes" : [ { + "type" : "feature", + "text" : "Added option to configure cover width in search results." + }, { + "type" : "fix", + "text" : "TMDB capabilities were not correctly checked." + }, { + "type" : "note", + "text" : "I've added instructions to send one-time donations via PayPal and recurring donations via Github Sponsors." + } ], + "final" : true +}, { + "version" : "v2.7.2", + "date" : "2019-10-06", + "changes" : [ { + "type" : "fix", + "text" : "I had to revert the changes from 2.7.0 because for some reason some databases could not be migrated. I'll need to take a closer look first, sorry." + } ], + "final" : true +}, { + "version" : "v2.7.1", + "date" : "2019-10-06", + "changes" : [ { + "type" : "fix", + "text" : "Hopefully fix a problem which might prevent a successful database migration for some instances." + } ], + "final" : true +}, { + "version" : "v2.7.0", + "date" : "2019-10-06", + "changes" : [ { + "type" : "feature", + "text" : "I've added a new statistics value called \"Indexer result uniqueness score\" (which is is a mouthful, if you have a better name please let me know). This score attempts to answer the question: Which indexer should I keep and which can I let go? See the wiki for more information. The score will only work for new downloads." + } ], + "final" : true +}, { + "version" : "v2.6.18", + "date" : "2019-09-29", + "changes" : [ { + "type" : "feature", + "text" : "Add global cache time config parameter" + } ], + "final" : true +}, { + "version" : "v2.6.17", + "date" : "2019-09-07", + "changes" : [ { + "type" : "feature", + "text" : "Allow indexers to be used only for API update queries" + }, { + "type" : "feature", + "text" : "Allow regular expressions to be used in the search results title filter" + } ], + "final" : true +}, { + "version" : "v2.6.16", + "date" : "2019-09-05", + "changes" : [ { + "type" : "fix", + "text" : "Fix problems with special characters when using autocomplete" + } ], + "final" : true +}, { + "version" : "v2.6.15", + "date" : "2019-09-04", + "changes" : [ { + "type" : "fix", + "text" : "Fix form auth and remember-me cookies" + } ], + "final" : true +}, { + "version" : "v2.6.14", + "date" : "2019-08-12", + "changes" : [ { + "type" : "fix", + "text" : "Minor changes" + } ], + "final" : true +}, { + "version" : "v2.6.13", + "date" : "2019-08-12", + "changes" : [ { + "type" : "fix", + "text" : "Hopefully fix error with CookieTheftException introduced with v2.6.12" + } ], + "final" : true +}, { + "version" : "v2.6.12", + "date" : "2019-08-04", + "changes" : [ { + "type" : "features", + "text" : "Allow limiting the indexers to be used via API. Use \"&indexers=,\"." + }, { + "type" : "fix", + "text" : "Reduce how long sessions are kept open, possible reducing memory usage in some cases" + } ], + "final" : true +}, { + "version" : "v2.6.11", + "date" : "2019-06-09", + "changes" : [ { + "type" : "fix", + "text" : "Improve handling and performance of wildcards for removal of trailing words" + }, { + "type" : "fix", + "text" : "Added option to define how long Hydra will try to compress the database file when shutting down. With big databases shutting down may take up to 15 seconds by default. I'm still working on analyzing why some databases grow very large. Until I've found a way to prevent the root cause this option may help a bit but it will still require Hydra to shut down (or restart)" + } ], + "final" : true +}, { + "version" : "v2.6.10", + "date" : "2019-05-21", + "changes" : [ { + "type" : "fix", + "text" : "Changing result selection using \"Invert selection\" and \"Select/deselect all\" wasn't properly registered, making mass download buttons unusable" + }, { + "type" : "fix", + "text" : "Error on startup on headless windows server" + } ], + "final" : true +}, { + "version" : "v2.6.9", + "date" : "2019-05-17", + "changes" : [ { + "type" : "fix", + "text" : "Remove trailing didn't work with words containing \"s\"... How do you explain stuff to that to non-programmers..." + }, { + "type" : "fix", + "text" : "USe localhost:8080 as preset sabNZBd URL" + } ], + "final" : true +}, { + "version" : "v2.6.8", + "date" : null, + "changes" : [ { + "type" : "fix", + "text" : "IMDB link in search history was invalid" + } ], + "final" : true +}, { + "version" : "v2.6.7", + "date" : "2019-05-15", + "changes" : [ { + "type" : "fix", + "text" : "Hopefully fix corruption of nzbhydra.yml when machine crashes (or user switches off power deliberately -.-)" + } ], + "final" : true +}, { + "version" : "v2.6.6", + "date" : "2019-05-14", + "changes" : [ { + "type" : "fix", + "text" : "Fix NoClassDefFoundError (only occurred with HTTP logging marker enabled)" + } ], + "final" : true +}, { + "version" : "v2.6.5", + "date" : "2019-05-14", + "changes" : [ { + "type" : "fix", + "text" : "Fix shift-click for selecting multiple results." + } ], + "final" : true +}, { + "version" : "v2.6.4", + "date" : "2019-05-14", + "changes" : [ { + "type" : "fix", + "text" : "Searches will always use the IDs provided in API calls and not replace them by different IDs provided by IMDB or TVMaze. In very few instances TVMaze had wrong IDs mapped which resulted in wrong searches." + }, { + "type" : "fix", + "text" : "Entering domains to bypass when using proxy didn't work." + }, { + "type" : "fix", + "text" : "Selecting multiple results in the same title group was not accepted." + } ], + "final" : true +}, { + "version" : "v2.6.3", + "date" : "2019-05-13", + "changes" : [ { + "type" : "feature", + "text" : "Extended logging for download status updates." + }, { + "type" : "feature", + "text" : "Allow wildcards in \"Remove trailing...\"" + }, { + "type" : "fix", + "text" : "Disable HSTS security header" + } ], + "final" : true +}, { + "version" : "v2.6.2", + "date" : "2019-05-05", + "changes" : [ { + "type" : "fix", + "text" : "The warning that the wrapper is outdated will be also displayed in the updates section. You can also choose to be reminded again." + }, { + "type" : "fix", + "text" : "Update link to Font Awesome in downloader config to the version actually supported." + } ], + "final" : true +}, { + "version" : "v2.6.1", + "date" : "2019-05-02", + "changes" : [ { + "type" : "feature", + "text" : "Allow indexers to be enabled for all searches but API update searches, i.e. those periodically done by Sonarr and others to get the latest releases." + }, { + "type" : "fix", + "text" : "Correctly report torznab caps (taking into regard only torznab indexers). Also disregard any disabled indexers or those not enabled for API searches and include IDs convertible to any of the supported IDs." + } ], + "final" : true +}, { + "version" : "v2.6.0", + "date" : "2019-05-01", + "changes" : [ { + "type" : "feature", + "text" : "Warn when using config that violates indexer rules and that will result in your API account being disabled." + }, { + "type" : "feature", + "text" : "Support IMDB IDs for TV search. This seems to be supported by few indexers but by many trackers." + }, { + "type" : "feature", + "text" : "Add option to ignore load limiting for internal searches." + }, { + "type" : "feature", + "text" : "Sort indexers in config by state first, then score, then name." + }, { + "type" : "fix", + "text" : "NZBHydra used to always report all ID types (e.g. IMDB IDs) in the caps to be supported. Now IDs will only be reported as supported if either at least one configured indexer supports it or query generation is enabled." + }, { + "type" : "fix", + "text" : "Prevent log file download from accessing files outside data folder." + }, { + "type" : "fix", + "text" : "Parse indexer results with provided passwords correctly (although they don't follow the spec...)." + } ], + "final" : true +}, { + "version" : "v2.5.9", + "date" : "2019-04-27", + "changes" : [ { + "type" : "fix", + "text" : "I used a discord invitation link that expires after one day. Use this one: [https://discord.gg/uh9W3rd](https://discord.gg/uh9W3rd)." + } ], + "final" : true +}, { + "version" : "v2.5.8", + "date" : "2019-04-27", + "changes" : [ { + "type" : "feature", + "text" : "Recognize when an outdated wrapper is being used and ask the user to update it manually." + }, { + "type" : "fix", + "text" : "Don't complain about mixed newznab and torznab results when adding Anime Tosho." + }, { + "type" : "fix", + "text" : "Removed nzbs.org from the presets :-( RIP" + } ], + "final" : true +}, { + "version" : "v2.5.7", + "date" : "2019-04-27", + "changes" : [ { + "type" : "feature", + "text" : "Attempt to automatically detect certain problems and inform the user (admin) about it. For now this will only detect OutOfMemory errors which cannot be properly handled when they occur." + }, { + "type" : "fix", + "text" : "Disable the grouping of TV results by episode when searching for a specific episode. Also show information about the grouping the first time it is used." + }, { + "type" : "note", + "text" : "The python wrapper nzbhydra2wrapper.py which is the main entry point for the program is now included in the linux release. If you start Hydra using that python file it will be updated automatically although changes will only take effect after the next restart of the main process." + }, { + "type" : "note", + "text" : "I was asked for a discord channel. This is it: [https://discord.gg/uh9W3rd](https://discord.gg/uh9W3rd). I can't promise I'll be the regularly but feel free to join. Some users there and on reddit are always willing to help (thanks, guys!)." + } ], + "final" : true +}, { + "version" : "v2.5.6", + "date" : null, + "changes" : [ { + "type" : "fix", + "text" : "Provide a (better) error message when clicking the infos for a show with TVRage ID for which no infos could be found." + } ], + "final" : true +}, { + "version" : "v2.5.5", + "date" : "2019-04-17", + "changes" : [ { + "type" : "feature", + "text" : "Option to log/display hosts instead of IP addresses. I haven't found a proper way of testing this so let me know if it works ;-)" + } ], + "final" : true +}, { + "version" : "v2.5.4", + "date" : "2019-04-16", + "changes" : [ { + "type" : "fix", + "text" : "Allow empty movie searches for NZBPlanet which should result in covers being shown." + } ], + "final" : true +}, { + "version" : "v2.5.3", + "date" : "2019-04-16", + "changes" : [ { + "type" : "fix", + "text" : "Update of downloader status failed with newsbin (which claims to be compatible with the sabnzbd API)." + } ], + "final" : true +}, { + "version" : "v2.5.2", + "date" : "2019-04-15", + "changes" : [ { + "type" : "fix", + "text" : "Minor downloader status bar related fixes." + } ], + "final" : true +}, { + "version" : "v2.5.1", + "date" : "2019-04-14", + "changes" : [ { + "type" : "feature", + "text" : "Display status of configured downloader on the bottom of the page. This can be disabled in the downloading config. If multiple downloaders are configured the first one is used." + }, { + "type" : "fix", + "text" : "Toggling the grouping of TV episodes or the display of TV/movie covers will take effect without having to reload the search." + } ], + "final" : true +}, { + "version" : "v2.4.4", + "date" : "2019-04-12", + "changes" : [ { + "type" : "feature", + "text" : "Reduced font size across the board to fit more results / buttons / whatever on the page. Let me know if it's too tiny :-)" + }, { + "type" : "fix", + "text" : "Add 6box and NZBPlanet to list of indexers which do not support TV or movie searches without identifiers." + } ], + "final" : true +}, { + "version" : "v2.4.3", + "date" : "2019-04-10", + "changes" : [ { + "type" : "fix", + "text" : "Make sure that 100 rows are shown when grouping results (either by season/episode or by title)." + }, { + "type" : "fix", + "text" : "Passwords for users were not properly migrated from v1." + } ], + "final" : true +}, { + "version" : "v2.4.2", + "date" : "2019-04-10", + "changes" : [ { + "type" : "fix", + "text" : "As is tradition every feature release (2.4.0) is followed by a couple of bug fix releases... The tv episode sorting should not throw any errors now and actually work properly :-)" + } ], + "final" : true +}, { + "version" : "v2.4.1", + "date" : "2019-04-10", + "changes" : [ { + "type" : "fix", + "text" : "Daily episodes (like 04/08) were not parsed correctly, resulting in an error (see 2.4.0 feature)." + } ], + "final" : true +}, { + "version" : "v2.4.0", + "date" : "2019-04-09", + "changes" : [ { + "type" : "feature", + "text" : "When searching in the TV categories in the GUI by default the results will be grouped by season & episode instead of by title. This should make it easier to select one result for every episode which is usually what you want. This behavior can be switched off in the display options (do a new search after the switch)." + }, { + "type" : "fix", + "text" : "Minor improvements to colors in bright theme." + } ], + "final" : true +}, { + "version" : "v2.3.22", + "date" : "2019-04-04", + "changes" : [ { + "type" : "feature", + "text" : "Logging marker to log HTTPS related stuff on debug level." + }, { + "type" : "fix", + "text" : "Removed an SSL related parameter from the wrapper. I already did this months ago but forgot to update the binary for linux. So if you have problems with SSL and are running Hydra on linux (not in docker) you might want to update the binary. This needs to be done manually." + } ], + "final" : true +}, { + "version" : "v2.3.21", + "date" : "2019-03-31", + "changes" : [ { + "type" : "feature", + "text" : "Option to send the mapped category name to downloaders." + }, { + "type" : "fix", + "text" : "/api/stats/indexers endpoint was accessible without authorization." + }, { + "type" : "fix", + "text" : "Show unit for average response times in stats (ms)." + } ], + "final" : true +}, { + "version" : "v2.3.20", + "date" : null, + "changes" : [ { + "type" : "fix", + "text" : "Revert revert because, as it turns out, it wasn't the libary at fault but the new version just failed to read a file already corrupted." + } ], + "final" : true +}, { + "version" : "v2.3.19", + "date" : "2019-03-20", + "changes" : [ { + "type" : "fix", + "text" : "Revert update of database library as it caused errors on startup in some issues." + } ], + "final" : true +}, { + "version" : "v2.3.18", + "date" : "2019-03-18", + "changes" : [ { + "type" : "fix", + "text" : "Not all API keys were anonymized when creating the debug infos." + } ], + "final" : true +}, { + "version" : "v2.3.17", + "date" : "2019-03-17", + "changes" : [ { + "type" : "feature", + "text" : "Binsearch is knowing for returning a 503 error every now and then. In that case Hydra will retry the search up to two times." + }, { + "type" : "fix", + "text" : "An indexer not selected due to load limiting was displayed as being disabled in the GUI." + }, { + "type" : "fix", + "text" : "Reduce frequency of config file being written." + } ], + "final" : true +}, { + "version" : "v2.3.16", + "date" : "2019-03-14", + "changes" : [ { + "type" : "fix", + "text" : "Add database index to improve loading of search history on initial page load." + }, { + "type" : "fix", + "text" : "Try to prevent config file from being corrupted." + } ], + "final" : true +}, { + "version" : "v2.3.15", + "date" : "2019-02-16", + "changes" : [ { + "type" : "note", + "text" : "I need to make something clear: If Hydra shows you 100 results on the GUI and says that x results are not yet loaded then that means that some results you're looking for may be missing. You will always only get the newest 100 results from any indexer at first. Even if you sort by name then other results which should be somewhere in that list may be 'hidden' because they were not yet retrieved from the indexer." + }, { + "type" : null, + "text" : "Delay writing of config file so that not too many concurrent writes occur. This should hopefully reduce the risk of file corruption." + } ], + "final" : true +}, { + "version" : "v2.3.14", + "date" : "2019-02-15", + "changes" : [ { + "type" : "fix", + "text" : "Change how SNI verification is disabled so that nzbgeek.info should work with Java 10+." + }, { + "type" : "fix", + "text" : "Fix NZBIndex parsing. Thanks to BenoitCharret." + } ], + "final" : true +}, { + "version" : "v2.3.13", + "date" : "2019-02-12", + "changes" : [ { + "type" : "feature", + "text" : "Improve HTTP debug logging" + }, { + "type" : "fix", + "text" : "Revert some more SSL related changes. If you still have problems connecting to indexer please manually update the binaries. Unfortunately the update process can't do that." + } ], + "final" : true +}, { + "version" : "v2.3.12", + "date" : "2019-02-10", + "changes" : [ { + "type" : "fix", + "text" : "I don't know if I should laugh or cry, but the last version actually made matters worse as 2.3.11 is unable to connect to GitHub (among others) which disables the built in update function. So if you read this and don't run docker, you'll have to update manually." + } ], + "final" : true +}, { + "version" : "v2.3.11", + "date" : "2019-02-10", + "changes" : [ { + "type" : "fix", + "text" : "Cautiously optimistic that *some* SSL issues have been solved... ;-)" + }, { + "type" : "fix", + "text" : "When implementing the display of covers I managed to mistakenly think that posters and covers are the same. Actually the poster in this context is the uploader but my code used the poster (username) as cover URL. If you've disabled the display of 'posters' in the search results you'll have to disable it again." + } ], + "final" : true +}, { + "version" : "v2.3.10", + "date" : "2019-02-09", + "changes" : [ { + "type" : "fix", + "text" : "Fix another issue with SSL. I should probably pause development until I'm fit of mind enough to do this properly..." + } ], + "final" : true +}, { + "version" : "v2.3.9", + "date" : "2019-02-09", + "changes" : [ { + "type" : "fix", + "text" : "Revert SSL changes made in 2.3.7 as Hydra didn't start for some users. I give up." + } ], + "final" : true +}, { + "version" : "v2.3.8", + "date" : "2019-02-09", + "changes" : [ { + "type" : "fix", + "text" : "Updated executable to provide a java flag which should fix SSL related problems introduced with 2.3.7. If you're not running Hydra inside a container you may need to manually update the binary (nzbhydra*.exe or just nzbhydra on linux)" + } ], + "final" : true +}, { + "version" : "v2.3.7", + "date" : "2019-02-09", + "changes" : [ { + "type" : "fix", + "text" : "Changed the way SSL certificates are checked. Connection to indexers like NZBGeek or althub should now work as expected. Removed the option 'Disable SNI'." + }, { + "type" : "fix", + "text" : "Count API hits used for connection and caps checks when calculating hit limits." + }, { + "type" : "fix", + "text" : "When results are sorted by title the title groups are now sorted by indexer score instead of age, meaning results from the indexer with the highest score are shown when the title group is collapsed." + } ], + "final" : true +}, { + "version" : "v2.3.6", + "date" : "2019-02-06", + "changes" : [ { + "type" : "fix", + "text" : "The audio category was preconfigured to require both mp3 and flac in the results which doesn't make any sense. You might want to remove them in your category config." + }, { + "type" : "fix", + "text" : "Old downloads were not removed from history even if the option to only keep them for a certain time was set." + }, { + "type" : "fix", + "text" : "Check cover/poster URLs provided by indexers to catch some invalid URLs." + } ], + "final" : true +}, { + "version" : "v2.3.5", + "date" : "2019-02-05", + "changes" : [ { + "type" : "feature", + "text" : "Show posters for movie results. Can be toggled in the display options." + } ], + "final" : true +}, { + "version" : "v2.3.4", + "date" : "2019-01-31", + "changes" : [ { + "type" : "fix", + "text" : "Move cancel button in dialog shown while searching because you're all too slow to click it." + }, { + "type" : "fix", + "text" : "Prevent database trace file becoming too large" + }, { + "type" : "fix", + "text" : "Keep less gclog files in the log folder" + } ], + "final" : true +}, { + "version" : "v2.3.3", + "date" : "2019-01-28", + "changes" : [ { + "type" : "fix", + "text" : "Connection to hosts like 'sabnzd' would fail" + } ], + "final" : true +}, { + "version" : "v2.3.2", + "date" : "2019-01-27", + "changes" : [ { + "type" : "fix", + "text" : "2.3.1 didn't start for users updating from 2.2.5 to 2.3.1. Fuck this shit" + } ], + "final" : true +}, { + "version" : "v2.3.1", + "date" : "2019-01-27", + "changes" : [ { + "type" : "fix", + "text" : "2.2.5 unfortunately may have caused database corruption in some cases. Hopefully no more... The fix may need some time the first time this new version is started." + } ], + "final" : true +}, { + "version" : "v2.3.0", + "date" : "2019-01-27", + "changes" : [ { + "type" : "feature", + "text" : "Java 11 is now supported. This required an update of the internal framework which might have some unforseen side effects (bugs), especially regarding authentification and handling of reverse proxies. Let me know if something doesn't work as expected." + }, { + "type" : "feature", + "text" : "Rename searching option 'Ignore temporarily disabled' to 'Ignore temporary errors'. If enabled indexers will not be temporarily disabled at all if a recoverable error occurs." + }, { + "type" : "fix", + "text" : "Opening magnet links under Windows 7 doesn't require administrator rights anymore." + } ], + "final" : true +}, { + "version" : "v2.2.5", + "date" : "2019-01-26", + "changes" : [ { + "type" : "fix", + "text" : "In some cases (with really big databases) the check of the API hit limit could take very long. This was hopefully improved. Migration to this version might take a bit for such instances." + } ], + "final" : true +}, { + "version" : "v2.2.4", + "date" : "2019-01-26", + "changes" : [ { + "type" : "feature", + "text" : "Add indexer specific limit to caps check. Background: RARBG only allows one request every two seconds so the caps check, which until now used two concurrent threads and a delay of 1 second, would result in errors. The limits are hard coded. Hydra will not attempt to do any rate limiting for regular search requests." + } ], + "final" : true +}, { + "version" : "v2.2.3", + "date" : "2019-01-26", + "changes" : [ { + "type" : "feature", + "text" : "Include database metadata in debug infos" + } ], + "final" : true +}, { + "version" : "v2.2.2", + "date" : "2019-01-26", + "changes" : [ { + "type" : "feature", + "text" : "Minor improvements to performance logging" + } ], + "final" : true +}, { + "version" : "v2.2.1", + "date" : "2019-01-21", + "changes" : [ { + "type" : "feature", + "text" : "Improve logging of unparseable indexer responses" + } ], + "final" : true +}, { + "version" : "v2.2.0", + "date" : "2019-01-02", + "changes" : [ { + "type" : "note", + "text" : "This release brings some major changes regarding categories and the handling of newznab categories. Please let me know if it breaks anything or has unexpected side effects (or if you love what I've done ;-))" + }, { + "type" : "feature", + "text" : "Allow combinations of newznab categories which must all be found in a search result for that category to be applied. For example 4090&11000 will only match items with both 4090 and 11000. This should allow for even finer category tuning with trackers accessed via Jackett." + }, { + "type" : "feature", + "text" : "Replace newznab categories incoming API searches with newznab categories of mapped category. For example when you have 2040,2050 configured for Movies HD and a search comes in using 2040 then indexers will be queried using 2040,2050. Until now only the supplied category was used (2040 in the example). This should result in more results to be found and so far I can't tell if it will return just better results or more crap. You can disable this with the 'Transform newznab categories' setting in the searching config." + }, { + "type" : "feature", + "text" : "Related to above: The categories on the caps page are created from the configured categories. To keep this clean only one newznab category will be used for every category (e.g. Movies HD using 2040,2050 will only be included once with 2040 as ID." + }, { + "type" : "fix", + "text" : "Use dereferer for NZB details site" + } ], + "final" : true +}, { + "version" : "v2.1.7", + "date" : "2018-12-30", + "changes" : [ { + "type" : "fix", + "text" : "Fix/improve category mapping introduced in 2.1.6. Use custom newznab categories if none from the predefined range are provided." + } ], + "final" : true +}, { + "version" : "v2.1.6", + "date" : "2018-12-30", + "changes" : [ { + "type" : "fix", + "text" : "When uploading a backup file the UI didn't update to inform the user about the progress after the file was uploaded." + }, { + "type" : "fix", + "text" : "Improve category mapping for (torznab) indexers. Some use custom newznab category numbers (>9999) which could not be properly mapped to preconfigured categories." + } ], + "final" : true +}, { + "version" : "v2.1.5", + "date" : "2018-12-29", + "changes" : [ { + "type" : "fix", + "text" : "Improve handling of movie and tv searches with some indexers (see v2.0.23). I just wish all indexers could work the same... :-/" + }, { + "type" : "fix", + "text" : "Prevent indexers without caps from being caps checked (NZBIndex, Binsearch)" + }, { + "type" : "fix", + "text" : "Improve wording indexer state when disabled by the system due to an error from which it cannot recover automatically" + } ], + "final" : true +}, { + "version" : "v2.1.4", + "date" : "2018-12-28", + "changes" : [ { + "type" : "feature", + "text" : "Allow retrieval of history and stats via API. See https://github.com/theotherp/nzbhydra2/wiki/External-API,-RSS-and-cached-queries" + }, { + "type" : "fix", + "text" : "Repeat of searches from history sometimes used wrong parameters" + }, { + "type" : "fix", + "text" : "Added nzbs.org to list of indexers unable to process type searches without IDs" + } ], + "final" : true +}, { + "version" : "v2.1.3", + "date" : "2018-12-27", + "changes" : [ { + "type" : "fix", + "text" : "Removed dead indexers from presets" + }, { + "type" : "fix", + "text" : "Prevent exception related to duplicate TV infos in database" + } ], + "final" : true +}, { + "version" : "v2.1.2", + "date" : "2018-12-18", + "changes" : [ { + "type" : "fix", + "text" : "Indexer added as newznab indexer even when selected as torznab in the config GUI" + } ], + "final" : true +}, { + "version" : "v2.1.1", + "date" : "2018-12-18", + "changes" : [ { + "type" : "fix", + "text" : "Validate config to prevent indexers with duplicate names" + }, { + "type" : "fix", + "text" : "Validate config to prevent torznab indexers being added as newznab indexer and vice versa" + } ], + "final" : true +}, { + "version" : "v2.1.0", + "date" : "2018-12-15", + "changes" : [ { + "type" : "fix", + "text" : "Search query was not built properly when conversion of search IDs did not provide any IDs usable by an indexer" + }, { + "type" : "feature", + "text" : "Support API caps in JSON" + } ], + "final" : true +}, { + "version" : "v2.0.24", + "date" : "2018-12-14", + "changes" : [ { + "type" : "note", + "text" : "Added NZBGeek to the list mentioned in v2.0.23. Thanks to the user letting me know about it." + } ], + "final" : true +}, { + "version" : "v2.0.23", + "date" : "2018-12-11", + "changes" : [ { + "type" : "note", + "text" : "Previously when an API call with search type 'movie' or 'tvsearch' was made without any identifiers or category I would call indexers with search type 'search' instead because some indexers don't like that. This causes some other problems so I've reverted that behavior except for a certain list of indexers. I have hardcoded list of indexers for which the switch will be done. I'm not sure which indexers actually behave that way. So if you find an indexer where browsing the movie or TV releases (e.g. using NZB360) will return a lot of crap please let me know so I can add the indexer to the list." + }, { + "type" : "note", + "text" : "I've changed the java runtime that is used in the docker container maintained by me (although I actually don't want to really support that...). In my tests it nearly halved memory usage in some scenarios (199MB compared to 380MB). If this proves to be stable I'll recommend the other maintainers to use this as well." + } ], + "final" : true +}, { + "version" : "v2.0.22", + "date" : "2018-12-09", + "changes" : [ { + "type" : "fix", + "text" : "Upload of large ZIP files for restoration was disabled" + } ], + "final" : true +}, { + "version" : "v2.0.21", + "date" : "2018-12-09", + "changes" : [ { + "type" : "feature", + "text" : "Some users have reported corrupted config files. I can't explain how that could ever happen but I've added code that tries to recognize this on startuppu and attempts to repair it automatically" + }, { + "type" : "fix", + "text" : "New instances were not properly initialized, in some instances resulting in a crash on startup. Sorry about that" + } ], + "final" : true +}, { + "version" : "v2.0.20", + "date" : "2018-12-08", + "changes" : [ { + "type" : "feature", + "text" : "Make sure existing configuration or database is not loaded by an older version of a program than it was created with" + } ], + "final" : true +}, { + "version" : "v2.0.19", + "date" : "2018-12-08", + "changes" : [ { + "type" : "fix", + "text" : "Restoration from uploaded backup file wouldn't work" + } ], + "final" : true +}, { + "version" : "v2.0.18", + "date" : "2018-12-05", + "changes" : [ { + "type" : "fix", + "text" : "Details link was hidden even if not restricted by auth config" + }, { + "type" : "fix", + "text" : "Redirects to torrent magnet links are now recognized and properly handled" + }, { + "type" : "fix", + "text" : "Downloads of NZBs with spaces in the filename are now properly handled" + }, { + "type" : "fix", + "text" : "Suffix NZBs sent to sabnzbd with .nzb to increase compatibility with newsbin" + } ], + "final" : true +}, { + "version" : "v2.0.17", + "date" : "2018-11-22", + "changes" : [ { + "type" : "feature", + "text" : "Automatic update. This feature has been requested for ages. Ironically, now that I rarely release new versions I've finally implemented it. It's opt-in for now even though the update process has been really stable for a while. Now that the startup is faster Hydra shouldn't be unavailable during the update process for more than 20 seconds or so. Any tools calling during that time should recover fine." + }, { + "type" : "fix", + "text" : "Make sure to load resources from TVMaze using HTTPS" + }, { + "type" : "fix", + "text" : "Handle (invalid) spaces in URLs" + } ], + "final" : true +}, { + "version" : "v2.0.16", + "date" : "2018-11-21", + "changes" : [ { + "type" : "fix", + "text" : "Size tag was not forwarded from torznab results" + } ], + "final" : true +}, { + "version" : "v2.0.15", + "date" : "2018-11-02", + "changes" : [ { + "type" : "fix", + "text" : "ID lookup for TV shows didn't always work" + } ], + "final" : true +}, { + "version" : "v2.0.14", + "date" : "2018-11-02", + "changes" : [ { + "type" : "note", + "text" : "The URL base has to start with a / from now on. Configs without URL base will be migrated" + }, { + "type" : "fix", + "text" : "ID based TV search from GUI would sometimes ignore ID" + } ], + "final" : true +}, { + "version" : "v2.0.13", + "date" : "2018-10-26", + "changes" : [ { + "type" : "feature", + "text" : "Warn when changing the host to an invalid IP" + }, { + "type" : "fix", + "text" : "api.althub.co.za should hopefully actually work now" + } ], + "final" : true +}, { + "version" : "v2.0.12", + "date" : "2018-10-24", + "changes" : [ { + "type" : "fix", + "text" : "SSL error when accessing althub from docker. Should be fixed with the setting to use the packaged cacerts file enabled" + }, { + "type" : "fix", + "text" : "Detection and handling of required restart after changing config was broken" + } ], + "final" : true +}, { + "version" : "v2.0.11", + "date" : "2018-10-23", + "changes" : [ { + "type" : "feature", + "text" : "Allow to disable SSL verification only for certain hosts" + }, { + "type" : "feature", + "text" : "Warn when host is changed from 0.0.0.0 and run in docker. This seems to cause some problems" + } ], + "final" : true +}, { + "version" : "v2.0.10", + "date" : "2018-10-20", + "changes" : [ { + "type" : "fix", + "text" : "Sometimes search IDs would be used even if the indexer wasn't configured to use them, resulting in failing searches" + } ], + "final" : true +}, { + "version" : "v2.0.9", + "date" : "2018-10-06", + "changes" : [ { + "type" : "fix", + "text" : "Caps check with Jackett indexers wouldn't complete properly due to a change in their code" + } ], + "final" : true +}, { + "version" : "v2.0.8", + "date" : "2018-10-01", + "changes" : [ { + "type" : "fix", + "text" : "Adapt database to store long torrent magnet links" + } ], + "final" : true +}, { + "version" : "v2.0.7", + "date" : null, + "changes" : [ { + "type" : "fix", + "text" : "Sabnzbd API key was not migrated" + } ], + "final" : true +}, { + "version" : "v2.0.6", + "date" : "2018-09-26", + "changes" : [ { + "type" : "fix", + "text" : "Torznab queries were limited to 100 results. I've removed the limit altogether. As torznab doesn't require or support paging there's no reason for a request limit" + } ], + "final" : true +}, { + "version" : "v2.0.5", + "date" : "2018-09-14", + "changes" : [ { + "type" : "fix", + "text" : "Adding to downloader via result button would always show failed (introduced with 2.0.3)" + } ], + "final" : true +}, { + "version" : "v2.0.4", + "date" : "2018-09-13", + "changes" : [ { + "type" : "fix", + "text" : "Improved feedback when adding NZBs to downloader failed" + } ], + "final" : true +}, { + "version" : "v2.0.3", + "date" : "2018-09-05", + "changes" : [ { + "type" : "fix", + "text" : "In some cases an incorrect NZB URL was used for downloads" + }, { + "type" : "fix", + "text" : "Saving the config would sometimes show confusing or wrong warnings" + }, { + "type" : "fix", + "text" : "Restoring from web UI had no effect" + }, { + "type" : "fix", + "text" : "Category mapping would sometimes not work for incoming searches" + } ], + "final" : true +}, { + "version" : "v2.0.2", + "date" : null, + "changes" : [ { + "type" : "fix", + "text" : "Minor stability improvements" + } ], + "final" : true +}, { + "version" : "v2.0.1", + "date" : "2018-08-19", + "changes" : [ { + "type" : "fix", + "text" : "New installations would generate a faulty default configuration, resulting in failed searches" + } ], + "final" : true +}, { + "version" : "v2.0.0", + "date" : "2018-08-18", + "changes" : [ { + "type" : "feature", + "text" : "NZBHydra 2 can now run with Java 8, 9 or 10. It shouldn't matter much which version you use as long as it's up to date. If you want to use 9 or 10 you'll need to manually update the wrapper (i.e. the executable(s) in the main folder)" + }, { + "type" : "feature", + "text" : "Reduced startup time. My instance starts in 8 seconds instead of 22 but YRMV" + }, { + "type" : "feature", + "text" : "I updated the underlying libraries and main framework. This doesn't change much for you except that NZBHydra 2 is a bit more future proof and may have some new bugs :-)" + }, { + "type" : "feature", + "text" : "Added an option to keep the history (searches, downloads, stats) only for a certain time (see Searching options). This may reduce the database size and stats calculation time and may improve performance a bit." + }, { + "type" : "fix", + "text" : "Hydra will correctly recognize if run in the windows program files folder" + }, { + "type" : "fix", + "text" : "When shutting down or restarting Hydra will try to defrag the database file. In some cases this should drastically reduce the database size. It may grow again but for now I don't have a better fix than restarting the instance..." + }, { + "type" : "fix", + "text" : "Remove multiple trailing words from titles if found" + } ], + "final" : true +}, { + "version" : "v1.5.2", + "date" : "2018-07-31", + "changes" : [ { + "type" : "fix", + "text" : "Adding new categories resulted in an exception" + }, { + "type" : "note", + "text" : "Increased the default XMX value to 256" + } ], + "final" : true +}, { + "version" : "v1.5.1", + "date" : "2018-06-11", + "changes" : [ { + "type" : "fix", + "text" : "Adding of downloaders to config was broken with last version" + } ], + "final" : true +}, { + "version" : "v1.5.0", + "date" : "2018-06-10", + "changes" : [ { + "type" : "feature", + "text" : "Redesigned the button to add new indexers. Inspired by Sonarr" + }, { + "type" : "feature", + "text" : "When a torrent black hole is configured magnet links will be saved as files there. Let me know if you need a switch to disable that. Thanks to wh0cares" + }, { + "type" : "fix", + "text" : "Config validation was not executed properly, sometimes allowing invalid values or even preventing the config from being changed" + }, { + "type" : "note", + "text" : "Added a small note to the readme that \"linux\" releases mean any platform but windows. Renaming the releases would break updates for running instances" + } ], + "final" : true +}, { + "version" : "v1.4.18", + "date" : "2018-05-22", + "changes" : [ { + "type" : "fix", + "text" : "Previous version was missing readme.md which resulted in broken updates" + } ], + "final" : true +}, { + "version" : "v1.4.16", + "date" : "2018-05-22", + "changes" : [ { + "type" : "fix", + "text" : "Small error in API? help from last version" + } ], + "final" : true +}, { + "version" : "v1.4.15", + "date" : "2018-05-22", + "changes" : [ { + "type" : "feature", + "text" : "Support animetosho (both newznab and torznab)" + }, { + "type" : "feature", + "text" : "Add small 'API?' button in config to display newznab and torznab endpoints and the api key" + } ], + "final" : true +}, { + "version" : "v1.4.14", + "date" : "2018-05-21", + "changes" : [ { + "type" : "fix", + "text" : "Error with TMDB IDs introduced with last version" + }, { + "type" : "note", + "text" : "In some cases long running instances of Hydra use a lot of CPU when they should be idle. I've made some changes which should reduce the problem to a degree. Please let me know at https://github.com/theotherp/nzbhydra2/issues/96 if you have similar problems or, even better, if they've gone away with this version" + } ], + "final" : true +}, { + "version" : "v1.4.13", + "date" : "2018-05-12", + "changes" : [ { + "type" : "fix", + "text" : "Conversion of IMDB to TMDB ID failed with missing tt prefix" + } ], + "final" : true +}, { + "version" : "v1.4.12", + "date" : "2018-05-05", + "changes" : [ { + "type" : "fix", + "text" : "Prevent database error when ignoring too many updates..." + } ], + "final" : true +}, { + "version" : "v1.4.11", + "date" : "2018-05-05", + "changes" : [ { + "type" : "fix", + "text" : "Prevent rare database error when converting between movie IDs" + }, { + "type" : "fix", + "text" : "Prevent API keys from leaking in debug infos ZIP when included in last error property" + } ], + "final" : true +}, { + "version" : "v1.4.10", + "date" : "2018-05-05", + "changes" : [ { + "type" : "feature", + "text" : "Option to disable download status updates. *Might* help in some rare cases where CPU usage is high when NZBHydra2 is supposed to idle" + } ], + "final" : true +}, { + "version" : "v1.4.9", + "date" : null, + "changes" : [ { + "type" : "fix", + "text" : "Log levels for console and file were not honored properly." + } ], + "final" : true +}, { + "version" : "v1.4.8", + "date" : "2018-03-17", + "changes" : [ { + "type" : "note", + "text" : "Updated the wrapper to create a memory dump file if the main process crashes when it's out of memory. As before you need to update the wrapper manually (except when you use docker and don't use the internal update mechanism). This is not strictly necessary but will improve chances of me debugging memory problems." + } ], + "final" : true +}, { + "version" : "v1.4.7", + "date" : "2018-03-14", + "changes" : [ { + "type" : "fix", + "text" : "Bug in internal logic would throw exception and cause indexers to be disabled for no reason" + }, { + "type" : "fix", + "text" : "API hit limit reached on omg would disable indexer permanently" + }, { + "type" : "fix", + "text" : "Indexer config state would change when switching config tabs" + }, { + "type" : "fix", + "text" : "Indexer priority field was not displayed in config" + } ], + "final" : true +}, { + "version" : "v1.4.6", + "date" : "2018-03-08", + "changes" : [ { + "type" : "feature", + "text" : "Prepend words in the results filter box with ! to exclude them" + }, { + "type" : "fix", + "text" : "Shift-click for selecting multiple results in a row didn't work on firefox" + } ], + "final" : true +}, { + "version" : "v1.4.5", + "date" : "2018-03-05", + "changes" : [ { + "type" : "fix", + "text" : "Improve caps check for some results using a TV show's initialism instead of the full name in the title" + } ], + "final" : true +}, { + "version" : "v1.4.4", + "date" : "2018-02-27", + "changes" : [ { + "type" : "fix", + "text" : "Handle LL searches better that request a general category and a subcategory (e.g. 7000,7020)" + } ], + "final" : true +}, { + "version" : "v1.4.3", + "date" : "2018-02-23", + "changes" : [ { + "type" : "fix", + "text" : "Migration failed because of missing datatabase table" + } ], + "final" : true +}, { + "version" : "v1.4.2", + "date" : "2018-02-17", + "changes" : [ { + "type" : "fix", + "text" : "Allow configuration of basic auth credentials for jackett" + } ], + "final" : true +}, { + "version" : "v1.4.1", + "date" : "2018-02-13", + "changes" : [ { + "type" : "fix", + "text" : "Indexers with incomplete config were shown in selection list but not actually usable" + }, { + "type" : "fix", + "text" : "Some issues with indexers not beeing reenabled and some confusing messages being shown. The whole thing with indexers being disabled after errors is still a bit wonky" + }, { + "type" : "fix", + "text" : "Some potential memory leaks" + } ], + "final" : true +}, { + "version" : "v1.4.0", + "date" : "2018-02-10", + "changes" : [ { + "type" : "feature", + "text" : "Rewrote the display of indexer statuses. An indexer's status is now displayed in the indexer config section (where you would probably expect it). The 'Enabled' switch was extended and now will show one of the states 'Enabled', 'Temporarily disabled', 'Permanently disabled' or 'User disabled' and an explanation. THe Indexer statuses view does still show alle the indexers' statuses but is less cluttered" + }, { + "type" : "feature", + "text" : "Show search results filter box in table header because some users didn't find the filter icons" + }, { + "type" : "fix", + "text" : "Prevent weird 'Unexpected error in hydra code. Sorry...'" + } ], + "final" : true +}, { + "version" : "v1.3.3", + "date" : "2018-02-08", + "changes" : [ { + "type" : "feature", + "text" : "Improve conversion of newznab categories to internal categories" + }, { + "type" : "fix", + "text" : "Exception in migration when providing no database file even when migration of database was requested" + }, { + "type" : "feature", + "text" : "Allow loading of UI files from local folder to allow proper development of UI" + } ], + "final" : true +}, { + "version" : "v1.3.2", + "date" : "2018-02-05", + "changes" : [ { + "type" : "fix", + "text" : "Settings file was sometimes corrupted (wrong charset) and could not be loaded anymore" + }, { + "type" : "fix", + "text" : "Delete error column in indexer status page when indexer is reenabled" + }, { + "type" : "fix", + "text" : "Button to browse file system for selecting torrent folder would fail on some systems (e.g. docker)" + } ], + "final" : true +}, { + "version" : "v1.3.1", + "date" : "2018-02-04", + "changes" : [ { + "type" : "feature", + "text" : "Display serious errors on windows in message box" + }, { + "type" : "fix", + "text" : "Hopefully reduced chance of empty config files being written" + }, { + "type" : "fix", + "text" : "Handle duplicate results from indexers better (should rarely happen)" + }, { + "type" : "note", + "text" : "NZBHydra will recognize if it's running on windows and in folder like c:\\program files or c:\\program files (x86) and refuse to start. Those folders have special read/write rights which might cause some problems. I recommend putting any programs that are not installed by a setup in a \"regular\" folder" + } ], + "final" : true +}, { + "version" : "v1.3.0", + "date" : "2018-02-03", + "changes" : [ { + "type" : "feature", + "text" : "Experimental feature to use a packaged CA certs file. This probably doesn't concern you but it may solve some SSL related issues with some newer or different JREs" + }, { + "type" : "fix", + "text" : "Sort indexer download shares by share" + }, { + "type" : "fix", + "text" : "Made the migration process a tiny bit more robust wrt wrong input" + }, { + "type" : "fix", + "text" : "Display caps check button for indexers without API key (e.g. spotweb instances). Hide button and search type and ID fields for new indexer. The check is done automatically" + } ], + "final" : true +}, { + "version" : "v1.2.6", + "date" : "2018-02-02", + "changes" : [ { + "type" : "fix", + "text" : "Sabnzbd history could not be properly parsed, preventing download status updates" + } ], + "final" : true +}, { + "version" : "v1.2.5", + "date" : "2018-01-31", + "changes" : [ { + "type" : "fix", + "text" : "Completely fix spotweb support..." + } ], + "final" : true +}, { + "version" : "v1.2.4", + "date" : "2018-01-31", + "changes" : [ { + "type" : "fix", + "text" : "Help headphones parse Hydra's results" + }, { + "type" : "fix", + "text" : "Indexer connection check used empty API key parameter, preventing check to spotweb to work" + } ], + "final" : true +}, { + "version" : "v1.2.3", + "date" : "2018-01-30", + "changes" : [ { + "type" : "fix", + "text" : "Prevent session timeout" + } ], + "final" : true +}, { + "version" : "v1.2.2", + "date" : "2018-01-29", + "changes" : [ { + "type" : "note", + "text" : "I've added debug logging to the wrapper for better, well, debugging of problems related to updating. To enable debug logging create a file DEBUG in the data folder and restart the program. As before, any non-docker installations will need to update the wrapper files manually. I'm working on a better solution." + }, { + "type" : "fix", + "text" : "Adding binsearch/NZBIndex/anizb would fail the connection check" + }, { + "type" : "fix", + "text" : "Periodic check of downloader status was not executed as expected, resulting in incomplete status NZB reports in the history" + }, { + "type" : "fix", + "text" : "Logger sometimes swallowed information when anonymizing data" + } ], + "final" : true +}, { + "version" : "v1.2.1", + "date" : "2018-01-27", + "changes" : [ { + "type" : "note", + "text" : "I've changed how some data is kept in the database. Deleting an indexer will remove it completely from the database, also deleting all related stats, search results and downloads. This might take a while on the next startup or whenever you delete an indexer with many related entries" + }, { + "type" : "feature", + "text" : "Option to delete backups after x weeks. 4 is the default" + }, { + "type" : "fix", + "text" : "Improve layout on mobile devices. Thanks nemchik" + }, { + "type" : "fix", + "text" : "Updated the wrapper to delete older JAR files which previously caused some trouble. Any existing installations will have to update this manually. Docker containers must be updated." + } ], + "final" : true +}, { + "version" : "v1.2.0", + "date" : "2018-01-25", + "changes" : [ { + "type" : "feature", + "text" : "Send torrent magnet links to associated program" + }, { + "type" : "fix", + "text" : "Results without recognizable category were rejected" + } ], + "final" : true +}, { + "version" : "v1.1.4", + "date" : "2018-01-22", + "changes" : [ { + "type" : "fix", + "text" : "Hide torrent black hole buttons for magnet links" + }, { + "type" : "fix", + "text" : "Torrents were sometimes not correctly downloaded and would have extension .nzb" + } ], + "final" : true +}, { + "version" : "v1.1.3", + "date" : "2018-01-21", + "changes" : [ { + "type" : "fix", + "text" : "Fix NZB links not being constructed correctly. Sorry about that" + } ], + "final" : true +}, { + "version" : "v1.1.2", + "date" : "2018-01-21", + "changes" : [ { + "type" : "feature", + "text" : "Improved handling of XML generation for newznab/torznab API calls. Should improve compatibility with calling tools" + }, { + "type" : "feature", + "text" : "Hydra attempts to recognize if it's running inside docker. It will not allow you call the internal update mechanism from the main page. You may still call it from the Updates page but a warning will be shown. Let me know if this works" + }, { + "type" : "fix", + "text" : "The URL code change introduced with 1.1.0 might've caused some problems and should be fixed now" + }, { + "type" : "fix", + "text" : "Sending NZBs from the download history to downloaders didn't work. You'll have to manually choose a category because the original category isn't available in the download history anymore" + }, { + "type" : "fix", + "text" : "NZB filenames were not sanitized before being written to ZIP, resulting in an error" + }, { + "type" : "fix", + "text" : "Improved dialog during update installation (no more error messages when everything is fine, hopefully)" + }, { + "type" : "fix", + "text" : "Download history was not filterable by indexer" + }, { + "type" : "fix", + "text" : "SickBeard/-rage/Medusa did not find all relevant categories. I've changed the way Hydra reports itscategories to calling tools. It follows the predefined categories of the newznab standard." + } ], + "final" : true +}, { + "version" : "v1.1.1", + "date" : "2018-01-17", + "changes" : [ { + "type" : "fix", + "text" : "Fix results not being recognized by SickRage" + }, { + "type" : "fix", + "text" : "The URL code change introduced with 1.1.0 might've caused some problems and should be fixed now" + } ], + "final" : true +}, { + "version" : "v1.1.0", + "date" : "2018-01-15", + "changes" : [ { + "type" : "feature", + "text" : "Completely rewrote handling of scheme, port, host and context path. Should solve some issues and prevent others from happening where reverse proxies are involved. Also extended the Wiki. There's no need to set an external URL anymore. Please report back if this causes any issues" + }, { + "type" : "note", + "text" : "I'll remove the option to send links to downloaders in one of the coming versions. Only upload of NZBs to downloaders will be supported. v2 is capable of handling it without issues and it allows for better control and upload status recognition" + } ], + "final" : true +}, { + "version" : "v1.0.18", + "date" : "2018-01-13", + "changes" : [ { + "type" : "fix", + "text" : "Remove test data left in by mistake" + } ], + "final" : true +}, { + "version" : "v1.0.17", + "date" : "2018-01-13", + "changes" : [ { + "type" : "feature", + "text" : "Don't require restart for change of log level" + }, { + "type" : "feature", + "text" : "Show status updates during update" + }, { + "type" : "fix", + "text" : "In some cases restarting resulted in shutdown. If you are affected by this you will to manually update the wrapper from this release" + }, { + "type" : "fix", + "text" : "In some cases duplicate detection would throw an exception" + }, { + "type" : "feature", + "text" : "Support JSON output for API searches" + } ], + "final" : true +}, { + "version" : "v1.0.16", + "date" : "2018-01-11", + "changes" : [ { + "type" : "fix", + "text" : "Make sure users don't enter an insane download limit value" + }, { + "type" : "fix", + "text" : "Fix forbidden regexes which might've let some results through" + }, { + "type" : "feature", + "text" : "Add option to disable CSRF protection and disable it by default" + } ], + "final" : true +}, { + "version" : "v1.0.15", + "date" : "2018-01-10", + "changes" : [ { + "type" : "feature", + "text" : "Pull NZB download status from configured downloaders instead of relying on extension scripts" + }, { + "type" : "feature", + "text" : "Add button to check caps for all/all incomplete (yellow) indexers" + }, { + "type" : "fix", + "text" : "Anonymize username:password pairs in URLs in logs" + }, { + "type" : "fix", + "text" : "Torznab results were returned wrong, preventing Hydra from being added to radarr" + } ], + "final" : true +}, { + "version" : "v1.0.14", + "date" : "2018-01-09", + "changes" : [ { + "type" : "fix", + "text" : "Gracefully shutdown when restarting or quitting while search requests are handled" + } ], + "final" : true +}, { + "version" : "v1.0.13", + "date" : "2018-01-09", + "changes" : [ { + "type" : "fix", + "text" : "NZBs proxied from indexers were returned with wrong / random seeming file name" + } ], + "final" : true +}, { + "version" : "v1.0.12", + "date" : "2018-01-07", + "changes" : [ { + "type" : "feature", + "text" : "Allow migrating only the config, skipping the database migration" + } ], + "final" : true +}, { + "version" : "v1.0.11", + "date" : "2018-01-07", + "changes" : [ { + "type" : "fix", + "text" : "Fix error in auth introduced in a previous version" + } ], + "final" : true +}, { + "version" : "v1.0.10", + "date" : "2018-01-07", + "changes" : [ { + "type" : "feature", + "text" : "Improve the logging for web exceptions (which are often swallowed which makes debugging harder)" + }, { + "type" : "fix", + "text" : "Name of the category would not update in the category dropdown box on the search page" + }, { + "type" : "fix", + "text" : "Allow searching without a query in the UI" + } ], + "final" : true +}, { + "version" : "v1.0.9", + "date" : "2018-01-07", + "changes" : [ { + "type" : "fix", + "text" : "Allow NZBHydra2 to be shown in an iFrame (e.g. organizr)" + } ], + "final" : true +}, { + "version" : "v1.0.8", + "date" : "2018-01-06", + "changes" : [ { + "type" : "fix", + "text" : "Increase lengths for columns which may contain very long texts (errors, queries)" + } ], + "final" : true +}, { + "version" : "v1.0.7", + "date" : "2018-01-06", + "changes" : [ { + "type" : "fix", + "text" : "Fix bug in wrapper that I introduced in last version. Oh well..." + } ], + "final" : true +}, { + "version" : "v1.0.6", + "date" : "2018-01-06", + "changes" : [ { + "type" : "note", + "text" : "Improve the way the host is determined. External URL should not need to be set when not using a reverse proxy" + }, { + "type" : "note", + "text" : "Remove PyYAML dependency from wrapper" + } ], + "final" : true +}, { + "version" : "v1.0.5", + "date" : "2018-01-06", + "changes" : [ { + "type" : "note", + "text" : "Make migration a bit more stable" + }, { + "type" : "note", + "text" : "Make sure wrapper is started from correct folder" + } ], + "final" : true +}, { + "version" : "v1.0.4", + "date" : "2018-01-06", + "changes" : [ { + "type" : "note", + "text" : "So many fixes" + } ], + "final" : true +}, { + "version" : "v1.0.3", + "date" : "2018-01-06", + "changes" : [ { + "type" : "note", + "text" : "So many fixes" + } ], + "final" : true +}, { + "version" : "v1.0.2", + "date" : "2018-01-06", + "changes" : [ { + "type" : "note", + "text" : "First public release. Welcome!" + } ], + "final" : true +} ] \ No newline at end of file diff --git a/other/mockserver/pom.xml b/other/mockserver/pom.xml index 41ec9ecb5..515c1c6b6 100644 --- a/other/mockserver/pom.xml +++ b/other/mockserver/pom.xml @@ -53,7 +53,7 @@ org.nzbhydra mapping - 4.7.3-SNAPSHOT + 4.7.3 diff --git a/pom.xml b/pom.xml index d405ea837..84adabeeb 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.nzbhydra nzbhydra2 pom - 4.7.3-SNAPSHOT + 4.7.3 shared diff --git a/releases/linux-release/pom.xml b/releases/linux-release/pom.xml index 20cddf1c4..598062cc0 100644 --- a/releases/linux-release/pom.xml +++ b/releases/linux-release/pom.xml @@ -5,7 +5,7 @@ org.nzbhydra releases - 4.7.3-SNAPSHOT + 4.7.3 linux-release @@ -15,7 +15,7 @@ org.nzbhydra core - 4.7.3-SNAPSHOT + 4.7.3 diff --git a/releases/pom.xml b/releases/pom.xml index 08b673437..0bbebd31c 100644 --- a/releases/pom.xml +++ b/releases/pom.xml @@ -4,12 +4,12 @@ org.nzbhydra nzbhydra2 - 4.7.3-SNAPSHOT + 4.7.3 releases pom - 4.7.3-SNAPSHOT + 4.7.3 windows-release diff --git a/releases/windows-release/pom.xml b/releases/windows-release/pom.xml index 7a378fbb7..1e1e91ae6 100644 --- a/releases/windows-release/pom.xml +++ b/releases/windows-release/pom.xml @@ -5,7 +5,7 @@ org.nzbhydra releases - 4.7.3-SNAPSHOT + 4.7.3 windows-release @@ -15,7 +15,7 @@ org.nzbhydra core - 4.7.3-SNAPSHOT + 4.7.3 diff --git a/shared/mapping/pom.xml b/shared/mapping/pom.xml index 3b882f517..7bd5bda26 100644 --- a/shared/mapping/pom.xml +++ b/shared/mapping/pom.xml @@ -5,7 +5,7 @@ org.nzbhydra shared - 4.7.3-SNAPSHOT + 4.7.3 mapping diff --git a/shared/pom.xml b/shared/pom.xml index 38f658063..1cf5a4c41 100644 --- a/shared/pom.xml +++ b/shared/pom.xml @@ -4,12 +4,12 @@ org.nzbhydra nzbhydra2 - 4.7.3-SNAPSHOT + 4.7.3 shared pom - 4.7.3-SNAPSHOT + 4.7.3 mapping diff --git a/tests/pom.xml b/tests/pom.xml index 5c2bc6537..b19e48b0d 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -5,7 +5,7 @@ org.nzbhydra nzbhydra2 - 4.7.3-SNAPSHOT + 4.7.3 tests @@ -31,7 +31,7 @@ org.nzbhydra core - 4.7.3-SNAPSHOT + 4.7.3 okhttp