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 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708
|
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
|