Skip to content

v23.0

Compare
Choose a tag to compare
@dnzbk dnzbk released this 09 Feb 14:41
· 150 commits to develop since this release
c116a63

What's Changed

  • Features:
    • Extension Manager #76;
      • The new nzbget extension system, which makes it easy to download/update/delete
        extensions with backward compatibility with the old system;
      • extensions master list;
      • changed:
        • RPC request "configtemplates" - no longer returns script templates, but only the config template;
      • added:
        • new RPC requests:
          • "loadextensions" - loads all extensions from {ScriptDIR} and returns an array of structures in JSON/XML formats;
          • "updateextension" - downloads by url and name and installs the extension. Returns 'true' or error response in JSON/XML formats;
          • "deleteextension" - deletes extension by name. Returns 'true' or error response in JSON/XML formats;
          • "downloadextension" - downloads by url and installs the extension. Returns 'true' or error response in JSON/XML formats;
          • "testextension" - tries to find the right executor program for the extension, e.g. Python.
            Returns 'true' or error response in JSON/XML formats;
        • "EXTENSION MANAGER" section in webui to download/delete/update extensions;
        • Boost.Json library to work with JSON;
        • more unit tests;
      • refactored:
        • replaced raw pointers with smart pointers and const refs where possible for memory safty reasons;
      • removed:
        • testdata_FILES from Makefile.am;
        • EMail and Logger scripts;
    • Docker support #55;
    • Synology support (spk) #72;
    • QNAP support #158;
    • aarch64 mipseb mipsel ppc6xx ppc500 architectures to linux build #61 #146;
    • article read chunk size #52;
      • Added ArticleReadChunkSize config option which allows to adjust
        the buffer size for customization on different platforms, which can lead to increased performance;
    • increased the number of default connections to 8 #54;
    • automatic search for a suitable interpreter on POSIX #74;
    • certificate verification levels #150;
      • levels:
        • None: NO certificate signing check, NO certificate hostname check;
        • Minimal: certificate signing check, NO certificate hostname check;
        • Strict: certificate signing check, certificate hostname check;
      • tested on a mock nzbget NNTP nserv server with self-signed certificate and got expected results:
        • "Strict" -> test failed;
        • "Minimal" -> test failed;
        • "None" -> test passed";
  • Bug fixies:
    • possible memory corruption #148;
  • For developers:
    • fixed unit tests (Windows only for now) and started migration to CMake #64;
      • We are going to completely migrate to CMake as a more universal one for cross-platform development and drop autotools and MSBuild;
    • using libxml2 on Windows and vcpkg package manager to install dependencies #70;
      • libxml2 library is now used on Windows to work with xml in the same way we already do on Linux and macOS;
      • removed platform-dependent code for working with xml on Windows;