mirror of
https://github.com/nzbget/nzbget.git
synced 2026-04-21 21:36:52 -04:00
2713 lines
110 KiB
Plaintext
2713 lines
110 KiB
Plaintext
nzbget-14.0-testing:
|
|
- please see subversion log at
|
|
http://sourceforge.net/p/nzbget/code/HEAD/log/
|
|
|
|
nzbget-13.0:
|
|
- reworked download queue:
|
|
- new dialog to build filters in web-interface with instant preview;
|
|
- queue now holds nzb-jobs instead of individual files (contained
|
|
within nzbs);
|
|
- this drastically improves performance when managing queue
|
|
containing big nzb-files on operations such as pause/unpause/move items;
|
|
- tested with queue of 30 nzb-files each 40-100GB size (total queue
|
|
size 1.5TB) - queue managing is fast even on slow device;
|
|
- limitation: individual files (contained within nzbs) now cannot
|
|
be moved beyond nzb borders (in older version it was possible to
|
|
move individual files freely and mix files from different nzbs,
|
|
although this feature was not supported in web-interface and
|
|
therefore was not much known);
|
|
- this change opens doors for further speed optimizations and integration
|
|
of download queue with post-processing queue and possibly url-queue;
|
|
- current download data such as remained size or size of paused files
|
|
is now internally automatically updated on related events (download
|
|
of article is completed, queue edited, etc.);
|
|
- this eliminates the need of calculating this data upon each
|
|
RPC-request (from web-interface) and greatly decrease CPU load
|
|
of processing RPC-requests when having large download queue
|
|
(and/or large nzb-files in queue);
|
|
- field "Priority" was removed from individual files;
|
|
- instead nzb-files (collections) now have field "Priority";
|
|
- nzb-files now also have new fields "MinTime" and "MaxTime", which
|
|
are set when nzb-file is parsed and then kept;
|
|
- this eliminates the need of recalculation file statistics (min and
|
|
max priority, min and max time);
|
|
- removed action "FileSetPriority" from RPC-command "editqueue";
|
|
- removed action "I" from remote command "--edit/-E" for individual
|
|
files (now it is allowed for groups only);
|
|
- removed few (not more necessary) checks from duplicate manager;
|
|
- merged post-processing queue into main download queue;
|
|
- changing the order of (pp-queued) items in the download queue
|
|
now also means changing the order of post-processing jobs;
|
|
- priorities of downloads are now respected when picking the next
|
|
queued post-processing job;
|
|
- the moving of download items in web-interface is now allowed for
|
|
downloads queued for post-processing;
|
|
- removed actions of remote command "--edit/-E" and of RPC-method
|
|
"editqueue" used to move post-processing jobs in the post-processing
|
|
queue (the moving of download items should be used instead);
|
|
- remote command "-E/--edit" and RPC-method "editqueue" now use NZBIDs
|
|
of groups to edit groups (instead of using ID of any file in the
|
|
group as in older versions);
|
|
- remote command "-L/--list" for groups (G) and group-view in
|
|
curses-frontend now print NZBIDs instead of "FirstID-LastID";
|
|
- RPC-method "listgroups" returns NZBIDs in fields "FirstID" and "LastID",
|
|
which are usually used as arguments to "editqueue" (for compatibility
|
|
with existing third-party software);
|
|
- items queued for post-processing and not having any remaining files
|
|
now can be edited (to cancel post-processing), which was not possibly
|
|
before due to lack of "LastID" in empty groups;
|
|
- edit commands for download queue and post-processing queue are now
|
|
both use the same IDs (NZBIDs);
|
|
- merged url queue into main download queue;
|
|
- urls added to queue are now immediately shown in web-interface;
|
|
- urls can be reordered and deleted;
|
|
- when urls are fetched the downloaded nzb-files are put into queue at
|
|
the positions of their urls;
|
|
- this solves the problem with fetched nzb-files ordered differently
|
|
than the urls if the fetching of upper (position wise) urls were
|
|
completed after the lower urls;
|
|
- removed options "ReloadUrlQueue" and "ReloadPostQueue" since there
|
|
are no separate url- and post-queues anymore;
|
|
- nzb-files added via urls have new field "URL" which can be accessed
|
|
via RPC-methods "listgroups" and "history";
|
|
- new env. var. "NZBNP_URL", "NZBNA_URL" and "NZBPP_URL" passed to
|
|
scan-, queue- and pp-scripts;
|
|
- removed remote command "--list U", urls are now shown as groups
|
|
by command "--list G";
|
|
- RPC-method "urlqueue" is still supported for compatibility but
|
|
should not be used since the urls are now returned by method
|
|
"listgroups", the entries have new field "Kind" which can be
|
|
"NZB" or "URL";
|
|
- added collecting of download volume statistics data per news server:
|
|
- in web-interface the data is shown as chart in "Statistics and
|
|
Status" dialog;
|
|
- new RPC-method "servervolumes" returns the collected data;
|
|
- new RPC-method "resetservervolume" to reset the custom counter;
|
|
- fast par-renamer now automatically detects and renames misnamed (obfuscated)
|
|
par2-files;
|
|
- for downloads not having any (obviously named) par2-files the critical
|
|
health is assumed 85% instead of 100% as the absense of par2-files suggests:
|
|
- this avoids the possibly false triggering of health-check action
|
|
(delete or pause) for downloads having misnamed (obfuscated) par2-files;
|
|
- combined with improved fast par-renamer this provides proper
|
|
processing of downloads with misnamed (obfuscated) par2-files;
|
|
- fast par-renamer now detects missing files (files listed in par2-files
|
|
but not present on disk):
|
|
- when checking for missing files the files whose extensions match
|
|
with option "ExtCleanupDisk" are ignored now (to avoid time consuming
|
|
restoring of files which will be deleted later anyway);
|
|
- added option "ParIgnoreExt" which lists files which do not trigger
|
|
par-repair if they are missing (similar to option "ExtCleanupDisk"
|
|
but those files are not deleted during cleanup);
|
|
- added new choice "Always" for option "ParCheck":
|
|
- it forces the par-check for every (even undamaged) download but
|
|
in contrast to choice "Force" only one par2-file is downloaded first;
|
|
- additional files are downloaded if needed;
|
|
- improved par-check for damaged collections with multiple par-sets and
|
|
having missing files:
|
|
- only orphaned files (not belonging to any par-set) are scanned
|
|
when looking for missing files;
|
|
- this greatly decrease the par-check time for big collections;
|
|
- eliminated the distinction between manual pause and soft-pause:
|
|
- there is only one pause register now;
|
|
- options "ParPauseQueue", "UnpackPauseQueue" and "ScriptPauseQueue"
|
|
do not change the state of the pause but instead are respected directly;
|
|
- RPC-methods "pausedownload2" and "resumedownload2" are aliases to
|
|
"pausedownload" and "resumedownload" (kept for compatibility);
|
|
- field "Download2Paused" of RPC-method "status" is an alias to
|
|
"DownloadPaused" (kept for compatibility);
|
|
- action "D2" of remote commands "--pause/-P" and "--unpause/-U"
|
|
is not supported anymore;
|
|
- implemented general scripts concept:
|
|
- the concept is a logical extension of the post-processing scripts
|
|
concept initially introduced in v11;
|
|
- the general scripts concept applies to all scripts used in the
|
|
program: scan-script, queue-script and scheduler-script (in
|
|
addition to post-processing scripts);
|
|
- option "NzbProcess" renamed to "ScanScript";
|
|
- option "NzbAddedProcess" renamed to "QueueScript";
|
|
- option "DefScript" and "CategoryX.DefScript" renamed to
|
|
"PostScript" and "CategoryX.PostScript" (options with old names
|
|
are recognized and automatically converted on first settings saving);
|
|
- new option "TaskX.Script";
|
|
- old option "TaskX.Process" kept for scheduling of external
|
|
programs not related to nzbget (to avoid writing of intermediate
|
|
proxy scripts);
|
|
- scan-script, queue-script and scheduler-script now work similar
|
|
to post-processing scripts:
|
|
- scripts must be put into scripts-directory;
|
|
- scripts can be configured via web-interface and can have options;
|
|
- multiple scripts can be chosen for each scripts-option, all
|
|
chosen scripts are executed;
|
|
- program and script options are passed to the script as
|
|
env. variables;
|
|
- renamed default directory with scripts from "ppscripts" to "scripts";
|
|
- script signature indicates the type of script (post-processing,
|
|
scan, queue or scheduler);
|
|
- one script can have mixed signature allowing it to be used for
|
|
multiple purposes (for example a notification script can send
|
|
a notification on both events: after adding to queue and after
|
|
post-processing);
|
|
- result of RPC-method "configtemplates" has new fields "PostScript",
|
|
"ScanScript", "QueueScript", "SchedulerScript" to indicate the
|
|
purpose of the script;
|
|
- queue-script (formerly NzbAddedProcess) has new parameter
|
|
"NZBNA_EVENT" indicating the reason of calling the script;
|
|
currently the script is called only after adding of files to
|
|
download queue and therefore the parameter is always set to
|
|
"NZB_ADDED" but the queue-script can be called on other events
|
|
in the future too;
|
|
- post-processing scripts now have two new parameters:
|
|
- env. var "NZBPP_STATUS" indicates the status of download including
|
|
the total status (SUCCESS, FAILURE, etc.) and the detail field
|
|
(for example in case of failures: PAR, UNPACK, etc.);
|
|
- env. var "NZBPP_TOTALSTATUS" is equal to the total status of
|
|
parameter "NZBPP_STATUS" and is provided for convenience (to avoid
|
|
parsing of "NZBPP_STATUS");
|
|
- the new parameters provide a simple way for pp-scripts to determine
|
|
download status without a guess work needed in previous versions;
|
|
- parameters "NZBPP_PARSTATUS" and "NZBPP_UNPACKSTATUS" are now
|
|
considered deprecated (still passed for compatibility);
|
|
- updated script "EMail.py" to use new parameters "NZBPP_TOTALSTATUS"
|
|
and "NZBPP_STATUS" instead of "NZBPP_PARSTATUS" and "NZBPP_UNPACKSTATUS";
|
|
- when changing category in web-interface the post-processing parameters
|
|
are now automatically updated according to new category settings:
|
|
- only parameters which are different in old and new category are changed;
|
|
- parameters which present in both or in neither categories are not changed;
|
|
- that ensures that only the relevant parameters are updated and
|
|
parameters which were manually changed by user remain they settings
|
|
when it make sense;
|
|
- in the "download details dialog" the new parameters are updated
|
|
on the postprocess-tab directly after changing of category and
|
|
can be controlled before saving;
|
|
- in the "edit multiple downloads dialog" the parameters are updated
|
|
individually for each download on saving;
|
|
- new action "CP" of remote command "--edit/-E" for groups to set
|
|
category and apply parameters;
|
|
- new action "GroupApplyCategory of RPC-method "editqueue" for
|
|
the same purpose;
|
|
- changed the way option "ContinuePartial" works:
|
|
- now the information about completed articles is stored in a
|
|
special file in QueueDir;
|
|
- when option "DirectWrite" is active no separate flag-files per
|
|
article are created in TempDir;
|
|
- the file contains additional information, which were not
|
|
stored/available before;
|
|
- improved per-server/per-nzb article completion statistics:
|
|
- the statistics are now available for active downloads in details
|
|
dialog (not only for history);
|
|
- the info on that page is constantly updated as long as the page
|
|
is active (unless refresh is disabled);
|
|
- download age info removed from details dialog to save place
|
|
(it is shown in the download list anyway);
|
|
- if backup news-servers start to be used for nzb-file a badge
|
|
appears in the download list showing the percentage of articles
|
|
downloaded from backup servers;
|
|
- click on the badge opens download details dialog directly on
|
|
the completion page;
|
|
- per-server/per-nzb article completion statistics are now
|
|
available via RPC-method "listgroups" for active downloads
|
|
(not only for "history");
|
|
- improved RPC-API:
|
|
- RPC-method "listgroups" now returns info about post-processing
|
|
similar to info returned by method "postqueue";
|
|
- RPC-method "postqueue" is obsolete now;
|
|
- web-interface requires less requests to NZBGet on each page
|
|
update and it is now easier for third-party developers to obtain
|
|
the info about download and post-processing status (no need to
|
|
merge download queue and post queue);
|
|
- RPC-method "listgroups" now returns new field "Status" making it
|
|
easier for third-party apps to determine the status of download entry;
|
|
- new field "Status" in RPC-method "history" to allow third-party
|
|
apps easier determine the status of an item without inspecting
|
|
status-fields of every processing step;
|
|
- changed web-interface to use new field "Status";
|
|
- method "append" now returns id of added nzb-file or "0" on an error;
|
|
- this makes it easier for third-party apps to track added nzb-files;
|
|
- for backward compatibility with older software expecting a boolean
|
|
result the old version of method "append" is still supported;
|
|
- the new version of method "append" has a different signature
|
|
(order of parameters);
|
|
- parameter "content" can now be either nzb-file content (encoded
|
|
in base 64) or an URL;
|
|
- this makes the method "appendurl" obsolete (still supported
|
|
for compatibility);
|
|
- if an URL was added to queue the queue entry created for fetched
|
|
nzb-file has the same "NZBID" for easier tracking;
|
|
- added force-priorities:
|
|
- downloads with priorities equal to or greater than 900 are
|
|
downloaded and post-processed even if the program is in paused
|
|
state (force mode);
|
|
- in web-interface the combo for choosing priority has new entry
|
|
"force" (priority value 900);
|
|
- new fields "ForcedSizeLo", "ForcedSizeHi" and "ForcedSizeMB"
|
|
returned by RPC-method "status";
|
|
- history items now preserve "NZBID" from queue items; that makes
|
|
the tracking of items across queue and history easier for
|
|
third-party apps;
|
|
- field "NZBID" returned by RPC-method "history" is now available
|
|
for history items of all kinds (NZB, URL, DUP); field "ID" is
|
|
deprecated and should not be used;
|
|
- post-processing scripts which move the whole download into a new
|
|
location can inform the program about new location using command
|
|
"[NZB] DIRECTORY=/new/path", allowing other scripts to process files further;
|
|
- added support for power management on windows to avoid pc going into
|
|
sleep mode during download or post-processing;
|
|
- apostrophe is not considered an invalid file name character anymore;
|
|
- adjusted modules initialization to avoid possible bugs due to delayed
|
|
thread starts;
|
|
- reorganized source code directory structure: created directory "daemon"
|
|
with several subdirectories and put all source code files there;
|
|
- added new option "PropagationDelay", which sets the minimum post age
|
|
to download; newer posts are kept on hold in download queue until
|
|
they get older than the defined delay, after that they are downloaded;
|
|
- download speeds above 1024 KB/s are now indicated in MB/s;
|
|
- data sizes above 1000 GB are now shown as TB in web-interface (instead of GB);
|
|
- splitted files are now joined automatically (again);
|
|
- adjusted modules initialization to avoid possible bugs due to delayed
|
|
thread starts;
|
|
- extended info printed by remote command "nzbget -B dump" (for debug
|
|
purposes);
|
|
- eliminated loop waiting time in queue coordinator on certain
|
|
conditions - may improve performance on very high speed connections;
|
|
- increased few wait intervals which were unnecessary too small;
|
|
- improved error reporting: added error check when closing article
|
|
file for writing and when deleting files or directories;
|
|
- when building nzbget if both OpenSSL and GnuTLS are available now
|
|
using OpenSSL by default (the preferred library can still be selected
|
|
with configure-parameter --with-tlslib=OpenSSL/GnuTLS);
|
|
- windows version is now configured to use OpenSSL instead of GnuTLS;
|
|
windows binaries provided on download page now use OpenSSL;
|
|
- column "age" in web-interface now shows minutes for recent posts
|
|
(instead of "0 h");
|
|
- remote command "-B dump" now can be used also in release (non-debug)
|
|
versions and prints useful debug data as "INFO" instead of "DEBUG";
|
|
- to detect daylight saving activation/deactivation the time zone
|
|
information is now checked every minute if a download is active or
|
|
once in 3 hours if the program is in stand-by; these delays should
|
|
work well with hibernation mode on synology);
|
|
- pp-script "EMail.py" now takes the status of previous pp-scripts
|
|
into account and report a failure if any of the scripts has failed;
|
|
- updated all links to go to new domain (nzbget.net);
|
|
- impoved error reporting if unpacker or par-renamer fail to move files;
|
|
- removed libpar2-patches from NZBGet source tree; the documentation
|
|
now suggests to use the libpar2 version maintained by Debian/Ubuntu
|
|
team, which already includes all necessary patches;
|
|
- removed patches to create libpar2 and libsigc++ project files for
|
|
Visual Studio on Windows, no one needed them anyway;
|
|
- fixed: the program could crash during cleanup if files with invalid
|
|
timestamps were found in the directory (windows only);
|
|
- fixed: RSS feed preview dialog displayed slightly incorrect post
|
|
ages because of the wrong time zone conversion;
|
|
- fixed: sometimes URLs were removed too early from the feed history
|
|
causing them to be detected as "new" and fetched again; if duplicate
|
|
check was not active the same nzb-files could be downloaded again;
|
|
- fixed: strange (damaged?) par2-files could cause a crash during par-renaming;
|
|
- fixed: damaged nzb-files containing multiple par-sets and not having
|
|
enough par-blocks could cause a crash during par-check;
|
|
- fixed: if during par-repair the downloaded extra par-files were damaged
|
|
and the repair was terminated with failure status the post-processing
|
|
scripts were executed twice sometimes;
|
|
- fixed: post-processing scripts were not executed in standalone mode
|
|
("nzbget /path/to/file.nzb");
|
|
- fixed: renaming or deleting of temporary files could fail, especially
|
|
when options "UnpackPauseQueue" and "ScriptPauseQueue" were not active
|
|
(windows only);
|
|
- fixed: per-server/per-nzb article completion statistics could be
|
|
inaccurate for nzb-files whose download were interrupted by reload/restart;
|
|
- fixed: after deleting servers from config file the program could crash
|
|
on start when loading server volume statistics data from disk;
|
|
- fixed: download speeds above approx. 70 MB/s were not indicated
|
|
correctly in web-interface and by RPC-method "status";
|
|
- fixed: cancelling of active par-job sometimes didn't work;
|
|
- fixed: par-check could hang on renamed and splitted files;
|
|
- fixed: the program could crash during parsing of malformed nzb-files;
|
|
- fixed: errors during loading of queue from disk state may render the
|
|
already loaded parts useless too; now at least these parts of queue are used;
|
|
- fixed: queue was not locked during loading on program start and that
|
|
could cause problems;
|
|
- fixed: data sizes exactly equal to 10, 100, 1000 MB or GB were formatted
|
|
using 4 digits instead of 3 (one digit after decimal point too much);
|
|
- fixed: if post-processing step "move" failed, the command "post-process
|
|
again" did not try to move again;
|
|
- fixed: nzb-files were sometimes not deleted from NzbDir (option
|
|
"NzbCleanupDisk");
|
|
- fixed: scheduler command "FetchFeed" did not work properly with
|
|
parameter "0" (fetch all feeds).
|
|
- fixed: port number was not sent in headers when downloading from URLs
|
|
which could cause issues with RSS for web-sites using non-standard http ports;
|
|
- fixed: queued nzb-files was not deleted from disk when deleting
|
|
download without history tracking;
|
|
|
|
nzbget-12.0:
|
|
- added RSS feeds support:
|
|
- new options "FeedX.Name", "FeedX.URL", "FeedX.Filter",
|
|
"FeedX.Interval", "FeedX.PauseNzb", "FeedX.Category",
|
|
"FeedX.Priority" (section "Rss Feeds");
|
|
- new option "FeedHistory" (section "Download Queue");
|
|
- button "Preview Feed" on settings tab near each feed definition;
|
|
- new toolbar button "Feeds" on downloads tab with menu to
|
|
view feeds or fetch new nzbs from all feeds (the button is
|
|
visible only if there are feeds defined in settings);
|
|
- new dialog to see feed content showing status of each item (new,
|
|
fetched, backlog) with ability to manually fetch selected items;
|
|
- powerful filters for RSS feeds;
|
|
- new dialog to build filters in web-interface with instant preview;
|
|
- added download health monitoring:
|
|
- health indicates download status, whether the file is damaged
|
|
and how much;
|
|
- 100% health means no download errors occurred; 0% means all
|
|
articles failed;
|
|
- there is also a critical health which is calculated for each
|
|
nzb-file based on number and size of par-files;
|
|
- if during download the health goes down below 100% a health
|
|
badge appears near download name indicating the necessity of
|
|
par-repair; the indicator can be orange (repair may be possible)
|
|
or red (unrepairable) if the health goes down below critical health;
|
|
- new option "HealthCheck" to define what to do with unhealthy
|
|
(unrepairable) downloads (pause, delete, none);
|
|
- health and critical health are displayed in download-edit dialog;
|
|
health is displayed in history dialog; if download was aborted
|
|
(HealthCheck=delete) this is indicated in history dialog;
|
|
- health allows to determine download status for downloads which
|
|
have unpack and/or par-check disabled; for such downloads the
|
|
status in history is shown based on health: success (health=100%),
|
|
damaged (health > critical) or failure (health < critical);
|
|
- par-check is now automatically started for downloads having
|
|
health below 100%; this works independently of unpack (even if
|
|
unpack is disabled);
|
|
- for downloads having health less than critical health no par-check
|
|
is performed (it would fail); Instead the par-check status is
|
|
set to "failure" automatically saving time of actual par-check;
|
|
- new fields "Health" and "CriticalHealth" are returned by
|
|
RPC-Method "listgroups";
|
|
- new fields "Health", "CriticalHealth", "Deleted" and "HealthDeleted"
|
|
are returned by RPC-Method "history";
|
|
- new parameters "NZBPP_HEALTH" and "NZBPP_CRITICALHEALTH" are passed
|
|
to pp-scripts;
|
|
- added collecting of server usage statistical data for each download:
|
|
- number of successful and failed article downloads per news server;
|
|
- new page in history dialog shows collected statistics;
|
|
- new fields in RPC-method "history": ServerStats (array),
|
|
TotalArticles, SuccessArticles, FailedArticles;
|
|
- new env. vars passed to pp-scripts: NZBPP_TOTALARTICLES,
|
|
NZBPP_SUCCESSARTICLES, NZBPP_FAILEDARTICLES and per used news
|
|
server: NZBPP_SERVERX_SUCCESSARTICLES, NZBPP_SERVERX_FAILEDARTICLES;
|
|
- also new env.var HEALTHDELETED;
|
|
- added smart duplicates feature:
|
|
- mostly for use with RSS feeds;
|
|
- automatic detection of duplicate nzb-files to avoid download of
|
|
duplicates;
|
|
- nzb-files can be also manually marked as duplicates;
|
|
- if download fails - automatically choose another release (duplicate);
|
|
- if download succeeds all remaining duplicates are skipped (not downloaded);
|
|
- download items have new properties to tune duplicate handling
|
|
behavior: duplicate key, duplicate score and duplicate mode;
|
|
- if download was deleted by duplicate check its status in the
|
|
history is shown as "DUPE";
|
|
- new actions "GroupSetDupeKey", "GroupSetDupeScore", "GroupSetDupeMode",
|
|
"HistorySetDupeKey", "HistorySetDupeScore", "HistorySetDupeMode",
|
|
"HistoryMarkBad" and "HistoryMarkGood" of RPC-command "editqueue";
|
|
new actions "B" and "G" of command "--edit/-E" for history items
|
|
(subcommand "H");
|
|
- when deleting downloads from queue there are three options now:
|
|
"move to history", "move to history as duplicate" and "delete
|
|
without history tracking";
|
|
- new actions "GroupDupeDelete", "GroupFinalDelete" and
|
|
"HistorySetDupeBackup" in RPC-method "editqueue";
|
|
- RPC-commands "listgroups", "postqueue" and "history" now return
|
|
more info about nzb-item (many new fields);
|
|
- removed option "MergeNzb" because it conflicts with duplicate
|
|
handling, items can be merged manually if necessary;
|
|
- automatic detection of exactly same nzb-files (same content)
|
|
coming from different sources (different RSS feeds etc.);
|
|
individual files (inside nzb-file) having extensions listed in
|
|
option "ExtCleanupDisk" are excluded from content comparison
|
|
(unless these are par2-files, which are never excluded);
|
|
- when history item expires (as defined by option "KeepHistory")
|
|
and the duplicate check is active (option "DupeCheck") the item
|
|
is not completely deleted from history; instead the amount of
|
|
stored data reduces to minimum required for duplicate check
|
|
(about 200 bytes vs 2000 bytes for full history item);
|
|
- such old history items are not shown in web-interface by default
|
|
(to avoid transferring of large amount of history items);
|
|
- new button "Hidden" in web-interface to show hidden history items;
|
|
the items are marked with badge "hidden";
|
|
- RPC-method "editqueue" has now two actions to delete history
|
|
records: "HistoryDelete", "HistoryFinal"; action "HistoryDelete"
|
|
which has existed before now hides records, already hidden records
|
|
are ignored;
|
|
- added functions "Mark as Bad" and "Mark as Good" for history
|
|
items;
|
|
- duplicate properties (dupekey, dupescore and dupemode) can now
|
|
be viewed and changed in download-edit-dialog and
|
|
history-edit-dialog via new button "Dupe";
|
|
- for full documentation see http://nzbget.net/RSS#Duplicates;
|
|
- created NZBGet.app - NZBGet is now a user friendly Mac OSX application
|
|
with easy installation and seamless integration into OS UI:
|
|
works in background, is controlled from a web-browser, few
|
|
important functions are accessible via menubar icon;
|
|
- better Windows package:
|
|
- unrar is included;
|
|
- several options are set to better defaults;
|
|
- all paths are set as relative paths to program directory;
|
|
the program can be started after installation without editing
|
|
anything in config;
|
|
- included two new batch-files:
|
|
- nzbget-start.bat - starts program in normal mode (dos box);
|
|
- nzbget-recovery-mode.bat - starts with empty password (dos box);
|
|
- both batch files open browser window with correct address;
|
|
- config-file template is stored in nzbget.conf.template;
|
|
- nzbget.conf is not included in the package. When the program is
|
|
started for the first time (using one of batch files) the template
|
|
config file is copied into nzbget.conf;
|
|
- updates will be easy in the future: to update the program all
|
|
files from newer archive must be extracted over old files. Since
|
|
the archive doesn't have nzbget.conf, the existing config is kept
|
|
unmodified. The template config file will be updated;
|
|
- added file README-WINDOWS.txt with small instructions;
|
|
- version string now includes revision number (like "r789");
|
|
- added automatic updates:
|
|
- new button "Check for updates" on settings tab of web-interface,
|
|
in section "SYSTEM", initiates check and shows dialog allowing to
|
|
install new version;
|
|
- it is possible to choose between stable, testing and development
|
|
branches;
|
|
- this feature is for end-users using binary packages created and
|
|
updated by maintainers, who need to write an update script specific
|
|
for platform;
|
|
- the script is then called by NZBGet when user clicks on install-button;
|
|
- the script must download and install new version;
|
|
- for more info visit http://nzbget.net/Packaging;
|
|
- news servers can now be temporarily disabled via speed limit dialog
|
|
without reloading of the program:
|
|
- new option "ServerX.Active" to disable servers via settings;
|
|
- new option "ServerX.Name" to use for logging and in UI;
|
|
- changed the way how option "Unpack" works:
|
|
- instead of enabling/disabling the unpacker as a whole, it now
|
|
defines the initial value of post-processing parameter "Unpack"
|
|
for nzb-file when it is added to queue;
|
|
- this makes it now possible to disable Unpack globally but still
|
|
enable it for selected nzb-files;
|
|
- new option "CategoryX.Unpack" to set unpack on a per category basis;
|
|
- combined all footer buttons into one button "Actions" with menu:
|
|
- in download-edit-dialog: "Pause/Resume", "Delete" and "Cancel
|
|
Post-Processing";
|
|
- in history-dialog: "Delete", "Post-Process Again" and "Download
|
|
Remaining Files (Return to Queue)";
|
|
- DirectNZB headers X-DNZB-MoreInfo and X-DNZB-Details are now processed
|
|
when downloading URLs and the links "More Info" and "Details" are shown
|
|
in download-edit-dialog and in history-dialog in Actions menu;
|
|
- program can now be stopped via web-interface: new button "shutdown"
|
|
in section "SYSTEM";
|
|
- added menu "View" to settings page which allows to switch to "Compact Mode"
|
|
when option descriptions are hidden;
|
|
- added confirmation dialog by leaving settings page if there are unsaved
|
|
changes;
|
|
- downloads manually deleted from queue are shown with status "deleted"
|
|
in the history (instead of "unknown");
|
|
- all table columns except "Name" now have fixed widths to avoid annoying
|
|
layout changes especially during post-processing when long status messages
|
|
are displayed in the name-column;
|
|
- added filter buttons to messages tab (info, warning, etc.);
|
|
- added automatic par-renaming of extracted files if archive includes
|
|
par-files;
|
|
- added support for http redirects when fetching URLs;
|
|
- added new command "Download again" for history items; new action
|
|
"HistoryRedownload" of RPC-method "editqueue"; for controlling via command
|
|
line: new action "A" of subcommand "H" of command "--edit/-E";
|
|
- download queue is now saved in a more safe way to avoid potential loss
|
|
of queue if the program crashes during saving of queue;
|
|
- destination directory for option "CategoryX.DestDir" is not checked/created
|
|
on program start anymore (only when a download starts for that category);
|
|
this helps when certain categories are configured for external disks,
|
|
which are not always connected;
|
|
- added new option "CategoryX.Aliases" to configure category name matching
|
|
with nzb-sites; especially useful with rss feeds;
|
|
- in RPC-Method "appendurl" parameter "addtop" adds nzb to the top of
|
|
the main download queue (not only to the top of the URL queue);
|
|
- new logo (thanks to dogzipp for the logo);
|
|
- added support for metatag "password" in nzb-files;
|
|
- pp-scripts which move files can now inform the program about new
|
|
location by printing text "[NZB] FINALDIR=/path/to/files"; the final
|
|
path is then shown in history dialog instead of download path;
|
|
- new env-var "NZBPP_FINALDIR" passed to pp-scripts;
|
|
- pp-scripts can now set post-processing parameters by printing
|
|
command "[NZB] NZBPR_varname=value"; this allows scripts which are
|
|
executed sooner to pass data for scripts executed later;
|
|
- added new option "AuthorizedIP" to set the list of IP-addresses which
|
|
may connect without authorization;
|
|
- new option "ParRename" to force par-renaming as a first post-processing
|
|
step (active by default); this saves an unpack attempt and is even more
|
|
useful if unpack is disabled;
|
|
- post-processing progress label is now automatically trimmed if it
|
|
doesn't fill into one line; this avoids layout breaking if the text
|
|
is too long;
|
|
- reversed the order of priorities in comboboxes in dialogs: the highest
|
|
priority - at the top, the lowest - at the bottom;
|
|
- small changes in button captions: edit dialogs called from settings
|
|
page (choose script, choose order, build rss filter) now have buttons
|
|
"Discard/Apply" instead of "Close/Save"; in all other dialogs button
|
|
"Close" renamed to "Cancel" unless it was the only button in dialog;
|
|
- small change in css: slightly reduced the max height of modal dialogs
|
|
to better work on notebooks;
|
|
- options "DeleteCleanupDisk" and "NzbCleanupDisk" are now active by
|
|
default (in the example config file);
|
|
- extended add-dialog with options "Add paused" and "Disable duplicate check";
|
|
- source nzb-files are now deleted when download-item leaves queue and
|
|
history (option "NzbCleanupDisk");
|
|
- when deleting downloads from queue the messages about deleted
|
|
individual files are now printed as "detail" instead of "info";
|
|
- failed article downloads are now logged as "detail" instead of
|
|
"warning" to reduce number of warnings for downloads removed from
|
|
server (DMCA); one warning is printed for a file with a summary of
|
|
number of failed downloads for the file;
|
|
- tuned algorithm calculating maximum threads limit to allow more
|
|
threads for backup server connections (related to option "TreadLimit"
|
|
removed in v11); this may sometimes increase speed when backup servers
|
|
were used;
|
|
- by adding nzb-file to queue via RPC-methods "append" and "appendurl"
|
|
the actual format of the file is checked and if nzb-format is detected
|
|
the file is added even if it does not have .nzb extension;
|
|
- added new option "UrlForce" to allow URL-downloads (including fetching
|
|
of RSS feeds and nzb-files from feeds) even if download is paused;
|
|
the option is active by default;
|
|
- destination directory for option "DestDir" is not checked/created on
|
|
program start anymore (only when a download starts); this helps when
|
|
DestDir is mounted to a network drive which is not available on program start;
|
|
- added special handling for files ".AppleDouble" and ".DS_Store" during
|
|
unpack to avoid problems on NAS having support for AFP protocol (used
|
|
on Mac OSX);
|
|
- history records with failed script status are now shown as "PP-FAILURE"
|
|
in history list (instead of just "FAILURE");
|
|
- option "DiskSpace" now checks space on "InterDir" in addition to
|
|
"DestDir";
|
|
- support for rar-archives with non-standard extensions is now limited
|
|
to file extensions consisting of digits; this is to avoid extracting
|
|
of rar-archives having non-rar extensions on purpose (example: .cbr);
|
|
- if option "ParRename" is disabled (not recommended) unpacker does
|
|
not initiate par-rename anymore, instead the full par-verify is
|
|
performed then;
|
|
- for external script the exec-permissions are now added automatically;
|
|
this makes the installation of pp-scripts and other scripts easier;
|
|
- option "InterDir" is now active by default;
|
|
- when option "InterDir" is used the intermediate destination directory
|
|
names now include unique numbers to avoid several downloads with same
|
|
name to use the same directory and interfere with each other;
|
|
- when option "UnpackCleanupDisk" is active all archive files are now
|
|
deleted from download directory without relying on output printed by
|
|
unrar; this solves issues with non-ascii-characters in archive file
|
|
names on some platforms and especially in combination with rar5;
|
|
- improved handling of non-ascii characters in file names on windows;
|
|
- added support for rar5-format when checking signatures of archives
|
|
with non-standard file extensions;
|
|
- small restructure in settings order:
|
|
- combined sections "REMOTE CONTROL" and "PERMISSIONS" into one
|
|
section with name "SECURITY";
|
|
- moved sections "CATEGORIES" and "RSS FEEDS" higher in the
|
|
section list;
|
|
- improved par-check: if main par2-file is corrupted and can not be
|
|
loaded other par2-files are downloaded and then used as replacement
|
|
for main par2-file;
|
|
- if unpack did not find archive files the par-check is not requested
|
|
anymore if par-rename was already done;
|
|
- better handling of obfuscated nzb-files containing multiple files
|
|
with same names; removed option "StrictParName" which was not working
|
|
good with obfuscated files; if more par-files are required for repair
|
|
the files with strict names are tried first and then other par-files;
|
|
- added new scheduler commands "ActivateServer", "DeactivateServer" and
|
|
"FetchFeed"; combined options "TaskX.DownloadRate" and "TaskX.Process"
|
|
into one option "TaskX.Param", also used by new commands;
|
|
- added status filter buttons to history page;
|
|
- if unpack fails with write error (usually because of not enough space
|
|
on disk) this is shown as status "Unpack: space" in web-interface;
|
|
this unpack-status is handled as "success" by duplicate handling
|
|
(no download of other duplicate); also added new unpack-status "wrong
|
|
password" (only for rar5-archives); env.var. NZBPP_UNPACKSTATUS has
|
|
two new possible values: 3 (write error) and 4 (wrong password);
|
|
updated pp-script "EMail.py" to support new unpack-statuses;
|
|
- fixed a potential seg. fault in a commonly used function;
|
|
- added new option "TimeCorrection" to adjust conversion from system
|
|
time to local time (solves issues with scheduler when using a
|
|
binary compiled for other platform);
|
|
- NZBIDs are now generated with more care avoiding numbering holes
|
|
possible in previous versions;
|
|
- fixed: invalid "Offset" passed to RPC-method "editqueue" or command
|
|
line action "-E/--edit" could crash the program;
|
|
- fixed: crash after downloading of an URL (happen only on certain systems);
|
|
- fixed: restoring of settings didn't work for multi-sections (servers,
|
|
categories, etc.) if they were empty;
|
|
- fixed: choosing local files didn't work in Opera;
|
|
- fixed: certain characters printed by pp-scripts could crash the
|
|
program;
|
|
- fixed: malformed nzb-file could cause a memory leak;
|
|
- fixed: when a duplicate file was detected in collection it was
|
|
automatically deleted (if option DupeCheck is active) but the
|
|
total size of collection was not updated;
|
|
- when deleting individual files the total count of files in collection
|
|
was not updated;
|
|
- fixed: when multiple nzb-files were added via URL (rss including) at
|
|
the same time the info about category and priority could get lost for
|
|
some of files;
|
|
- fixed: if unpack fails the created destination directory was not
|
|
automatically removed (only if option "InterDir" was active);
|
|
- fixed scrolling to the top of page happening by clicking on items in
|
|
downloads/history lists and on action-buttons in edit-download and
|
|
history dialogs;
|
|
- fixed potential buffer overflow in remote client;
|
|
- improved error reporting when creation of temporary output file fails;
|
|
- fixed: when deleting download, if all remaining queued files are
|
|
par2-files the disk cleanup should not be performed, but it was
|
|
sometimes;
|
|
- fixed a potential problem in incorrect using of one library function.
|
|
|
|
nzbget-11.0:
|
|
- reworked concept of post-processing scripts:
|
|
|
|
- multiple scripts can be assigned to each nzb-file;
|
|
|
|
- all assigned scripts are executed after the nzb-file is
|
|
downloaded and internally processed (unpack, repair);
|
|
|
|
- option <PostProcess> is obsolete;
|
|
|
|
- new option <ScriptDir> sets directory where all pp-scripts must
|
|
be stored;
|
|
|
|
- new option <DefScript> sets the default list of pp-scripts to
|
|
be assigned to nzb-file when it's added to queue;
|
|
|
|
- new option <CategoryX.DefScript> to set the default list of
|
|
pp-scripts on a category basis;
|
|
|
|
- the execution order of pp-scripts can be set using new option
|
|
<ScriptOrder>;
|
|
|
|
- there are no separate configuration files for pp-scripts;
|
|
|
|
- configuration options and pp-parameters are defined in the
|
|
pp-scripts;
|
|
|
|
- script configuration options are saved in nzbget configuration
|
|
file (nzbget.conf);
|
|
|
|
- changed parameters list of RPC-methods <loadconfig> and
|
|
<saveconfig>;
|
|
|
|
- new RPC-method <configtemplates> returns configuration
|
|
descriptions for the program and for all pp-scripts;
|
|
|
|
- configuration of all scripts can be done in web-interface;
|
|
|
|
- the pp-scripts assigned to a particular nzb-file can be viewed
|
|
and changed in web-interface on page <pp-parameters> in the
|
|
edit download dialog;
|
|
|
|
- option <PostPauseQueue> renamed to <ScriptPauseQueue> (the old
|
|
name is still recognized);
|
|
|
|
- new option <ConfigTemplate> to define the location of template
|
|
configuration file (in previous versions it must be always
|
|
stored in <WebDir>);
|
|
|
|
- history dialog shows status of every script;
|
|
|
|
- the old example post-processing script replaced with two new scripts:
|
|
|
|
- EMail.py - sends E-Mail notification;
|
|
|
|
- Logger.py - saves the full post-processing log of the job into
|
|
file _postprocesslog.txt;
|
|
|
|
- both pp-scripts are written in python and work on Windows too
|
|
(in addition to Linux, Mac, etc.);
|
|
|
|
- added possibility to set post-processing parameters for history items:
|
|
|
|
- pp-parameters can now be viewed and changed in history dialog
|
|
in web-interface;
|
|
|
|
- useful before post-processing again;
|
|
|
|
- new action <HistorySetParameter> in RPC-method <editqueue>;
|
|
|
|
- new action <O> in remote command <--edit/-E> for history items
|
|
(subcommand <H>);
|
|
|
|
- added new feature <split download> which creates new download from
|
|
selected files of source download;
|
|
|
|
- new command <Split> in web-interface in edit download dialog
|
|
on page <Files>;
|
|
|
|
- new action <S> in remote command <--edit/-E>;
|
|
|
|
- new action <FileSplit> in JSON-/XML-RPC method <editqueue>;
|
|
|
|
- added support for manual par-check:
|
|
|
|
- if option <ParCheck> is set to <Manual> and a damaged download
|
|
is detected the program downloads all par2-files but doesn't
|
|
perform par-check; the user must perform par-check/repair
|
|
manually then (possibly on another, faster computer);
|
|
|
|
- old values <yes/no> of option <ParCheck> renamed to <Force>
|
|
and <Auto> respectively;
|
|
|
|
- when set to <Force> all par2-files are always downloaded;
|
|
|
|
- removed option <LoadPars> since its functionality is now
|
|
covered by option <ParCheck>;
|
|
|
|
- result of par-check can now have new value <Manual repair
|
|
necessary>;
|
|
|
|
- field <ParStatus> in RPC-method <history> can have new value
|
|
<MANUAL>;
|
|
|
|
- parameter <NZBPP_PARSTATUS> for pp-script can have new value
|
|
<4 = manual repair necessary>;
|
|
|
|
- when download is resumed in web-interface the option <ParCheck=Force>
|
|
is respected and all par2-files are resumed (not only main par2-file);
|
|
|
|
- automatic deletion of backup-source files after successful par-repair;
|
|
important when repairing renamed rar-files since this could cause
|
|
failure during unpack;
|
|
|
|
- par-checker and renamer now add messages into the log of pp-item
|
|
(like unpack- and pp-scripts-messages); these message now appear in
|
|
the log created by scripts Logger.py and EMail.py;
|
|
|
|
- when a nzb-file is added via web-interface or via remote call the
|
|
file is now put into incoming nzb-directory (option "NzbDir") and
|
|
then scanned; this has two advantages over the old behavior when the
|
|
file was parsed directly in memory:
|
|
|
|
- the file serves as a backup for troubleshootings;
|
|
|
|
- the file is processed by nzbprocess-script (if defined in
|
|
option "NzbProcess") making the pre-processing much easier;
|
|
|
|
- new env-var parameters are passed to NzbProcess-script: NZBNP_NZBNAME,
|
|
NZBNP_CATEGORY, NZBNP_PRIORITY, NZBNP_TOP, NZBNP_PAUSED;
|
|
|
|
- new commands for use in NzbProcess-scripts: "[NZB] TOP=1" to add nzb
|
|
to the top of queue and "[NZB] PAUSED=1" to add nzb-file in paused state;
|
|
|
|
- reworked post-processor queue:
|
|
|
|
- only one job is created for each nzb-file; no more separate
|
|
jobs are created for par-collections within one nzb-file;
|
|
|
|
- option <AllowReProcess> removed; a post-processing script is
|
|
called only once per nzb-file, this behavior cannot be altered
|
|
anymore;
|
|
|
|
- with a new feature <Split> individual par-collections can be
|
|
processed separately in a more effective way than before
|
|
|
|
- improved unicode (utf8) support:
|
|
|
|
- non-ascii characters are now correctly transferred via JSON-RPC;
|
|
|
|
- correct displaying of nzb-names and paths in web-interface;
|
|
|
|
- it is now possible to use non-ascii characters on settings page
|
|
for option values (such as paths or category names);
|
|
|
|
- improved unicode support in XML-RPC and JSON-RPC;
|
|
|
|
- if username and password are defined for a news-server the
|
|
authentication is now forced (in previous versions the authentication
|
|
was performed only if requested by server); needed for servers
|
|
supporting both anonymous (restricted) and authorized (full access)
|
|
accounts;
|
|
|
|
- added option <ExtCleanupDisk> to automatically delete unwanted files
|
|
(with specified extensions or names) after successful par-check or unpack;
|
|
|
|
- improvement in JSON-/XML-RPC:
|
|
|
|
- all ID fields including NZBID are now persistent and remain
|
|
their values after restart;
|
|
|
|
- this allows for third-party software to identify nzb-files by
|
|
ID;
|
|
|
|
- method <history> now returns ID of NZB-file in the field
|
|
<NZBID>;
|
|
|
|
- in versions up to 0.8.0 the field <NZBID> was used to identify
|
|
history items in the edit-commands <HistoryDelete>,
|
|
<HistoryReturn>, <HistoryProcess>; since version 9 field <ID>
|
|
is used for this purpose; in versions 9-10 field <NZBID> still
|
|
existed and had the same value as field <ID> for compatibility
|
|
with version 0.8.0; the compatibility is not provided anymore;
|
|
this change was needed to provide a consistent using of field
|
|
<NZBID> across all RPC-methods;
|
|
|
|
- added support for rar-files with non-standard extensions (such as
|
|
.001, etc.);
|
|
|
|
- added functions to backup and restore settings from web-interface;
|
|
when restoring it's possible to choose what sections to restore
|
|
(for example only news servers settings or only settings of a
|
|
certain pp-script) or restore the whole configuration;
|
|
|
|
- new option "ControlUsername" to define login user name (if you don't
|
|
like default username "nzbget");
|
|
|
|
- if a communication error occurs in web-interface, it retries multiple
|
|
times before giving up with an error message;
|
|
|
|
- the maximum number of download threads are now managed automatically
|
|
taking into account the number of allowed connections to news servers;
|
|
removed option <ThreadLimit>;
|
|
|
|
- pp-scripts terminated with unknown status are now considered failed
|
|
(status=FAILURE instead of status=UNKNOWN);
|
|
|
|
- new parameter (env. var) <NZBPP_NZBID> is passed to pp_scripts and
|
|
contains an internal ID of NZB-file;
|
|
|
|
- improved thread synchronisation to avoid (short-time) lockings of
|
|
the program during creation of destination files;
|
|
|
|
- more detailed error message if a directory could not be created
|
|
(<DstDir>, <NzbDir>, etc.); the message includes error text reported
|
|
by OS such as <permission denied> or similar;
|
|
|
|
- when unpacking the unpack start time is now measured after receiving
|
|
of unrar copyright message; this provides better unpack time
|
|
estimation in a case when user uses unpack-script to do some things
|
|
before executing unrar (for example sending Wake-On-Lan message to
|
|
the destination NAS); it works with unrar only, it's not possible
|
|
with 7-Zip because it buffers printed messages;
|
|
|
|
- when the program is reloaded, a message with version number is
|
|
printed like on start;
|
|
|
|
- configuration can now be saved in web-interface even if there were
|
|
no changes made but if obsolete or invalid options were detected in
|
|
the config file; the saving removes invalid entries from config file;
|
|
|
|
- option <ControlPassword> can now be set to en empty value to disable
|
|
authentication; useful if nzbget works behind other web-server with
|
|
its own authentication;
|
|
|
|
- when deleting downloads via web-interface a proper hint regarding
|
|
deleting of already downloaded files from disk depending on option
|
|
<DeleteCleanupDisk> is displayed;
|
|
|
|
- if a news-server returns empty or bad article (this may be caused
|
|
by errors on the news server), the program tries again from the same
|
|
or other servers (in previous versions the article was marked as
|
|
failed without other download attempts);
|
|
|
|
- when a nzb-file whose name ends with ".queued" is added via web-
|
|
interface the ".queued"-part is automatically removed;
|
|
|
|
- small improvement in multithread synchronization of download queue;
|
|
|
|
- added link to catalog of pp-scripts to web-interface;
|
|
|
|
- updated forum URL in about dialog in web-interface;
|
|
|
|
- small correction in a log-message: removed <Request:> from message
|
|
<Request: Queue collection...>;
|
|
|
|
- removed option "ProcessLogKind"; scripts should use prefixes ([INFO],
|
|
[DETAIL], etc); messages printed without prefixes are added as [INFO];
|
|
|
|
- removed option "AppendNzbDir"; if it was disabled that caused problems
|
|
in par-checker and unpacker; the option is now assumed always active;
|
|
|
|
- removed option "RenameBroken"; it caused problems in par-checker
|
|
(the option existed since early program versions before the par-check
|
|
was added);
|
|
- configure-script now defines "SIGCHLD_HANDLER" by default on all
|
|
systems including BSD; this eliminates the need of configure-
|
|
parameter "--enable-sigchld-handler" on 64-Bit BSD; the trade-off:
|
|
32-Bit BSD now requires "--disable-sigchld-handler";
|
|
|
|
- improved configure-script: defining of symbol "FILE_OFFSET_BITS=64",
|
|
required on some systems, is not necessary anymore;
|
|
- fixed: in the option "NzbAddedProcess" the env-var parameter with
|
|
nzb-name was passed in "NZBNA_NAME", should be "NZBNA_NZBNAME";
|
|
the old parameter name "NZBNA_NAME" is still supported for
|
|
compatibility;
|
|
|
|
- fixed: download time in statistics were incorrect if the computer
|
|
was put into standby (thanks Frank Kuypers for the patch);
|
|
|
|
- fixed: when option <InterDir> was active and the download after
|
|
unpack contained rar-file with the same name as one of original
|
|
files (sometimes happen with included subtitles) the original
|
|
rar-file was kept with name <.rar_duplicate1> even if the option
|
|
<UnpackCleanupDisk> was active;
|
|
|
|
- fixed: failed to read download queue from disk if post-processing
|
|
queue was not empty;
|
|
|
|
- fixed: when a duplicate file was detected during download the
|
|
program could hang;
|
|
|
|
- fixed: symbol <DISABLE_TLS> must be defined in project settings;
|
|
defining it in <win32.h> didn't work properly (Windows only);
|
|
|
|
- fixed: crash when adding malformed nzb-files with certain
|
|
structure (Windows only);
|
|
|
|
- fixed: by deleting of a partially downloaded nzb-file from queue,
|
|
when the option <DeleteCleanupDisk> was active, the file
|
|
<_brokenlog.txt> was not deleted preventing the directory from
|
|
automatic deletion;
|
|
|
|
- fixed: if an error occurs when a RPC-client or web-browser
|
|
communicates with nzbget the program could crash;
|
|
|
|
- fixed: if the last file of collection was detected as duplicate
|
|
after the download of the first article the file was deleted from
|
|
queue (that's OK) but the post-processing was not triggered
|
|
(that's a bug);
|
|
- fixed: support for splitted files (.001, .002, etc.) were broken.
|
|
|
|
|
|
nzbget-10.2:
|
|
- fixed potential segfault which could happen with file paths longer
|
|
than 1024 characters;
|
|
- fixed: when options <DirectWrite> and <ContinuePartial> were both
|
|
active, a restart or reload of the program during download may cause
|
|
damaged files in the active download;
|
|
- increased width of speed indication ui-element to avoid layout
|
|
breaking on some linux-browsers;
|
|
- fixed a race condition in unpacker which could lead to a segfault
|
|
(although the chances were low because the code wasn't executed often).
|
|
|
|
nzbget-10.1:
|
|
- fixed: articles with decoding errors (incomplete or damaged posts)
|
|
caused infinite retry-loop in downloader.
|
|
|
|
nzbget-10.0:
|
|
- added built-in unpack:
|
|
- rar and 7-zip formats are supported (via external Unrar and
|
|
7-Zip executables);
|
|
- new options <Unpack>, <UnpackPauseQueue>, <UnpackCleanupDisk>,
|
|
<UnrarCmd>, <SevenZipCmd>;
|
|
- web-interface now shows progress and estimated time during
|
|
unpack (rar only; for 7-Zip progress is not available due to
|
|
limitations of 7-Zip);
|
|
- when built-in unpack is enabled, the post-processing script is
|
|
called after unpack and possibly par-check/repair (if needed);
|
|
- for nzb-files containing multiple collections (par-sets) the
|
|
post-processing script is called only once, after the last
|
|
par-set;
|
|
- new parameter <NZBPP_UNPACKSTATUS> passed to post-processing
|
|
script;
|
|
- if the option <AllowReProcess> is enabled the post-processing-
|
|
script is called after each par-set (as in previous versions);
|
|
- example post-processing script updated: removed unrar-code,
|
|
added check for unpack status;
|
|
- new field <UnpackStatus> in result of RPC-method <history>;
|
|
- history-dialog in web-interface shows three status: par-status,
|
|
unpack-status, script-status;
|
|
- with two built-in special post-processing parameters <*Unpack:>
|
|
and <*Unpack:Password> the unpack can be disabled for individual
|
|
nzb-file or the password can be set;
|
|
- built-in special post-processing parameters can be set via web-
|
|
interface on page <PP-Parameters> (when built-in unpack is
|
|
enabled);
|
|
- added support for HTTPS to the built-in web-server (web-interface and
|
|
XML/JSON-RPC):
|
|
- new options <SecureControl>, <SecurePort>, <SecureCert> and
|
|
<SecureKey>;
|
|
- module <TLS.c/h> completely rewritten with support for server-
|
|
side sockets, newer versions of GnuTLS, proper thread lockings
|
|
in OpenSSL;
|
|
- improved the automatic par-scan (option <ParScan=auto>) to
|
|
significantly reduce the verify-time in some common cases with renamed
|
|
rar-files:
|
|
- the extra files are scanned in an optimized order;
|
|
- the scan stops when all missings files are found;
|
|
- added fast renaming of intentionally misnamed (rar-) files:
|
|
- the new renaming algorithm doesn't require full par-scan and
|
|
restores original filenames in just a few seconds, even on very
|
|
slow computers (NAS, media players, etc.);
|
|
- the fast renaming is performed automatically when requested by
|
|
the built-in unpacker (option <Unpack> must be active);
|
|
- added new option <InterDir> to put intermediate files during download
|
|
into a separate directory (instead of storing them directly in
|
|
destination directory (option <DestDir>):
|
|
- when nzb-file is completely (successfully) downloaded, repaired
|
|
(if neccessary) and unpacked the files are moved to destination
|
|
directory (option <DestDir> or <CategoryX.DestDir>);
|
|
- intermediate directory can significantly improve unpack
|
|
performance if it is located on a separate physical hard drive;
|
|
- added new option <ServerX.Cipher> to manually select cipher for
|
|
encrypted communication with news server:
|
|
- manually choosing a faster cipher (such as <RC4>) can
|
|
significantly improve performance (if CPU is a limiting factor);
|
|
- major improvements in news-server/connection management (main and fill
|
|
servers):
|
|
- if download of article fails, the program tries all servers of
|
|
the same level before trying higher level servers;
|
|
- this ensures that fill servers are used only if all main servers
|
|
fail;
|
|
- this makes the configuring of multiple servers much easier than
|
|
before: in most cases the simple configuration of level 0 for
|
|
all main servers and level 1 for all fill servers suffices;
|
|
- in previous versions the level was increased immediately after
|
|
the first tried server of the level failed; to make sure all
|
|
main servers were tried before downloading from fill servers it
|
|
was required to create complex server configurations with
|
|
duplicates; these configurations were still not as effective as
|
|
now;
|
|
- do not reconnect on <article/group not found> errors since this
|
|
doesn't help but unnecessary increases CPU load and network
|
|
traffic;
|
|
- removed option <RetryOnCrcError>; it's not required anymore;
|
|
- new option <ServerX.Group> allows more flexible configuration
|
|
of news servers when using multiple accounts on the same server;
|
|
with this option it's also possible to imitate the old server
|
|
management behavior regarding levels;
|
|
- news servers configuration is now less error-prone:
|
|
- the option <ServerX.Level> is not required to start from <0> and
|
|
when several news servers are configured the Levels can be any
|
|
integers - the program sorts the servers and corrects the Levels
|
|
to 0,1,2,etc. automatically if needed;
|
|
- when option <ServerX.Connections> is set to <0> the server is
|
|
ignored (in previous version such a server could cause hanging
|
|
when the program was trying to go to the next level);
|
|
- if no news servers are defined (or all definitions are invalid)
|
|
a warning is printed to inform that the download is not
|
|
possible;
|
|
- categories can now have their own destination directories; new option
|
|
<CategoryX.DestDir>;
|
|
- new feature <Pause for X Minutes> in web-interface; new XML-/JSON-RPC
|
|
method <scheduleresume>;
|
|
- improved the handling of hanging connections: if a connection hangs
|
|
longer than defined by option <ConnectionTimeout> the program tries to
|
|
gracefully close connection first (this is new); if it still hangs
|
|
after <TerminateTimeout> the download thread is terminated as a last
|
|
resort (as in previous versions);
|
|
- added automatic speed meter recalibration to recover after possible
|
|
synchronization errors which can occur when the option <AccurateRate>
|
|
is not active; this makes the default (less accurate but fast) speed
|
|
meter almost as good as the accurate one; important when speed
|
|
throttling is active;
|
|
- when the par-checked requests more par-files, they get an extra
|
|
priority and are downloaded before other files regardless of their
|
|
priorities; this is needed to avoid hanging of par-checker-job if a
|
|
file with a higher priority gets added to queue during par-check;
|
|
- when post-processing-parameters are passed to the post-processing
|
|
script a second version of each parameter with a normalized parameter-
|
|
name is passed in addition to the original parameter name; in the
|
|
normalized name the special characters <*> and <:> are replaced with
|
|
<_> and all characters are passed in upper case; this is important for
|
|
internal post-processing-parameters (*Unpack:=yes/no) which include
|
|
special characters;
|
|
- warning <Non-nzbget request received> now is not printed when the
|
|
connection was aborted before the request signature was read;
|
|
- changed formatting of remaining time for post-processing to short
|
|
format (as used for remaining download time);
|
|
- added link to article <Performance tips> to settings tab on web-
|
|
interface;
|
|
- removed hint <Post-processing script may have moved files elsewhere>
|
|
from history dialog since it caused more questions than helped;
|
|
- changed default value for option <ServerX.JoinGroup> to <no>; most
|
|
news servers nowadays do not require joining the group and many
|
|
servers do not keep headers for many groups making the join-command
|
|
fail even if the articles still can be successfully downloaded;
|
|
- small change in example post-processing script: message <Deleting
|
|
source ts-files> are now printed only if ts-files really existed;
|
|
- improved configure-script:
|
|
- libs which are added via pkgconfig are now put into LIBS instead
|
|
of LDFLAGS - improves compatibility with newer Linux linkers;
|
|
- OpenSSL libs/includes are now added using pkgconfig to better
|
|
handle dependencies;
|
|
- additional check for libcrypto (part of OpenSSL) ensures the
|
|
library is added to linker command even if pkgconfig is not
|
|
used;
|
|
- adding of local files via web-interface now works in IE10;
|
|
- if an obsolete option is found in the config file a warning is printed
|
|
instead of an error and the program is not paused anymore;
|
|
- fixed: the reported line numbers for configuration errors were
|
|
sometimes inaccurate;
|
|
- fixed warning <file glyphicons-halflings.png not found>;
|
|
- fixed: some XML-/JSON-RPC methods may return negative values for file
|
|
sizes between 2-4GB; this had also influence on web-interface.
|
|
- fixed: if an external program (unrar, pp-script, etc.) could not be
|
|
started, the execute-function has returned code 255 although the code
|
|
-1 were expected in this case; this could break designed post-
|
|
processing flow;
|
|
- fixed: some characters with codes below 32 were not properly encoded
|
|
in JSON-RPC; sometimes output from unrar contained such characters
|
|
and could break web-interface;
|
|
- fixed: special characters (quotation marks, etc.) in unpack password
|
|
and in configuration options were not displayed properly and could be
|
|
discarded on saving;
|
|
|
|
nzbget-9.1:
|
|
- added full par-scan feature needed to par-check/repair files which
|
|
were renamed after creation of par-files:
|
|
- new option <ParScan> to activate full par-scan (always or automatic);
|
|
the automatic full par-scan activates if missing files are detected
|
|
during par-check, this avoids unnecessary full scan for normal
|
|
(not renamed) par sets;
|
|
- improved the post-processing script to better handle renamed rar-files;
|
|
- replaced a browser error message when trying to add local files in
|
|
IE9 with a better message dialog;
|
|
|
|
nzbget-9.0:
|
|
|
|
- changed version naming scheme by removing the leading zero: current
|
|
|
|
version is now called 9.0 instead of 0.9.0 (it's really the 9th major
|
|
|
|
version of the program);
|
|
|
|
- added built-in web-interface:
|
|
|
|
- completely new designed and written from scratch;
|
|
|
|
- doesn't require a separate web-server;
|
|
|
|
- doesn't require PHP;
|
|
|
|
- 100% Javascript application; the built-in web-server hosts only
|
|
|
|
static files; the javascript app communicates with NZBGet via
|
|
|
|
JSON-RPC;
|
|
|
|
- very efficient usage of server resources (CPU and memory);
|
|
|
|
- easy installation. Since neither a separate web-server nor PHP
|
|
|
|
are needed the installation of new web-interface is very easy.
|
|
|
|
Actually it is performed automatically when you "make install"
|
|
|
|
or "ipkg install nzbget";
|
|
|
|
- modern look: better layout, popup dialogs, nice animations,
|
|
|
|
hi-def icons;
|
|
|
|
- built-in phone-theme (activates automatically);
|
|
|
|
- combined view for "currently downloading", "queued", "currently
|
|
|
|
processing" and "queued for processing";
|
|
|
|
- renaming of nzb-files;
|
|
|
|
- multiselect with multiedit or merge of downloads;
|
|
|
|
- fast paging in the lists (downloads, history, messages);
|
|
|
|
- search box for filtering in the lists (downloads, history, messages)
|
|
|
|
and in settings;
|
|
|
|
- adding nzb-files to download queue was improved in several ways:
|
|
|
|
- add multiple files at once. The "select files dialog" allows
|
|
|
|
to select multiple files;
|
|
|
|
- add files using drag and drop. Just drop the files from your
|
|
|
|
file manager directly into the web-browser;
|
|
|
|
- add files via URLs. Put the URL and NZBGet downloads the
|
|
|
|
nzb-file and adds it to download queue automatically;
|
|
|
|
- the priority of nzb-file can now be set when adding local-files
|
|
|
|
or URLs;
|
|
|
|
- the history can be cleared completely or selected items can be removed;
|
|
|
|
- file mode is now nzb-file related;
|
|
|
|
- added the ability to queue URLs:
|
|
|
|
- the program automatically downloads nzb-files from given URLs
|
|
|
|
and put them to download queue.
|
|
|
|
- when multiple URLs are added in a short time, they are put
|
|
|
|
into a special URL-queue.
|
|
|
|
- the number of simultaneous URL-downloads are controlled via
|
|
|
|
new option UrlConnections.
|
|
|
|
- with the new option ReloadUrlQueue can be controlled if the URL-queue
|
|
|
|
should be reloaded after the program is restarted (if the URL-queue
|
|
|
|
was not empty).
|
|
|
|
- new switch <-U> for remote-command <--append/-A> to queue an URL.
|
|
|
|
- new subcommand <-U> in the remote command <--list/-L> prints the
|
|
|
|
current URL-queue.
|
|
|
|
- if URL-download fails, the URL is moved into history.
|
|
|
|
- with subcommand <-R> of command <--edit> the failed URL can be
|
|
|
|
returned to URL-queue for redownload.
|
|
|
|
- the remote command <--list/-L> for history can now print the infos
|
|
|
|
for URL history items.
|
|
|
|
- new XML/JSON-RPC command <appendurl> to add an URL or multiple
|
|
|
|
URLs for download.
|
|
|
|
- new XML/JSON-RPC command <urlqueue> returns the items from the
|
|
|
|
URL-queue.
|
|
|
|
- the XML/JSON-RPC command <history> was extended to provide
|
|
|
|
infos about URL history items.
|
|
|
|
- the URL-queue obeys the pause-state of download queue.
|
|
|
|
- the URL-downloads support HTTP and HTTPS protocols;
|
|
|
|
- added new field <name> to nzb-info-object.
|
|
|
|
- it is initially set to the cleaned up name of the nzb-file.
|
|
|
|
- the renaming of the group changes this field.
|
|
|
|
- all RPC-methods related to nzb-object return the new field, the
|
|
|
|
old field <NZBNicename> is now deprecated.
|
|
|
|
- the option <MergeNZB> now checks the <name>-field instead of
|
|
|
|
<nzbfilename> (the latter is not changed when the nzb is renamed).
|
|
|
|
- new env-var-parameter <NZBPP_NZBNAME> for post-processing script;
|
|
|
|
- added options <GN> and <FN> for remote command <--edit/-E>. With these
|
|
|
|
options the name of group or file can be used in edit-command instead
|
|
|
|
of file ID;
|
|
|
|
- added support for regular expressions (POSIX ERE Syntax) in remote
|
|
|
|
commands <--list/-L> and <--edit/-E> using new subcommands <GR> and <FR>;
|
|
|
|
- improved performance of RPC-command <listgroups>;
|
|
|
|
- added new command <FileReorder> to RPC-method <editqueue> to set the
|
|
|
|
order of individual files in the group;
|
|
|
|
- added gzip-support to built-in web-server (including RPC);
|
|
|
|
- added processing of http-request <OPTIONS> in RPC-server for better
|
|
|
|
support of cross domain requests;
|
|
|
|
- renamed example configuration file and postprocessing script to make
|
|
|
|
the installation easier;
|
|
|
|
- improved the automatic installation (<make install>) to install all
|
|
|
|
necessary files (not only the binary as it was before);
|
|
|
|
- improved handling of configuration errors: the program now does not
|
|
|
|
terminate on errors but rather logs all of them and uses default option values;
|
|
|
|
- added new XML/JSON-RPC methods <config>, <loadconfig> and <saveconfig>;
|
|
|
|
- with active option <AllowReProcess> the NZB considered completed even if
|
|
|
|
there are paused non-par-files (the paused non-par-files are treated the
|
|
|
|
same way as paused par-files): as a result the reprocessable script is called;
|
|
|
|
- added subcommand <W> to remote command <-S/--scan> to scan synchronously
|
|
|
|
(wait until scan completed);
|
|
|
|
- added parameter <SyncMode> to XML/JSON-RPC method <scan>;
|
|
|
|
- the command <Scan> in web-interface now waits for completing of scan
|
|
|
|
before reporting the status;
|
|
|
|
- added remote command <--reload/-O> and JSON/XML-RPC method <reload> to
|
|
|
|
reload configuration from disk and reintialize the program; the reload
|
|
|
|
can be performed from web-interface;
|
|
|
|
- JSON/XML-RPC method <append> extended with parameter <priority>;
|
|
|
|
- categories available in web-interface are now configured in program
|
|
|
|
configuration file (nzbget.conf) and can be managed via web-interface
|
|
|
|
on settings page;
|
|
|
|
- updated descriptions in example configuration file;
|
|
|
|
- changes in configuration file:
|
|
|
|
- renamed options <ServerIP>, <ServerPort> and <ServerPassword> to
|
|
|
|
<ControlIP>, <ControlPort> and <ControlPassword> to avoid confusion
|
|
|
|
with news-server options <ServerX.Host>, <ServerX.Port> and
|
|
|
|
<ServerX.Password>;
|
|
|
|
- the old option names are still recognized and are automatically
|
|
|
|
renamed when the configuration is saved from web-interface;
|
|
|
|
- also renamed option <$MAINDIR> to <MainDir>;
|
|
|
|
- extended remote command <--append/-A> with optional parameters:
|
|
|
|
- <T> - adds the file/URL to the top of queue;
|
|
|
|
- <P> - pauses added files;
|
|
|
|
- <C category-name> - sets category for added nzb-file/URL;
|
|
|
|
- <N nzb-name> - sets nzb filename for added URL;
|
|
|
|
- the old switches <--category/-K> and <--top/-T> are deprecated
|
|
|
|
but still supported for compatibility;
|
|
|
|
- renamed subcommand <K> of command <--edit/-E> to <C> (the old
|
|
|
|
subcommand is still supported for compatibility);
|
|
|
|
- added new option <NzbAddedProcess> to setup a script called after
|
|
|
|
a nzb-file is added to queue;
|
|
|
|
- added debug messages for speed meter;
|
|
- improved the startup script <nzbgetd> so it can be directly used in
|
|
</etc/init.d> without modifications;
|
|
|
|
- fixed: after renaming of a group, the new name was not displayed
|
|
|
|
by remote commands <-L G> and <-C in curses mode>;
|
|
|
|
- fixed incompatibility with OpenSLL 1.0 (thanks to OpenWRT team
|
|
|
|
for the patch);
|
|
|
|
- fixed: RPC-method <log(0, IdFrom)> could return wrong results if
|
|
|
|
the log was filtered with options <XXXTarget>;
|
|
|
|
- fixed: free disk space calculated incorrectly on some OSes;
|
|
|
|
- fixed: unrar failure was not always properly detected causing the
|
|
|
|
post-processing to delete not yet unpacked rar-files;
|
|
|
|
- fixed compilation error on recent linux versions;
|
|
|
|
- fixed compilation error on older systems;
|
|
|
|
|
|
nzbget-0.8.0:
|
|
|
|
- added priorities; new action <I> for remote command <--edit/-E> to set
|
|
priorities for groups or individual files; new actions <SetGroupPriority>
|
|
and <SetFilePriority> of RPC-command <editqueue>; remote command
|
|
<--list/-L> prints priorities and indicates files or groups being
|
|
downloaded; ncurses-frontend prints priorities and indicates files or
|
|
groups being download; new command <PRIORITY> to set priority of nzb-file
|
|
from nzbprocess-script; RPC-commands <listgroups> and <listfiles> return
|
|
priorities and indicate files or groups being downloaded;
|
|
- added renaming of groups; new subcommand <N> for command <--edit/-E>; new
|
|
action <SetName> for RPC-method <editqueue>;
|
|
- added new option <AccurateRate>, which enables syncronisation in speed
|
|
meter; that makes the indicated speed more accurate by eliminating
|
|
measurement errors possible due thread conflicts; thanks to anonymous
|
|
nzbget user for the patch;
|
|
- improved the parsing of filename from article subject;
|
|
- option <DirectWrite> now efficiently works on Windows with NTFS partitions;
|
|
- added URL-based-authentication as alternative to HTTP-header authentication
|
|
for XML- and JSON-RPC;
|
|
- fixed: nzb-files containing umlauts and other special characters could not
|
|
be parsed - replaced XML-Reader with SAX-Parser - only on POSIX (not on
|
|
Windows);
|
|
- fixed incorrect displaying of group sizes bigger than 4GB on many 64-bit
|
|
OSes;
|
|
- fixed a bug causing error on decoding of input data in JSON-RPC;
|
|
- fixed a compilation error on some windows versions;
|
|
- fixed: par-repair could fail when the filenames were not correctly parsed
|
|
from article subjects;
|
|
- fixed a compatibility issue with OpenBSD (and possibly other BSD based
|
|
systems); added the automatic configuring of required signal handling logic
|
|
to better support BSD without breaking the compatibility with certain Linux
|
|
systems;
|
|
- corrected the address of Free Software Foundation in copyright notice.
|
|
|
|
|
|
nzbget-0.7.0:
|
|
|
|
- added history: new option <KeepHistory>, new remote subcommand <H> for
|
|
|
|
commands <L> (list history entries) and <E> (delete history entries,
|
|
|
|
return history item, postprocess history item), new RPC-command <History>
|
|
|
|
and subcommands <HistoryDelete>, <HistoryReturn>, <HistoryProcess> for
|
|
|
|
command <EditQueue>;
|
|
|
|
- added support for JSON-P (extension of JSON-RPC);
|
|
|
|
- changed the result code returning status <ERROR> for postprocessing script
|
|
|
|
from <1> to <94> (needed to show the proper script status in history);
|
|
|
|
- improved the detection of new files in incoming nzb directory: now the
|
|
|
|
scanner does not rely on system datum, but tracks the changing of file
|
|
|
|
sizes during a last few (<NzbDirFileAge>) seconds instead;
|
|
|
|
- improvements in example postprocessing script: 1) if download contains
|
|
|
|
only par2-files the script do not delete them during cleanup;
|
|
|
|
2) if download contains only nzb-files the script moves them to incoming
|
|
|
|
nzb-directory for further download;
|
|
|
|
- improved formatting of groups and added time info in curses output mode;
|
|
|
|
- added second pause register, which is independent of main pause-state and
|
|
|
|
therfore is intended for usage from external scripts;
|
|
|
|
that allows to pause download without interfering with options
|
|
|
|
<ParPauseQueue> and <PostPauseQueue> and scheduler tasks <PauseDownload>
|
|
|
|
and <UnpauseDownload> - they all work with first (default) pause register;
|
|
|
|
new subcommand <D2> for commands <--pause/-P> and <--unpause/-U>;
|
|
|
|
new RPC-command <pausedownload2> and <resumedownload2>;
|
|
|
|
existing RPC-commands <pause> und <resume> renamed to <pausedownload> and
|
|
|
|
<resumedownload>;
|
|
|
|
new field <Download2Paused> in result struct for RPC-command <status>;
|
|
|
|
existing fields <ServerPaused> and <ParJobCount> renamed to
|
|
|
|
<DownloadPaused> and <PostJobCount>;
|
|
|
|
old RPC-commands and fields still exist for compatibility;
|
|
|
|
the status output of command <--list/-L> indicates the state of second
|
|
|
|
pause register;
|
|
|
|
key <P> in curses-frontend can unpause second pause-register;
|
|
|
|
- nzbprocess-script (option <NZBProcess>) can now set category and
|
|
|
|
post-processing parameters for nzb-file;
|
|
|
|
- redesigned server pool and par-checker to avoid using of semaphores
|
|
|
|
(which are very platform specific);
|
|
|
|
- added subcommand <S> to remote commands <--pause/-P> and <--unpause/-U> to
|
|
|
|
pause/unpause the scanning of incoming nzb-directory;
|
|
|
|
- added commands <PauseScan> and <UnpauseScan> for scheduler option
|
|
|
|
<TaskX.Command>;
|
|
|
|
- added remote commands <PauseScan> and <ResumeScan> for XML-/JSON-RPC;
|
|
|
|
- command <pause post-processing> now not only pauses the post-processing
|
|
|
|
queue but also pauses the current post-processing job (par-job or
|
|
|
|
script-job);
|
|
|
|
however the script-job can be paused only after the next line printed to
|
|
|
|
screen;
|
|
|
|
- improved error reporting while parsing nzb-files;
|
|
|
|
- added field <NZBID> to NZBInfo; the field is now returned by XML-/JSON-RPC
|
|
|
|
methods <listfiles>, <listgroups> and <postqueue>;
|
|
|
|
- improvements in configure script;
|
|
|
|
- added support for platforms without IPv6 (they do not have <getaddrinfo>);
|
|
|
|
- debug-messages generated on early stages during initializing are now
|
|
|
|
printed to screen/log-file;
|
|
|
|
- messages about obsolete options are now printed to screen/log-file;
|
|
|
|
- imporved example postprocessing script: added support for external
|
|
|
|
configuration file, postprocessing parameters and configuration via
|
|
|
|
web-interface;
|
|
|
|
- option <TaskX.Process> now can contain parameters which must be passed
|
|
|
|
to the script;
|
|
|
|
- added pausing/resuming for post-processor queue;
|
|
|
|
added new modifier <O> to remote commands <--pause/-P> and <--unpause/-U>;
|
|
|
|
added new commands <postpause> and <postresume> to XML-/JSON-RPC;
|
|
|
|
extended output of remote command <--list/-L> to indicate paused state
|
|
|
|
of post-processor queue; extended command <status> of XML-/JSON-RPC
|
|
|
|
with field <PostPause>;
|
|
|
|
- changed the command line syntax for requesting of post-processor queue
|
|
|
|
from <-O> to <-L O> for consistency with other post-queue related
|
|
|
|
commands (<-P O>, <-U O> and <-E O>);
|
|
|
|
- improved example post-processing script: added support for delayed
|
|
|
|
par-check (try unrar first, par-repair if unrar failed);
|
|
|
|
- added modifier <O> to command <-E/--edit> for editing of
|
|
|
|
post-processor-queue;
|
|
|
|
following subcommands are supported: <+/-offset>, <T>, <B>, <D>;
|
|
|
|
subcommand <D> supports deletion of queued post-jobs and active job as well;
|
|
|
|
deletion of active job means the cancelling of par-check/repair or
|
|
|
|
terminating of post-processing-script (including child processes of the
|
|
|
|
script);
|
|
|
|
updated remote-server to support new edit-subcommands in XML/JSON-RPC;
|
|
|
|
- extended the syntax of option <TaskX.Time> in two ways:
|
|
|
|
1) it now accepts multiple comma-separated values;
|
|
|
|
2) an asterix as hours-part means <every hour>;
|
|
|
|
- added svn revision number to version string (commands <-v> and <-V>,
|
|
|
|
startup log entry);
|
|
|
|
svn revision is automatically read from svn-repository on each build;
|
|
|
|
- added estimated remaining time and better distinguishing of server state
|
|
|
|
in command <--list/-L>;
|
|
|
|
- added new return code (93) for post-processing script to indicate
|
|
|
|
successful processing; that results in cleaning up of download queue
|
|
|
|
if option <ParCleanupQueue> is active;
|
|
|
|
- added readonly options <AppBin>, <ConfigFile> and <Version> for usage
|
|
|
|
in processing scripts (options are available as environment variables
|
|
|
|
<NZBOP_APPBIN>, <NZBOP_CONFIGFILE> and <NZBOP_VERSION>);
|
|
|
|
- renamed ParStatus constant <FAILED> to <FAILURE> for a consistence with
|
|
|
|
ScriptStatus constant <FAILURE>, that also affects the results of
|
|
|
|
RPC-command <history>;
|
|
|
|
- added a new return code <95/POSTPROCESS_NONE> for post-processing scripts
|
|
|
|
for cases when pp-script skips all post-processing work (typically upon
|
|
|
|
a user's request via a pp-parameter);
|
|
|
|
modified the example post-processing script to return the new code
|
|
|
|
instead of a error code when a pp-parameter <PostProcess> was set to <no>;
|
|
|
|
- added field <PostTime> to result of RPC-Command <listfiles> and fields
|
|
|
|
<MinPostTime> and <MaxPostTime> for command <listgroups>;
|
|
|
|
- in <curses> and <colored> output-modes the download speed is now printed
|
|
|
|
with one decimal digit when the speed is lower than 10 KB/s;
|
|
|
|
- improvement in example post-processing script: added check for existence
|
|
|
|
of <unrar> and command <wc>;
|
|
|
|
- added shell batch file for windows (nzbget-shell.bat);
|
|
|
|
thanks to orbisvicis (orbisvicis@users.sourceforge.net) for the script;
|
|
|
|
- added debian style init script (nzbgetd);
|
|
|
|
thanks to orbisvicis (orbisvicis@users.sourceforge.net) for the script;
|
|
|
|
- added the returning of a proper HTTP error code if the authorization was
|
|
|
|
failed on RPC-calls;
|
|
|
|
thanks to jdembski (jdembski@users.sourceforge.net) for the patch;
|
|
|
|
- changed the sleep-time during the throttling of bandwidth from 200ms to
|
|
|
|
10ms in order to achieve better uniformity;
|
|
|
|
- modified example postprocessing script to not use the command <dirname>,
|
|
|
|
which is not always available;
|
|
|
|
thanks to Ger Teunis for the patch;
|
|
|
|
- improved example post-processing script: added the check for existence
|
|
|
|
of destination directory to return a proper ERROR-code (important for
|
|
|
|
reprocessing of history items);
|
|
|
|
- by saving the queue to disk now using relative paths for the list of
|
|
|
|
compeled files to reduce the file's size;
|
|
|
|
- eliminated few compiler warnings on GCC;
|
|
|
|
- fixed: when option <DaemonUserName> was specified and nzbget was
|
|
|
|
started as root, the lockfile was not removed;
|
|
|
|
- fixed: nothing was downloaded when the option <Retries> was set to <0>;
|
|
|
|
- fixed: base64 decoding function used by RPC-method <append> sometimes
|
|
|
|
failed, in particular when called from Ruby-language;
|
|
|
|
- fixed: JSON-RPC-commands failed, if parameters were placed before method
|
|
|
|
name in the request;
|
|
|
|
- fixed: RPC-method <append> did not work properly on Posix systems
|
|
|
|
(it worked only on Windows);
|
|
|
|
- fixed compilation error when using native curses library on OpenSolaris;
|
|
|
|
- fixed linking error on OpenSolaris when using GnuTLS;
|
|
|
|
- fixed: option <ContinuePartial> did not work;
|
|
|
|
- fixed: seg. fault in service mode on program start (Windows only);
|
|
|
|
- fixed: environment block was not passed correctly to child process,
|
|
|
|
what could result in seg faults (windows only);
|
|
|
|
- fixed: returning the postprocessing exit code <92 - par-check all
|
|
|
|
collections> when there were no par-files results in endless calling
|
|
|
|
of postprocessing script;
|
|
|
|
- fixed compatibility issues with OS/2.
|
|
|
|
|
|
|
|
nzbget-0.6.0:
|
|
|
|
- added scheduler; new options <TaskX.Time>, <TaskX.WeekDays>,
|
|
|
|
<TaskX.Command>, <TaskX.DownloadRate> and <TaskX.Process>;
|
|
|
|
- added support for postprocess-parameters; new subcommand <O> of remote
|
|
|
|
command <E> to add/modify pp-parameter for group (nzb-file); new
|
|
|
|
XML-/JSON-RPC-subcommand <GroupSetParameter> of method <editqueue> for
|
|
|
|
the same purpose; updated example configuration file and example
|
|
|
|
postprocess-script to indicate new method of passing arguments via
|
|
|
|
environment variables;
|
|
|
|
- added subcommands <F>, <G> and <S> to command line switch <-L/--list>,
|
|
|
|
which prints list of files, groups or only status info respectively;
|
|
|
|
extended binary communication protocol to transfer nzb-infos in addition
|
|
|
|
to file-infos;
|
|
|
|
- added new subcommand <M> to edit-command <E> for merging of two (or more)
|
|
|
|
groups (useful after adding pars from a separate nzb-file);
|
|
|
|
- added option <MergeNzb> to automatically merge nzb-files with the same
|
|
|
|
filename (useful by adding pars from a different source);
|
|
|
|
- added script-processing of files in incoming directory to allow automatic
|
|
|
|
unpacking and queueing of compressed nzb-files; new option <NzbProcess>;
|
|
|
|
- added the printing of post-process-parameters for groups in command
|
|
|
|
<--list G>;
|
|
|
|
- added the printing of nzbget version into the log-file on start;
|
|
|
|
- added option <DeleteCleanupDisk> to automatically delete already downloaded
|
|
|
|
files from disk if nzb-file was deleted from queue (the download was
|
|
|
|
cancelled);
|
|
|
|
- added option <ParTimeLimit> to define the max time allowed for par-repair;
|
|
|
|
- added command <--scan/-S> to execute the scan of nzb-directory on remote
|
|
|
|
server;
|
|
|
|
- changed the method to pass arguments to postprocess/nzbprocess: now using
|
|
|
|
environment variables (old method is still supported for compatibility with
|
|
|
|
existing scripts);
|
|
|
|
- added the passing of nzbget-options to postprocess/nzbprocess scripts as
|
|
|
|
environment variables;
|
|
|
|
- extended the communication between nzbget and post-process-script:
|
|
|
|
collections are now detected even if parcheck is disabled;
|
|
|
|
- added support for delayed par-check/repair: post-process-script can request
|
|
|
|
par-check/repair using special exit codes to repair current collection or
|
|
|
|
all collections;
|
|
|
|
- implemented the normalizing of option names and values in option list; the
|
|
|
|
command <-p> also prints normalized names and values now; that makes the
|
|
|
|
parsing of output of command <-p> for external scripts easier;
|
|
|
|
- replaced option <PostLogKind> with new option <ProcessLogKind> which is now
|
|
|
|
used by all scripts (PostProcess, NzbProcess, TaskX.Process);
|
|
|
|
- improved entering to paused state on connection errors (do not retry failed
|
|
|
|
downloads if pause was activated);
|
|
|
|
- improved error reporting on decoding failures;
|
|
|
|
- improved compatibility of yenc-decoder;
|
|
|
|
- improved the speed of deleting of groups from download queue (by avoiding
|
|
|
|
the saving of queue after the deleting of each individual file);
|
|
|
|
- updated configure-script for better compatibility with FreeBSD;
|
|
|
|
- cleaning up of download queue (option <ParCleanupQueue>) and deletion of
|
|
|
|
source nzb-file (option <NzbCleanupDisk>) after par-repair now works also
|
|
|
|
if par-repair was cancelled (option <ParTimeLimit>); since required
|
|
|
|
par-files were already downloaded the repair in an external tool is
|
|
|
|
possible;
|
|
|
|
- added workaround to avoid hangs in child processes (by starting of
|
|
|
|
postprocess or nzbprocess), observed on uClibC based systems;
|
|
|
|
- fixed: TLS/SSL didn't work in standalone mode;
|
|
|
|
- fixed compatibility issues with Mac OS X;
|
|
|
|
- fixed: not all necessary par2-files were unpaused on first request for
|
|
|
|
par-blocks (although harmless, because additional files were unpaused
|
|
|
|
later anyway);
|
|
|
|
- fixed small memory leak appeared if process-script could not be started;
|
|
|
|
- fixed: configure-script could not detect the right syntax for function
|
|
|
|
<ctime_r> on OpenSolaris.
|
|
|
|
- fixed: files downloaded with disabled decoder (option decode=no) sometimes
|
|
|
|
were malformed and could not be decoded;
|
|
|
|
- fixed: empty string parameters did not always work in XML-RPC.
|
|
|
|
|
|
|
|
nzbget-0.5.1:
|
|
|
|
- improved the check of server responses to prevent unnecessary retrying
|
|
|
|
if the article does not exist on server;
|
|
|
|
- fixed: seg.fault in standalone mode if used without specifying the
|
|
|
|
category (e.g. without switch <-K>);
|
|
|
|
- fixed: download speed indicator could report not-null values in
|
|
|
|
standby-mode (when paused);
|
|
|
|
- fixed: parameter <category> in JSON/XML-RPC was not properly decoded by
|
|
|
|
server, making the setting of a nested category (containing slash or
|
|
|
|
backslash character) via nzbgetweb not possible;
|
|
|
|
|
|
|
|
nzbget-0.5.0:
|
|
|
|
- added TLS/SSL-support for encrypted communication with news-servers;
|
|
|
|
- added IPv6-support for communication with news-servers as well as for
|
|
|
|
communication between nzbget-server and nzbget-client;
|
|
|
|
- added support for categories to organize downloaded files;
|
|
|
|
- new option <AppendCategoryDir> to create the subdirectory for each category;
|
|
|
|
- new switch <-K> for usage with switch <-A> to define a category during
|
|
|
|
the adding a file to download queue;
|
|
|
|
- new command <K> in switch <-E> to change the category of nzb-file in
|
|
|
|
download queue; the already downloaded files are automatically moved to new
|
|
|
|
directory if the option <AppendCategoryDir> is active;
|
|
|
|
- new parameter <Category> in XML-/JSON-RPC-command <editqueue> to allow the
|
|
|
|
changing of category via those protocols;
|
|
|
|
- new parameter in a call to post-process-script with category name;
|
|
|
|
- scanning of subdirectories inside incoming nzb-directory to automatically
|
|
|
|
assign category names; nested categories are supported;
|
|
|
|
- added option <ServerX.JoinGroup> to connect to servers, that do not accept
|
|
|
|
<GROUP>-command;
|
|
|
|
- added example post-process script for unraring of downloaded files
|
|
|
|
(POSIX only);
|
|
|
|
- added options <ParPauseQueue> and <PostPauseQueue> useful on slow CPUs;
|
|
|
|
- added option <NzbCleanupDisk> to delete source nzb-file after successful
|
|
|
|
download and parcheck;
|
|
|
|
- switch <-P> can now be used together with switches <-s> and <-D> to start
|
|
|
|
server/daemon in paused state;
|
|
|
|
- changed the type of messages logged in a case of connection errors from
|
|
|
|
<DEBUG> to <ERROR> to provide better error reporting;
|
|
|
|
- now using OS-specific line-endings in log-file and brokenlog-file: LF on
|
|
|
|
Posix and CRLF on Windows;
|
|
|
|
- added detection of adjusting of system clock to correct uptime/download
|
|
|
|
time (for NAS-devices, that do not have internal clock and set time from
|
|
|
|
internet after booting, while nzbget may be already running);
|
|
|
|
- added the printing of stack on segmentation faults (if configured with
|
|
|
|
<--enable-debug>, POSIX only);
|
|
|
|
- added option <DumpCore> for better debugging on Linux in a case of abnormal
|
|
|
|
program termination;
|
|
|
|
- fixed: configure-script could not automatically find libsigc++ on 64-bit
|
|
|
|
systems;
|
|
|
|
- few other small fixes;
|
|
|
|
|
|
|
|
nzbget-0.4.1:
|
|
|
|
- to avoid accidental deletion of file in curses-frontend the key <D>
|
|
|
|
now must be pressed in uppercase;
|
|
|
|
- options <username> and <password> in news-server's configuration are now
|
|
|
|
optional;
|
|
|
|
- added the server's name to the detail-log-message, displayed on the start
|
|
|
|
of article's download;
|
|
|
|
- added the option <AllowReProcess> to help to post-process-scripts, which
|
|
|
|
make par-check/-repair on it's own;
|
|
|
|
- improved download-speed-meter: it uses now a little bit less cpu and
|
|
|
|
calculates the speed for the last 30 seconds (instead of 5 seconds),
|
|
|
|
providing better accuracy; Thanks to ydrol <ydrol@users.sourceforge.net>
|
|
|
|
for the patch;
|
|
|
|
- reduced CPU-usage in curses-outputmode; Thanks to ydrol for the patch
|
|
|
|
<ydrol@users.sourceforge.net>;
|
|
|
|
- fixed: line-endings in windows-style (CR-LF) in config-file were not
|
|
|
|
read properly;
|
|
|
|
- fixed: trailing spaces in nzb-filenames (before the file's extension)
|
|
|
|
caused errors on windows. Now they will be trimmed;
|
|
|
|
- fixed: XML-RPC and JSON-RPC did not work on Big-Endian-CPUs (ARM, PPC, etc),
|
|
|
|
preventing the using of web-interface;
|
|
|
|
- fixed: umask-option did not allow to enable write-permissions for <group>
|
|
|
|
and <others>;
|
|
|
|
- fixed: in curses-outputmode the remote-client showed on first screen-update
|
|
|
|
only one item of queue;
|
|
|
|
- fixed: edit-commands with negative offset did not work via XML-RPC
|
|
|
|
(but worked via JSON-RPC);
|
|
|
|
- fixed incompatibility issues with gcc 4.3; Thanks to Paul Bredbury
|
|
|
|
<brebs@users.sourceforge.net> for the patch;
|
|
|
|
- fixed: segmentation fault if a file listed in nzb-file does not have any
|
|
|
|
segments (articles);
|
|
|
|
|
|
|
|
nzbget-0.4.0:
|
|
|
|
- added the support for XML-RPC and JSON-RPC to easier control the server
|
|
|
|
from other applications;
|
|
|
|
- added web-interface - it is available for download from NZBGet-project's
|
|
|
|
home page as a separate package "web-interface";
|
|
|
|
- added the automatic cleaning up of the download queue (deletion of unneeded
|
|
|
|
paused par-files) after successful par-check/repair - new
|
|
|
|
option <ParCleanupQueue>;
|
|
|
|
- added option <DetailTarget> to allow to filter the (not so important)
|
|
|
|
log-messages from articles' downloads (they have now the type <detail>
|
|
|
|
instead of <info>);
|
|
|
|
- added the gathering of progress-information during par-check; it is
|
|
|
|
available via XML-RPC or JSON-RPC; it is also showed in web-interface;
|
|
|
|
- improvements in internal decoder: added support for yEnc-files without
|
|
|
|
ypart-statement (sometimes used for small files); added support for
|
|
|
|
UU-format;
|
|
|
|
- removed support for uulib-decoder (it did not work well anyway);
|
|
|
|
- replaced the option <decoder (yenc, uulib, none)> with the option
|
|
|
|
<decode (yes, no)>;
|
|
|
|
- added detection of errors <server busy> and <remote server not available>
|
|
|
|
(special case for NNTPCache-server) to consider them as connect-errors
|
|
|
|
(and therefore not count as retries);
|
|
|
|
- added check for incomplete articles (also mostly for NNTPCache-server) to
|
|
|
|
differ such errors from CrcErrors (better error reporting);
|
|
|
|
- improved error-reporting on moving of completed files from tmp- to
|
|
|
|
dst-directory and added code to move files across drives if renaming fails;
|
|
|
|
- improved handling of nzb-files with multiple collections in par-checker;
|
|
|
|
- improved the parchecker: added the detection and processing of files
|
|
|
|
splitted after parring;
|
|
|
|
- added the queueing of post-process-scripts and waiting for script's
|
|
|
|
completion before starting of a next job in postprocessor (par-job or
|
|
|
|
script) to provide more balanced cpu utilization;
|
|
|
|
- added the redirecting of post-process-script's output to log; new option
|
|
|
|
<PostLogKind> to specify the default message-kind for unformatted
|
|
|
|
log-messages;
|
|
|
|
- added the returning of script-output by command <postqueue> via XML-RPC
|
|
|
|
and JSON-RPC; the script-output is also showed in web-interface;
|
|
|
|
- added the saving and restoring of the post-processor-queue (if server was
|
|
|
|
stopped before all items were processed); new option <ReloadPostQueue>;
|
|
|
|
- added new parameter to postprocess-script to indicate if any of par-jobs
|
|
|
|
for the same nzb-file failed;
|
|
|
|
- added remote command (switch O/--post) to request the post-processor-queue
|
|
|
|
from server;
|
|
|
|
- added remote command (switch -W/--write) to write messages to server's log;
|
|
|
|
- added option <DiskSpace> to automatically pause the download on low disk
|
|
|
|
space;
|
|
|
|
- fixed few incompatibility-issues with unslung-platform on nslu2 (ARM);
|
|
|
|
- fixed: articles with trailing text after binary data caused the decode
|
|
|
|
failures and the reporting of CRC-errors;
|
|
|
|
- fixed: dupecheck could cause seg.faults when all articles for a file failed;
|
|
|
|
- fixed: by dupe-checking of files contained in nzb-file the files with the
|
|
|
|
same size were ignored (not deleted from queue);
|
|
|
|
- updated libpar2-patch for msvc to fix a segfault in libpar2 (windows only);
|
|
|
|
- fixed: by registering the service on windows the fullpath to nzbget.exe
|
|
|
|
was not always added to service's exename, making the registered service
|
|
|
|
unusable;
|
|
|
|
- fixed: the pausing of a group could cause the start of post-processing for
|
|
|
|
that group;
|
|
|
|
- fixed: too many info-messages <Need more N blocks> could be printed during
|
|
|
|
par-check (appeared on posix only);
|
|
|
|
|
|
|
|
nzbget-0.3.1:
|
|
|
|
- Greatly reduced the memory consumption by keeping articles' info on disk
|
|
|
|
until the file download starts;
|
|
|
|
- Implemented decode-on-the-fly-technique to reduce disk-io; downloaded
|
|
|
|
and decoded data can also be saved directly to the destination file
|
|
|
|
(without any intermediate files at all); this eliminates the necessity
|
|
|
|
of joining of articles later (option "DirectWrite");
|
|
|
|
- Improved communication with news-servers: connections are now keeped open
|
|
|
|
until all files are downloaded (or server paused); this eliminates the
|
|
|
|
need for establishing of connections and authorizations for each
|
|
|
|
article and improves overal download speed;
|
|
|
|
- Significantly better download speed is now possible on fast connection;
|
|
|
|
it was limited by delays on starting of new articles' downloads;
|
|
|
|
the synchronisation mechanism was reworked to fix this issue;
|
|
|
|
- Download speed meter is much more accurate, especially on fast connections;
|
|
|
|
this also means better speed throttling;
|
|
|
|
- Speed optimisations in internal decoder (up to 25% faster);
|
|
|
|
- CRC-calculation can be bypassed to increase performance on slow CPUs
|
|
|
|
(option "CrcCheck");
|
|
|
|
- Improved parsing of artcile's subject for better extracting of filename
|
|
|
|
part from it and implemented a fallback-option if the parsing was incorrect;
|
|
|
|
- Improved dupe check for files from the same nzb-request to detect reposted
|
|
|
|
files and download only the best from them (if option "DupeCheck" is on);
|
|
|
|
- Articles with incorrect CRC can be treated as "possibly recoverable errors"
|
|
|
|
and relaunched for download (option "RetryOnCrcError"), it is useful if
|
|
|
|
multiple servers are available;
|
|
|
|
- Improved error-check for downloaded articles (crc-check and check for
|
|
|
|
received message-id) decreases the number of broken files;
|
|
|
|
- Extensions in curses-outputmode: added group-view-mode (key "G") to show
|
|
|
|
items in download queue as groups, where one group represents all files
|
|
|
|
from the same nzb-file; the editing of queue works also in group-mode
|
|
|
|
(for all files in this group): pause/unpause/delete/move of groups;
|
|
|
|
- Other extensions in curses-outputmode: key "T" toggles timestamps in log;
|
|
|
|
added output of statistical data: uptime, download-time, average session
|
|
|
|
download speed;
|
|
|
|
- Edit-command accepts more than one ID or range of IDs.
|
|
|
|
E.g: "nzbget -E P 2,6-10,33-39"; The switch "-I" is not used anymore;
|
|
|
|
- Move-actions in Edit-command affect files in a smart order to guarantee
|
|
|
|
that the relative order of files in queue is not changed after the moving;
|
|
|
|
- Extended syntax of edit-command to edit groups (pause/unpause/delete/move
|
|
|
|
of groups). E.g: "nzbget -E G P 2";
|
|
|
|
- Added option "DaemonUserName" to set the user that the daemon (POSIX only)
|
|
|
|
normally runs at. This allows nzbget daemon to be launched in rc.local
|
|
|
|
(at boot), and download items as a specific user id; Thanks to Thierry
|
|
|
|
MERLE <merlum@users.sourceforge.net> for the patch;
|
|
|
|
- Added option "UMask" to specify permissions for newly created files and dirs
|
|
|
|
(POSIX only);
|
|
|
|
- Communication protocol used between server and client was revised to define
|
|
|
|
the byte order for transferred data. This allows hosts with different
|
|
|
|
endianness to communicate with each other;
|
|
|
|
- Added options "CursesNzbName", "CursesGroup" and "CursesTime" to define
|
|
|
|
initial state of curses-outputmode;
|
|
|
|
- Added option "UpdateInterval" to adjust update interval for Frontend-output
|
|
|
|
(useful in remote-mode to reduce network usage);
|
|
|
|
- Added option "WriteBufferSize" to reduce disk-io (but it could slightly
|
|
|
|
increase memory usage and therefore disabled by default);
|
|
|
|
- List-command prints additional statistical info: uptime, download-time,
|
|
|
|
total amount of downloaded data and average session download speed;
|
|
|
|
- The creation of necessary directories on program's start was extended
|
|
|
|
with automatic creation of all parent directories or error reporting
|
|
|
|
if it was not possible;
|
|
|
|
- Printed messages are now translated to oem-codepage to correctly print
|
|
|
|
filenames with non-english characters (windows only);
|
|
|
|
- Added remote-command "-V (--serverversion)" to print the server's version;
|
|
|
|
- Added option "ThreadLimit" to prevent program from crash if it wants to
|
|
|
|
create too many threads (sometimes could occur in special cases);
|
|
|
|
- Added options "NzbDirInterval" and "NzbDirFileAge" to adjust interval and
|
|
|
|
delay by monitoring of incoming-directory for new nzb-files;
|
|
|
|
- Fixed error on parsing of nzb-files containing percent and other special
|
|
|
|
characters in their names (bug appeared on windows only);
|
|
|
|
- Reformated sample configuration file and changed default optionnames
|
|
|
|
from lowercase to MixedCase for better readability;
|
|
|
|
- Few bugs (seg faults) were fixed.
|
|
|
|
|
|
|
|
nzbget-0.3.0:
|
|
|
|
- The download queue now contains newsgroup-files to be downloaded instead of
|
|
|
|
nzb-jobs. By adding a new job, the nzb-file is immediately parsed and each
|
|
|
|
newsgroup-file is added to download queue. Each file can therefore be
|
|
|
|
managed separately (paused, deleted or moved);
|
|
|
|
- Current queue state is saved after every change (file is completed or the
|
|
|
|
queue is changed - entries paused, deleted or moved). The state is saved on
|
|
|
|
disk using internal format, which allows fast loading on next program start
|
|
|
|
(no need to parse xml-files again);
|
|
|
|
- The remaining download-size is updated after every article is completed to
|
|
|
|
indicate the correct remaining size and time for total files in queue;
|
|
|
|
- Downloaded articles, which are saved in temp-directory, can be reused on
|
|
|
|
next program start, if the file was not completed (option "continuepartial"
|
|
|
|
in config-file);
|
|
|
|
- Along with uulib the program has internal decoder for yEnc-format. This
|
|
|
|
decoder was necessary, because uulib is so slow, that it prevents using of
|
|
|
|
the program on not so powerful systems like linux-routers (MIPSEL CPU 200
|
|
|
|
MHz). The new decoder is very fast. It is controlled over option "decoder"
|
|
|
|
in config-file;
|
|
|
|
- The decoder can be completely disabled. In this case all downloaded articles
|
|
|
|
are saved in unaltered form and can be joined with an external program;
|
|
|
|
UUDeview is one of them;
|
|
|
|
- If download of article fails, the program attempts to download it again so
|
|
|
|
many times, what the option "retries" in config-file says. This works even
|
|
|
|
if no servers with level higher than "0" defined. After each retry the next
|
|
|
|
server-level is used, if there are no more levels, the program switches to
|
|
|
|
level "0" again. The pause between retries can be set with config-option
|
|
|
|
"retryinterval";
|
|
|
|
- If despite of a stated connection-timeout (it can be changed via
|
|
|
|
config-option "connectiontimeout") connection hangs, the program tries to
|
|
|
|
cancel the connection (after "terminatetimeout" seconds). If it doesn't
|
|
|
|
work the download thread is killed and the article will be redownloaded in
|
|
|
|
a new thread. This ensures, that there are no long-time hanging connections
|
|
|
|
and all articles are downloaded, when a time to rejoin file comes;
|
|
|
|
- Automatic par-checking and repairing. Only reuired par-files are downloaded.
|
|
|
|
The program uses libpar2 and does not require any external tools. The big
|
|
|
|
advantage of library is, that it allows to continue par-check after new
|
|
|
|
par-blocks were downloaded. This were not possible with external
|
|
|
|
par2cmdline-tool;
|
|
|
|
- There is a daemon-mode now (command-line switch "-D" (--daemon)). In this
|
|
|
|
mode a lock-file (default location "/tmp/nzbget.lock", can be changed via
|
|
|
|
option "lockfile") contains PID of daemon;
|
|
|
|
- The format of configuration-file was changed from xml to more common
|
|
|
|
text-format. It allows also using of variables like
|
|
|
|
"tempdir=${MAINDIR}/tmp";
|
|
|
|
- Any option of config-file can be overwritten via command-line switch
|
|
|
|
"-o" (--option). This includes also the definition of servers.
|
|
|
|
This means that the program can now be started without a configuration-file
|
|
|
|
at all (all required options must be passed via command-line);
|
|
|
|
- The command-line switches were revised. The dedicated switches to change
|
|
|
|
options in config-file were eliminated, since any option can now be changed
|
|
|
|
via switch "-o" (--option);
|
|
|
|
- If the name of configuration-file was not passed via command-line the
|
|
|
|
program search it in following locations: "~/.nzbget", "/etc/nzbget.conf",
|
|
|
|
"/usr/etc/nzbget.conf", "/usr/local/etc/nzbget.conf",
|
|
|
|
"/opt/etc/nzbget.conf";
|
|
|
|
- The new command-line switch "-n" (--noconfigfile) prevents the loading of
|
|
|
|
a config-file. All required config-options must be passed via command-line
|
|
|
|
(switch "-o" (--option));
|
|
|
|
- To start the program in server mode either "-s" (--server) or
|
|
|
|
"-D" (--daemon) switch must be used. If the program started without any
|
|
|
|
parameters it prints help-screen. There is no a dedicated switch to start
|
|
|
|
in a standalone mode. If switches "-s" and "-D" are omitted and none of
|
|
|
|
client-request-switches used the standalone mode is default. This usage
|
|
|
|
of switches is more common to programs like "wget". To add a file to
|
|
|
|
server's download queue use switch "-A" (--append) and a name of nzb-file
|
|
|
|
as last command-line parameter;
|
|
|
|
- There is a new switch "-Q" (--quit) to gracefully stop server. BTW the
|
|
|
|
SIGKIL-signal is now handled appropriately, so "killall nzbget" is also OK,
|
|
|
|
where "killall -9 nzbget" terminates server immediately (helpful if it
|
|
|
|
hangs, but it shouldn't);
|
|
|
|
- With new switch "-T" (--top) the file will be added to the top of download
|
|
|
|
queue. Use it with switch "-A" (--append);
|
|
|
|
- The download queue can be edited via switch "-E" (--edit). It is possible
|
|
|
|
to pause, unpause, delete and move files in queue. The IDs of file(s)
|
|
|
|
to be affected are passed via switch "-I" (fileid), either one ID or a
|
|
|
|
range in a form "IDForm-IDTo". This also means, that every file in queue
|
|
|
|
have ID now;
|
|
|
|
- The switch "-L" (--list) prints IDs of files consequently. It prints also
|
|
|
|
name, size, percentage of completing and state (paused or not) of each file.
|
|
|
|
Plus summary info: number of files, total remaining size and size of
|
|
|
|
paused files, server state (paused or running), number of threads on
|
|
|
|
server, current speed limit;
|
|
|
|
- With new switch "-G" (--log) the last N lines printed to server's
|
|
|
|
screen-log, can be printed on client. The max number of lines which can
|
|
|
|
be returned from servers depends on option "logbuffersize";
|
|
|
|
- The redesigned Frontends (known as outputmodes "loggable", "colored" and
|
|
|
|
"curses") can connect to (remote) server and behave as if you were running
|
|
|
|
server-instance of program itself (command-line switch "-C" (--connect)).
|
|
|
|
The log-output updates constantly and even all control-functions in
|
|
|
|
ncurses-mode works: pause/unpause server, set download rate limit, edit of
|
|
|
|
queue (pause/unpause, delete, move entries). The number of connected
|
|
|
|
clients is not limited. The "outputmode" on a client can be set
|
|
|
|
independently from server. The client-mode is especially useful if the
|
|
|
|
server runs as a daemon;
|
|
|
|
- The writing to log-file can be disabled via option "createlog".
|
|
|
|
The location of log-file controls the option "log-file";
|
|
|
|
- Switch "-p" (--printconfig) prints the name of configuration file being
|
|
|
|
used and all option/value-pairs, taking into account all used
|
|
|
|
"-o" (--option) - switches;
|
|
|
|
- The communication protocol between server and client was optimized to
|
|
|
|
minimize the size of transferred data. Instead of fixing the size for
|
|
|
|
Filenames in data-structures to 512 bytes only in fact used data
|
|
|
|
are transferred;
|
|
|
|
- Extensions in ncurses-outputmode: scrolling in queue-list works better,
|
|
|
|
navigation in queue with keys Up, Down, PgUp, PgDn, Home, End.
|
|
|
|
Keys to move entries are "U" (move up), "N" (move down), "T" (move to top),
|
|
|
|
"B" (move to bottom). "P" to pause/unpause file. The size, percentage
|
|
|
|
of completing and state (paused or not) for every file is printed.
|
|
|
|
The header of queue shows number of total files, number of unpaused
|
|
|
|
files and size for all and unpaused files. Better using of screen estate
|
|
|
|
space - no more empty lines and separate header for status (total seven
|
|
|
|
lines gain). The messages are printed on several lines (if they not fill
|
|
|
|
in one line) without trimming now;
|
|
|
|
- configure.ac-file updated to work with recent versions of autoconf/automake.
|
|
|
|
There are new configure-options now: "--disable-uulib" to compile the
|
|
|
|
program without uulib; "--disable-ncurses" to disable ncurses-support
|
|
|
|
(eliminates necessity of ncurses-libs), useful on embedded systems with
|
|
|
|
little resources; "--disable-parcheck" to compile without par-check;
|
|
|
|
- The algorithm for parsing of nzb-files now uses XMLReader instead of
|
|
|
|
DOM-Parser to minimize memory usage (no mor needs to build complete DOM-tree
|
|
|
|
in memory). Thanks to Thierry MERLE <merlum@users.sourceforge.net> for
|
|
|
|
the patch;
|
|
|
|
- The log-file contains now thread-ID for all entry-types and additionally
|
|
|
|
for debug-entries: filename, line number and function's name of source
|
|
|
|
code, where the message was printed. Debug-messages can be disabled in
|
|
|
|
config-file (option "debugtarget") like other messages;
|
|
|
|
- The program is now compatible with windows. Project file for MS Visual
|
|
|
|
C++ 2005 is included. Use "nzbget -install" and "nzbget -remove" to
|
|
|
|
install/remove NZBGet-Service. Servers and clients can run on diferrent
|
|
|
|
operating systems;
|
|
|
|
- Improved compatibility with POSIX systems; Tested on:
|
|
|
|
- Linux Debian 3.1 on x86;
|
|
|
|
- Linux BusyBox with uClibc on MIPSEL;
|
|
|
|
- PC-BSD 1.4 (based on FreeBSD 6.2) on x86;
|
|
|
|
- Solaris 10 on x86;
|
|
|
|
- Many memory-leaks and thread issues were fixed;
|
|
|
|
- The program was thoroughly worked over. Almost every line of code was
|
|
|
|
revised.
|
|
|
|
|
|
|
|
nzbget-0.2.3
|
|
|
|
- Fixed problem with losing connection to newsserver after too long idle time
|
|
|
|
- Added functionality for dumping lots of debug info
|
|
|
|
|
|
|
|
nzbget-0.2.2
|
|
|
|
- Added Florian Penzkofers fix for FreeBSD, exchanging base functionality in
|
|
|
|
SingleServerPool.cpp with a more elegant solution
|
|
|
|
- Added functionality for forcing answer to reloading queue upon startup of
|
|
|
|
server
|
|
|
|
+ use -y option to force from command-line
|
|
|
|
+ use "reloadqueue" option in nzbget.cfg to control behavior
|
|
|
|
- Added nzbget.cfg options to control where info, warnings and errors get
|
|
|
|
directed to (either screen, log or both)
|
|
|
|
- Added option "createbrokenfilelog" in nzbget.cfg
|
|
|
|
|
|
|
|
nzbget-0.2.1
|
|
|
|
- Changed and extended the TCP client/server interface
|
|
|
|
- Added timeout on sockets which prevents certain types of nzbget hanging
|
|
|
|
- Added Kristian Hermansen's patch for renaming broken files
|
|
|
|
|
|
|
|
nzbget-0.2.0
|
|
|
|
- Moved 0.1.2-alt4 to a official release as 0.2.0
|
|
|
|
- Small fixes
|
|
|
|
|
|
|
|
nzbget-0.1.2-alt4
|
|
|
|
- implemented tcp/ip communication between client & server (removing the
|
|
|
|
rather defunct System V IPC)
|
|
|
|
- added queue editing functionality in server-mode
|
|
|
|
|
|
|
|
nzbget-0.1.2-alt1
|
|
|
|
- added new ncurses frontend
|
|
|
|
- added server/client-mode (using System V IPC)
|
|
|
|
- added functionality for queueing download requests
|
|
|
|
|
|
|
|
nzbget-0.1.2
|
|
|
|
- performance-improvements
|
|
|
|
- commandline-options
|
|
|
|
- fixes
|
|
|
|
|
|
|
|
nzbget-0.1.1
|
|
|
|
- new output
|
|
|
|
- fixes
|
|
|
|
|
|
|
|
nzbget-0.1.0a
|
|
|
|
- compiling-fixes
|
|
|
|
|
|
|
|
nzbget-0.1.0
|
|
|
|
- initial release
|
|
|