This repository has been archived by the owner on Nov 18, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 194
/
ChangeLog
2638 lines (2601 loc) · 155 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
nzbget-17.1:
- adjustments and fixes for "Retry failed articles" function, better handling
of certain corner cases;
- partial compatibility with gcc 4.8;
- removed unnecessary debug logging to javascript console;
- improved error reporting on certain file operations;
- corrected option description;
- corrected text in history delete confirmation dialog;
- fixed performance issue on certain Windows systems;
- fixed: root drive paths on Windows could not be used (for example
"NzbDir=N:\");
- fixed hanging after marking as BAD from queue script;
- fixed: old nzbget.exe was deleted even when installing into a new directory
(Windows only);
- fixed: compilation error if configured with unit tests but without par-module;
- fixed crash on malformed articles;
- fixed javascript error on Chrome for Linux;
- fixed compilation error if configured without TLS.
nzbget-17.0:
- reworked the full source code base to utilize modern C++ features:
- with the main motivation to make the code nicer and more fun to work
with;
- to compile NZBGet from source a compiler supporting C++14 is required;
- most users don't have to compile on their own and can use official
installers offered on download page;
- for a detailed list of internal changes see Milestone "Modern C++" on
GitHub;
- now offering an official installer for FreeBSD:
- automatic installation;
- built-in update via web-interface;
- currently supporting only x86_64 CPU architecture;
- full support for Unicode and extra long file paths (more than 260 characters)
on Windows including:
- downloading;
- par-verification and -repair;
- par-renaming (deobfuscation);
- unpacking;
- post-processing;
- added download volume quota management:
- new options "MonthlyQuota", "QuotaStartDay", "DailyQuota";
- downloading is suspended when the quota is reached and automatically
resumed when the next billing period starts (month or day);
- new fields in RPC-method "status": MonthSizeLo, MonthSizeHi,
MonthSizeMB, DaySizeLo, DaySizeHi, DaySizeMB, QuotaReached.
MonthSizes are related to current billing month taking option
"QuotaStartDay" into account;
- download volume for "this month" shown in web-interface in statistics
dialog shows data for current billing month (taking option
"QuotaStartDay" into account);
- remaining time is shown in orange when the quota is reached;
- dialog "statistics and status" may show extra row "Download quota:
reached";
- new function "Retry failed articles" in history:
- failed downloads can be now tried again but in contrast to command
"Download again" only failed articles are downloaded whereas
successfully downloaded pieces are reused;
- new command "HistoryRetryFailed" of RPC-method "editqueue";
- new subcommand "F" of command line switch "-E/--edit" for history;
- reworked options to delete already downloaded files when deleting downloads
from queue:
- removed option "DeleteCleanupDisk";
- in the "Delete downloads confirmation dialog" allowing user to decide
if the already downloaded files must be deleted or not;
- option "HealthCheck" extended with new possible value "Park"; Health
check now offers:
- "Delete" - to move download into history and delete already
downloaded files;
- "Park" - to move download into history and keep already downloaded
files;
- remote command "GroupDelete" now always delete already downloaded files;
- new remote command "GroupParkDelete" keeps already downloaded files;
- new subcommand "DP" of console command "--edit/-E" to delete download
from queue and keep already downloaded files;
- new queue script event "NZB_MARKED"; new env var "NZBNA_MARKSTATUS" is
passed to queue scripts:
- new option "ShellOverride" allows to configure path to python, bash, etc.;
useful on systems with non-standard paths; eliminating the need to change
shebang for every script; also makes it possible to put scripts on non-exec
file systems;
- reduced disk fragmentation in direct write mode on Windows; this improves
unpack speed;
- news servers can now be configured as optional; marking server as optional
tells NZBGet to ignore this server if a connection to this server cannot be
established;
- added support for tvdbid and tvmazeid in rss feeds;
- added button to save nzb-log into a file directly from web-ui;
- queue-scripts can now change destination after download is completed and
before unpack;
- queue-scripts save messages into nzb-log;
- showing number of selected items in confirmation box when deleting or
performing other actions on multiple items in web-interface;
- built-in web-server can now use certificate chain files through option
"SecureCert", when compiled using OpenSSL;
- added support for SNI in TLS/SSL;
- better error reporting when using GnuTLS;
- allowing character "=" in dupe-badges;
- par-check doesn't ignore files from option "ExtCleanupDisk" anymore; only
files listed in option "ParIgnoreExt" are ignored;
- low-level messages from par2-module are now added to log (as DETAIL);
- option "ScriptDir" now accepts multiple directories;
- path to original queued nzb-file is now passed to scripts;
- hidden files and directories are now ignored by the scanner of incoming nzb
directory;
- separated disk state files for queue and history for better performance;
- improved replacing of invalid characters in file names in certain cases;
- automatically removing orphaned diskstate files from QueueDir;
- added support for file names with reserved words on Windows;
- added several settings to change behavior of web-interface, new section
"WEB-INTERFACE" on settings page;
- showing various status info in browser window title:
- number of downloads, current speed, remaining time, pause state;
- new option "WindowTitle";
- improved tray icon (Windows) to look better on a dark background;
- feed scripts must now return exit codes; this is to prevent queueing of
all files from the feed if the feed script crashes;
- improved error reporting on DNS lookup errors;
- fixed: splitted files were not always joined;
- fixed: wrong encoding in file names of downloaded files;
- fixed: queue-scripts not called for failed URLs if the scripts were set in
category’s option "PostScript";
- fixed: crash when executing command "--printconfig";
- fixed: error messages when trying to delete intermediate directory on Windows;
- fixed: web-ui didn't load in Chrome on iOS;
- improved POSIX configure script - now using pkg-config for all required
libraries;
- improved Windows installer - scripts are now installed into a subdirectory
of default "MainDir" (C:\ProgramData\NZBGet\scripts) instead of program's
directory;
- updated and corrected option descriptions.
nzbget-16.4:
- fixed resource (socket) leak which may cause "too many open files"
errors with a possible crash.
nzbget-16.3:
- fixed: certain downloads may fail due to a bug in the workaround
implemented in v16.2.
nzbget-16.2:
- implemented workaround to deal with malformed news server responses,
which may still contain useful data.
nzbget-16.1:
- fixed issues with reverse proxies;
- fixed unpack failure on older AMD CPUs, when installed via
universal Linux installer;
- fixed: when the program was started from setup the default directories
were created with wrong permission (Windows only).
nzbget-16.0:
- moved project hosting to GitHub:
- moved source code repository from subversion to git;
- updated POSIX makefile to generate revision number for testing
releases;
- updated Linux installer build script to work with git;
- adjusted function "check for updates" in web-interface;
- update-scripts for Linux installer and Windows setup fetch new
versions from GitHub releases area;
- cleaned up project root directory, removed many unneeded files which
were required by GNU build tools;
- added verification for setup authenticity during update on Linux and Windows;
- improvements in Linux installer:
- improved compatibility with android;
- added support for paths with spaces in parameter "--destdir";
- auto-selecting "armhf"-architecture on ARM 64 bit systems (aarch64);
- ignored nzbs are now added to history and processed by queue scripts:
- when an nzb-file isn’t added to queue, for some reason, the file is now
also added to history (in addition to messages printed to log);
- on one hand that makes it easier to see errors (as history items instead
of error log messages), on the other hand that provides more info for
extension scripts and third-party programs;
- for malformed nzb-files which cannot be parsed the status in history is
"DELETE: SCAN";
- for duplicate files with exactly same content status "DELETE: COPY";
- for duplicate files having history items with status "GOOD" and for
duplicate files having hidden history items with status "SUCCESS" which
do not have any visible duplicates - status "DELETE: GOOD";
- new values for field "DeleteStatus" of API-Method "history": "GOOD",
"COPY", "SCAN";
- new values for field "Status" of API-Method "history": "FAILURE/SCAN",
"DELETED/COPY", "DELETED/GOOD" (they will also be passed to pp-scripts
as NZBPP_STATUS);
- new queue-script event "NZB_DELETED";
- new queue event "URL_COMPLETED", with possible details: "FAILURE",
"SCAN_SKIPPED", "SCAN_FAILURE";
- improved quick filter (the search box at the top of the page):
- now supporting OR, AND, NOT, parenthesis;
- can search in specific fields;
- can search in API-fields which are not shown in the table;
- filters can be saved and loaded using new drop down menu;
- new advanced duplicate par-check mode:
- can be activated via option "ParScan=Dupe";
- the new mode is based on the fact that the same releases are posted to
Usenet multiple times;
- when an item requires repair but doesn't have enough par-blocks the
par-checker can reuse parts downloaded in other duplicates of the same
title;
- that makes it sometimes possible to repair downloads which would fail
if tried to repair individually;
- the downloads must be identifiable as duplicates (same nzb name or same
duplicate key);
- when par-checker needs more par-blocks it goes through the history and
scans the download directories of duplicates until it finds missing
blocks; it's smart enough to abort the scanning if the files come from
different releases (based on video file size);
- adjusted option "HealthCheck"; when set to "Delete" and duplicate
par-scan is active, the download is aborted only if the completion is
below 10%; that's to avoid deletion of damaged downloads which can be
potentially repaired using new par-check mode;
- downloads which were repaired using the new mode or which have donated
their blocks to repair other downloads are distinguishable in the
history details dialog with new status "EXPAR: RECIPIENT" or "EXPAR:
DONOR"; a tooltip on the status shows amount of par-blocks
received/donated;
- new field "ExParStatus" returned by API-method "history";
- to quickly find related history items use quick filter
"-exparstatus:none" in history list;
- when adding nzb-files via web-interface it's now possible to change name and
other properties:
- nzb-files in the upload-list are now clickable;
- the click opens properties dialog where the name, password, duplicate
key and duplicate score can be changed;
- queue script activity is now indicated in web-interface:
- items in download list may have new statuses "QS-QUEUED" (gray) or
"QUEUE-SCRIPT" (green);
- new values for field "Status" in API-method "listgroups": "QS_QUEUED",
"QS_EXECUTING";
- the number of active (and queued) scripts are shown in the status dialog
in web-interface; this new row is hidden if no scripts are queued;
- active queue scripts account for activity indicator in web-interface
(rotating button);
- new field "QueueScriptCount" in API-method "status" indicates number of
queue-scripts queued for execution including the currently running;
- added scripting support to RSS Feeds:
- new option "FeedScript" to set global rss feed scripts;
- new option "FeedX.FeedScript" to define per rss feed scripts;
- new option "FeedX.Backlog" to control the RSS feed behavior when fetched for
the first time or after changing of URL or filter;
- implemented cleanup for field "description" in RSS feeds to remove HTML
formatting;
- new option "FlushQueue" ("yes" by default) to force disk cache flush when
saving queue;
- quick toggle of speed limit; "Command/Control + click-on-speed-icon" toggles
between "all servers active and speed-limit=none" and "servers and speed
limit as in the config file";
- new option "RequiredDir" to wait for external drives mount on boot;
- hidden webui option "rowSelect" now works for feed view too;
- improved error message for password protected archives;
- increased limit for log-entries in history dialog from 1000 to 10000;
- completion tab of download details dialog (and history details dialog)
shows per server article completion in percents; now there are also
tooltips to show article counts;
- do not reporting bad blocks for missing files (which are already reported as
missing);
- new setting to set tray icon behavior on Windows;
- improvements in built-in web-server to fix communication errors which may
occur on certain systems, in particular on OS X Safari:
- implemented graceful disconnect strategy in web-server;
- added authorization via X-Auth-Token to overcome Safari’s bug, where
it may stop sending HTTP Basic Auth header when executing ajax
requests;
- pp-script EMail.py now supports new TLS/SSL mode "Force". When active the
secure communication with SMTP server is built using secure socket on
connection level instead of plain connection and following switch into
secure mode using SMTP-command "STARTLS". This new mode is in particular
required when using GMail on port 465;
- speed improvement in built-in web-server on Windows when serving API
requests (web-interface) for very large queue or history (with thousands
items);
- better performance when deleting many items from queue at once (hundreds or
thousands);
- improved performance in web-interface when working with very large queue or
history (thousands of items);
- integrated unit testing framework, created few first unit tests:
- new configure parameter "--enable-tests" to build the program with
tests;
- use "nzbget --tests" to execute all tests or "nzbget --tests -h" for
more options;
- fixes in Linux installer:
- fixed: installer may show wrong IP-address in the quick help message
printed after installation (thanks to @sanderjo);
- fixed: installation failed on certain WD NAS models due to Busybox
limitations;
- fixed: not working endianness detection on mipseb architecture;
- fixed: unrar too slow on x86_64 architecture;
- fixed: reporting of bad blocks for empty files could print garbage file
names;
- fixed: par-check did not work on UNC paths (Windows only);
- fixed: config error messages were not printed to log or screen but only to
stdout, where users typically don’t see them;
- fixed: incorrect reading of UrlStatus from disk state;
- fixed: total articles wasn't reset when downloading again;
- fixed: crash on reload if a queue-script is running;
- fixed: mark as bad may return items to queue if used on multiple items
simultaneously;
- fixed: updating may fail if NZBGet was not installed on the system
drive (Windows only);
- fixed: the program may hang during multithreading par-repair, only certain
Linux system affected;
- fixed: active URL download could not be deleted;
- fixed: par-verification of repaired files were sometimes not skipped in
quick verification mode (option "ParQuick=yes");
- fixed: when parsing nzb-files filenames may be incorrectly detected causing
certain downloads to fail;
- fixed: nzb-files containing very large individual files (many GB) may cause
program to crash or print error "Could not create file ...".
nzbget-15.0:
- improved application for Windows:
- added tray icon (near clock);
- left click on icon pauses/resumes download;
- right click opens menu with important functions;
- console window can be shown/hidden via preferences (is hidden by
default);
- new preference to automatically start the program after login;
- new preference to show browser on start;
- new preference to hide tray icon;
- menu commands to show important folders in windows explorer
(destination, etc.);
- on first start the config file is now placed into subdirectory
"NZBGet" inside standard AppData-directory;
- default destination and other directories are now placed in the
AppData\NZBGet-directory instead of programs directory; this allows
to install the program into "program files"-directory since the
program does not write into the programs directory anymore;
- the program exe has an icon now;
- if the exe is started from windows explorer the program starts in
application mode; if the exe is called from command prompt the program
works in console mode;
- added built-in update feature to windows package; accessible via
web-interface -> settings -> system -> check for updates;
- created installer for windows:
- the program is installed into "program files" by default;
- the working directory with all subdirectories is now placed into
"AppData" directory;
- the batch files nzbget-start.bat and nzbget-recovery-mode.bat are not
needed and not installed anymore;
- created installer for Linux:
- included are precompiled binaries for the most common CPU architectures:
x86, ARM, MIPS and PowerPC;
- installer automatically detects CPU architecture of the system and
installs an appropriate executable;
- configuration file is automatically preconfigured for immediate use;
- installation on supported platforms has become as simple as:
download, run installer, start installed nzbget;
- installer supports automatic updates via web-interface -> settings
-> system - check for updates;
- added support for password list file:
- new option "UnpackPassFile" to set the location of the file;
- during unpack the passwords are tried from the file until unpack
succeeds or all passwords were tried;
- implemented different strategies for rar4 and rar5-archives taking
into account the features of formats;
- for rar5-archives a wrong password is reported by unrar unambiguously
and the program can immediately try other passwords from the password
list;
- for rar4-archives and for 7z-archives it is not possible to
differentiate between damaged archive and wrong password; for those
archives if the first unpack attempt (without password) fails the
program executes par-check (preferably quick par-check if enabled via
option "ParQuick) before trying the passwords from the list;
- another optimization is that the password list is tried only when the
first unpack attempt (without password) reports a password error or
decryption errors; this saves unnecessary unpack attempts for damaged
unencrypted archives;
- options "UnrarCmd" and "SevenZipCmd" can include extra switches to pass to
unrar/7-zip:
- this allows for easy passing of additional parameters without creating
of proxy shell scripts;
- improved news server connections handling:
- if a download of an article fails due to connection error the news
server becomes temporary disabled (blocked) for several seconds
(defined by option "RetryInterval");
- the download is then retried on another news server (of the same
level) if available;
- if no other news servers (of the same level) exist the program will
retry the same news server after its block interval expires;
- this increases failure tolerance when multiple news servers are used;
- added on-demand queue sorting:
- one click on column title in web interface sorts the selected or all
items;
- if the items were already sorted in that order they are sorted
backwards; in other words the second click sorts in descending order;
- when sorting selected items they are also grouped together in a case
there were holes between selected items;
- RPC-method "editqueue" has new command "GroupSort", parameter "Text"
must be one of: "name", "priority", "category", "size", "left"; add
character "+" or "-" to explicitly define ascending or descending
order (for example "name-"); if none of these characters
is used the auto-mode is active: the items are sorted in ascending
order first, if nothing changed - they are sorted again in descending
order;
- added restricted user and add-user:
- restricted user has access to most program functions but cannot see
security related options (including usernames and passwords) and
cannot save configuration;
- restricted user can be used with other programs and web-sites;
- add-user can only add new downloads via RPC-API and can be used with
other programs or web-sites;
- added per-nzb logging:
- each nzb now has its own individual log;
- messages printed during download or post-processing are saved;
- the messages can be retrieved later at any time;
- new button "Log" in the history details dialog;
- button "Log" in the download details dialog is now active during
download too (not only during post-processing);
- the log contains all nzb-related messages except detail-messages and
errors printed during retrieving of articles (they would produce way
too many messages and are not that useful anyway);
- new option "NzbLog" to deactivate per-nzb logging if necessary;
- per-nzb logs are saved in the queue-directory (option "QueueDir");
- new RPC-method "loadlog" returns the previously saved messages for a
given nzb-file;
- new field "MessageCount" is returned by RPC-methods "listgroups" and
"history" and indicates if there are any messages saved for the item;
- parameter "NumberOfLogEntries" of RPC-method "listgroups" and the
field "Log" returned by the method are now deprecated, use method
"loadlog" instead;
- field "PostInfoText" returned by RPC-method "listgroups" is now
automatically filled with the latest message printed by a pp-script
eliminating the need to access deprecated field "Log"';
- actions for history items can now be performed for multiple (selected) records:
- post-process again, download again, mark as good, mark as bad;
- extended RPC-API method "editqueue": for history-records of type
"URL" the action "HistoryRedownload" can now be used as synonym to
"HistoryReturn" (makes it easier to redownload multiple items of
different types (URL and NZB) with one API call).
- options "ParIgnoreExt" and "ExtCleanupDisk" can now contain wildcard
characters * and ?;
- added new option "ServerX.Retention" to define server retention time (days);
files older than configured server retention time are not even tried on this
server;
- added support for negative numeric values in rss filter (useful for fields
"dupescore" and "priority");
- added subcommand "HA" to remote command "--list/-L" to list the whole
history including hidden records;
- added optional parameters to remote command "--append/-A" allowing to pass
duplicate key, duplicate mode and duplicate score; removed parameters "F"
and "U" of command "--append/-A", which were used to set mode (file or URL),
which is now detected automatically; the parameters are still supported for
compatibility;
- name and category of history items can now be changed in web-interface;
RPC-API method "editqueue" extended with new actions "HistorySetName" and
"HistorySetCategory";
- improved timeout handling during establishing of connections;
- updated pp-script "EMail.py":
- using the new nzb-log feature;
- new option "SendMail" allows to choose if the e-mail should be send
always or on failure only;
- updated pp-script "Logger.py" to use the new nzb-log feature;
- improved cleanup (option ExtCleanupDisk):
- if download was successful with health 100% the cleanup is now
performed even if par-check and unpack were not made; previously a
successful par-check or unpack were required for cleanup;
- now the files are deleted in subdirectories too (recursively);
- added a small button near feed name in the feed menu on downloads-page; a
click on the button fetches the feed, whereas a click on the feed title
shows feed's content (as before);
- improved detection of malformed nzb-files: nzbs which are valid
xml-documents but without nzb content are now rejected with an appropriate
error message;
- new action "Mark as success" on history page and in history details dialog:
- items marked as success are considered successfully downloaded and
processed, which is important for duplicate check;
- use this command if the download was repaired outside of NZBGet;
- new action "HistoryMarkSuccess" in RPC-method "editqueue";
- new subcommand "S" of command "-E H" (command line interface);
- new status "SUCCESS/MARK" can be returned by RPC-method "history";
- improved support for update-scripts:
- all command line parameters used to launch nzbget are passed to the
script in env vars NZBUP_CMDLINEX, where X is a parameter number
starting with 0;
- if the path to update-script defined in package-info.json does not
start with slash the path is considered being relative to application
directory;
- new env var NZBUP_RUNMODE (DAEMON, SERVER) is passed to the script;
- fixed: env var NZBUP_PROCESSID had wrong value (ID of the parent
process instead of the nzbget process);
- added button "Test Connection" to make a news server connection test from
web-interface;
- renamed option "CreateBrokenLog" to "BrokenLog"; the old option name is
recognized and automatically converted when the configuration is saved in
web-interface;
- improved the quality of speed throttling when a speed limit is active;
- added hidden webui setting "rowSelect" to select records by clicking on any
part of the row, not just on the check mark; to activate it change the
setting "rowSelect" in webui/index.js;
- when moving files to final destination the hidden files (with names starting
with dot) are considered unimportant and no errors are printed if they
cannot be moved; such files (.AppleDouble, .DS_Store, etc.) are usually
used by services to hold metadata and can be safely ignored;
- option sets (such as news-servers, categories, etc.) can now be reordered
using news buttons "move up" and "move down";
- updated info in about dialogs (Windows and Mac OS X);
- updated description of few options;
- changed defaults for few logging options;
- improved timeout handling when connecting to news servers which have
multiple addresses;
- improved error handling when communicating with secure servers (do not
trying to send quit-command if connection could not be established or was
interrupted; this avoids unnecessary timeout);
- improved connection handling when fetching nzb-files and rss feeds; do not
print warning "Content-Length is not submitted by server..." anymore;
- download speed in context menu of menubar icon is now shown in MB/s instead
of KB/s (for speeds from 1 MB/s) (Mac OS X only);
- configuration file nzbget.conf is now also searched in the app-directory on
all platforms (for easier installation);
- removed shell script "nzbgetd" which were used to control nzbget as a
service; modern systems manage services in a diffreent way and do not
require that old script anymore;
- disabled changing of compiler options during configuring in debug mode
(--enable-debug); it conflicted with cross-compiling and did not allow to
pass extra options via CXXFLAGS; required debug options must be passed via
CXXFLAGS now (for example for gcc: CXXFLAGS=-g ./configure --enable-debug);
- disabled unnecessary assert-statements in par2-module when building in
release mode;
- fixed: parsing of RPC-parameters passed via URL were sometimes incorrect;
- fixed: lowercase hex digits were not correctly parsed in URLs passed to
RPC-API method "append";
- fixed: in JSON-RPC the request-id was not transfered back in the response as
required by JSON-RPC specification;
- fixed: par-check in full verification mode (not in quick mode) could not
detect damaged files if they were completely empty (0 bytes), which is
possible when option "DirectWrite" was not active and all articles of the
file were missing;
- fixed possible crash when using remote command "-B dump" to print debug
info;
- fixed: remote command "-L HA" (which prints the history including hidden
records) could crash;
- suppress printing of memory leaks reports when the program terminates
because of wrong command line switches (Windows debug mode only);
- fixed: command "nzbget -L H" may crash if the history contained URL-items
with certain status;
- fixed: action "Split" may not work for bad nzb-files with missing segments;
new Field "Progress" returned by RPC-method "listfiles" shows the download
progress of the file taking missing articles into account;
- if the lock-file cannot be created or the lock could not be acquired an
error message is printed to the log-file;
- fixed: update log shown during automatic update via web-interface may show
duplicate messages or messages may clear out;
- fixed: web-interface may fail to load on Firefox mobile;
- fixed: command "make install" installed README from par2-subdirectory
instead of main README.
nzbget-14.2:
- fixed: the program could crash during download when article cache was active
(more likely on very high download speeds);
- fixed: unlike to all other scripts the update-script should not be
automatically terminated when the program quits;
- fixed: XML-RPC method "history" returned invalid xml when used with
parameter "hidden=true" (JSON-RPC was fine).
nzbget-14.1:
- fixed: program could crash during unpack (Posix) or unpack failure was
reported (Windows);
- fixed: quick par-check could hang on certain nzb-files containing multiple
par-sets (occured only in 64 bit mode);
- fixed: menubar icon was not visible on Mac OS X in dark mode; system sleep
on idle state is now prevented during download and post-processing
(Mac OS X only);
- fixed: unrar may sometimes fail with message "no files to extract" (certain
Linux systems);
- fixed false memory leak warning when compiled in debug mode (Windows only);
- fixed: Mac OS X app didn't work on OS X 10.7 Lion.
nzbget-14.0:
- added article cache:
- new option "ArticleCache" defines memory limit to use for cache;
- when cache is active the articles are written into cache first and
then all flushed to disk into the destination file;
- article cache reduces disk IO and may reduce file fragmentation
improving post-processing speed (unpack);
- it works with both writing modes (direct write on and off);
- when option "DirectWrite" is disabled the cache should be big enough
(for best performance) to accommodate all articles of one file
(sometimes up to 500 MB) in order to avoid writing articles into
temporary files, otherwise temporary files are used for articles which
do not fit into cache;
- when used in combination with DirectWrite there is no such limitation
and even a small cache (100 MB or even less) can be used effectively;
when the cache becomes full it is flushed automatically (directly into
destination file) providing room for new articles;
- new row in the "statistics and status dialog" in web-interface
indicates the amount of memory used for cache;
- new fields "ArticleCacheLo", "ArticleCacheHi" and "ArticleCacheMB"
returned by RPC-method "status";
- renamed option "WriteBufferSize" into "WriteBuffer":
- changed the dimension - now option is set in kilobytes instead of bytes;
- old name and value are automatically converted;
- if the size of article is below the value defined by the option, the
buffer is allocated with the articles size (to not waste memory);
- therefore the special value "-1" is not required anymore; during
conversion "-1" is replaced with "1024" (1 megabyte) but it can be of
course manually changed to any other value later;
- integrated par2-module (libpar2) into NZBGet’s source code tree:
- the par2-module is now built automatically during building of NZBGet;
- this eliminates dependency from external libpar2 and libsigc++;
- making it much easier for users to compile NZBGet without patching
libpar2;
- added quick file verification during par-check/repair:
- if par-repair is required for download the files downloaded without
errors are verified quickly by comparing their checksums against the
checksums stored in the par2-file;
- this makes the verification of undamaged files almost instant;
- damaged (partially downloaded) files are also verified quickly by
comparing block's checksums against the checksums stored in the
par2-file; when necessary the small amounts of data is read from files
to calculate block's checksums;
- this makes the verification of damaged files very fast;
- new option "ParQuick" (active by default);
- when quick par verification is active the repaired files are not
verified to save time; the only reason for incorrect files after
repair can be hardware errors (memory, disk) but this is not something
NZBGet should care about;
- if unpack fails (excluding invalid password errors) and quick
par-check does not find any errors or quick par-check was already
performed the full par-check is performed; this helps in certain rare
situations caused by abnormal program termination;
- added multithreading par-repair:
- doesn't depend on other libraries and works everywhere, on all
platforms and all CPUs (with multiple cores), no special compiling
steps are required;
- new option "ParThreads" to set the number of threads for repairing;
- the number of repair threads is automatically reduced to the amount of
bad blocks if there are too few of them; if there is only one bad
block the multithreading par-repair is switched off to avoid overhead
of thread synchronisation (which does not make sense for one working
thread);
- new option "ParBuffer" to define the memory limit to use during
par-repair;
- added support for detection of bad downloads (fakes, etc.):
- queue-scripts are now called after every downloaded file included in
nzb;
- new events "FILE_DOWNLOADED" and "NZB_DOWNLOADED" of parameter
"NZBNA_EVENT"; new env. var "NZBNA_DIRECTORY" passed to queue scripts;
- queue-scripts have a chance to detect bad downloads when the download
is in progress and cancel bad downloads by printing a special command;
downloads marked as bad become status "FAILURE/BAD" and are processed
by the program as failures (triggering duplicate handling); scripts
executed thereafter see the new status and can react accordingly
(inform an indexer or a third-party automation tool);
- when a script marks nzb as bad the nzb is deleted from queue, no
further internal post-processing (par, unrar, etc.) is made for the
nzb but all post-processing scripts are executed; if option
"DeleteCleanupDisk" is active the already downloaded files are deleted;
- new status "BAD" for field "DeleteStatus" of nzb-item in RPC-method
"history";
- queue-scripts can set post-processing parameters by printing special
command, just like post-processing-scripts can do that; this
simplifies transferring (of small amount) of information between
queue-scripts and post-processing-scripts;
- scripts supporting two modes (post-processing-mode and queue-mode) are
now executed if selected in post-processing parameters: either in
options "PostScript" and "CategoryX.PostScript" or manually on page
"Postprocess" of download details dialog in web-interface; it is not
necessary to select dual-mode scripts in option "QueueScript"; that
provides more flexibility: the scripts can be selected per-category or
activated/deactivated for each nzb individually;
- added option "EventInterval" allowing to reduce the number of calls of
queue-scripts, which can be useful on slow systems;
- queue scripts can define what events they are interested in; this
avoids unnecessary calling of the scripts which do not process certain
events;
- the list of scripts (pp-scripts, queue-scripts, etc.) is now read once on
program start instead of reading everytime a script is executed:
- that eliminates the unnecessary disk access;
- the settings page of web-interface loads available scripts every time
the page is shown;
- this allows to configure newly added scripts without restarting the
program first (just like it was before); a restart is still required
to apply the settings (just like it was before);
- RPC-method "configtemplates" has new parameter "loadFromDisk";
- options "ParIgnoreExt" and "ExtCleanupDisk" are now respected by par-check
(in addition to being respected by par-rename): if all damaged or missing
files are covered by these options then no par-repair is performed and the
download assumed successful;
- added new search field "dupestatus" for use in rss filters:
- the search is performed through download queue and history testing
items with the same dupekey or title as current rss item;
- the field contains comma-separated list of following possible statuses
(if duplicates were found): QUEUED, DOWNLOADING, SUCCESS, WARNING,
FAILURE or an empty string if there were no matching items found;
- added log file rotation:
- options "CreateLog" and "ResetLog" replaced with new option "WriteLog
(none, append, reset, rotate)";
- new option "RotateLog" defines rotation period;
- improved joining of splitted files:
- instead of performing par-repair the files are now joined by unpacker,
which is much faster;
- the files splitted before creating of par-sets are now joined as well
(they were not joined in v13 because par-repair has nothing to repair
in this case);
- the unpacker can detect missing fragments and requests par-check if
necessary;
- added per-nzb time and size statistics:
- total time, download, verify, repair and unpack times, downloaded size
and average speed, shown in history details dialog via click on the
row with total size in statistics block;
- RPC-methods "listgroups" and "history" return new fields:
"DownloadedSizeLo", "DownloadedSizeHi", "DownloadedSizeMB",
"DownloadTimeSec", "PostTotalTimeSec", "ParTimeSec", "RepairTimeSec",
"UnpackTimeSec";
- pp-script "EMail.py" now supports mail server relays (thanks to l2g for the
patch);
- when compiled in debug mode new field "process id" is printed to the file
log for each row (it is easier to identify processes than threads);
- if an nzb has only few failed articles it may have completion shown as 100%;
now it is shown as 99.9% to indicate that not everything was successfully
downloaded;
- updated configure-script to not require gcrypt for newer GnuTLS versions
(when gcrypt is not needed);
- for downloads delayed due to propagation delay (option "PropagationDelay")
a new badge "propagation" is now shown near download name;
- added new option "UrlTimeout" to set timeout for URL fetching and RSS feed
fetching; renamed option "ConnectionTimeout" to "ArticleTimeout";
- improved pp-script EMail.py: now it can send time statistics (thanks to JVM
for the patch);
- improvement in duplicate check:
- if a new download with empty dupekey and empty dupescore is marked as
"dupe" and the another download with the same name have non empty
dupekey or dupescore these properties are copied from that download;
- this is useful because the new download is most likely another upload
of the same file and it should have the same duplicate properties for
best duplicate handling results;
- when connecting in remote mode using command line parameter "--connect/-C"
the option "ControlIP" is now interpreted as "127.0.0.1" if it is set to
"0.0.0.0" (instead of failing with an error message);
- when option "ContinuePartial" is active the current state is saved not more
often than once per second instead of after every downloaded article; this
significantly reduce the amount of disk writings on high download speeds;
- added commands "PausePostProcess" and "UnpausePostProcess" to scheduler;
- unpack is now automatically immediately aborted if unrar reports CRC errors;
- unpack is now immediately aborted if unrar reports wrong password (works for
rar5 as well as for older formats); the unpack error status "PASSWORD" is
now set for older formats too (not only rar5);
- improved cleanup:
- disk cleanup is now not performed if unrar failed even if par-check
was successful;
- queue cleanup (for remaining par2-files) is now made more smarter: the
files are kept (parked) if they can be used by command "post-process
again" and are removed otherwise;
- improved scan-scripts: if the category of nzb-file is changed by the
scan-script the assigned post-processing scripts are now automatically reset
according to the new category;
- added missing new line character at the end of the help screen printed by
"nzbget -h";
- better error reporting if a temp file could not be found;
- added news server name to message "Cancelling hanging download ..." to help
identifying problematic servers;
- added column "age" to history tab in web-interface;
- debug builds for Windows now print call stack on crash to the log-file,
which is very useful for debugging;
- additional parameters (env. vars) are now passed to scan scripts:
NZBNP_DUPEKEY, NZBNP_DUPESCORE, NZBNP_DUPEMODE; scan-scripts can now set
dupekey, dupemode and dupescore by printing new special commands;
- fixed potential crash which could happen in debug mode during program
restart;
- fixed: program could crash during restart if an extension script was
running; now all active scripts are terminated during restart;
- fixed: RPC-method "editqueue" with action "HistoryReturn" caused a crash if
the history item did not have any remaining (parked) files;
- fixed: RPC-method "saveconfig" did not work via XML-RPC (but worked via
JSON-RPC);
- fixed: a superfluous comma at the end of option "TaskX.Time" was interpreted
as an error or may cause a crash;
- fixed: relative destination paths (options "DestDir" and
"CategoryX.DestDir") caused failures during unrar;
- fixed: splitted .cbr-files were not properly joined;
- fixed: inner files (files listed in nzb) bigger than 2GB could not be
downloaded;
- fixed: cleanup may leave some files undeleted (Mac OS X only);
- fixed: compiler error if configured using parameter "--disable-gzip";
- fixed: one log-message was printed only to global log but not to nzb-item
pp-log;
- fixed: par-check could fail on valid files (bug introduced in libpar2 0.3);
- fixed: scheduler tasks were not checked after wake up if the sleep time was
longer than 90 minutes;
- fixed: the "pause extra pars"-state was missing in the pause/resume-loop of
curses interface, key "P";
- fixed: web interface showed an error box when trying to submit files with
extensions other than .nzb, although these files could be processed by a
scan-script; now the error is not shown if any scan-script is set in options;
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;