Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v23.0 #161

Merged
merged 35 commits into from
Feb 9, 2024
Merged

Release v23.0 #161

merged 35 commits into from
Feb 9, 2024

Conversation

dnzbk
Copy link
Collaborator

@dnzbk dnzbk commented Feb 9, 2024

nzbget-23.0

  • 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;

dnzbk and others added 30 commits October 25, 2023 09:10
…pt-names-on-macOS

Fix: remove useless X86 prefixes in script names on macOS
* Fix: Windows specific python3 shebang
* Added ArticleReadChunkSize config option which allows to adjust the buffer size for customization on different platforms, which can lead to increased performance.
- added docker support for NZBGet
- added workflow for build and push to DockerHub and GitHub
- fixed unit tests on Windows. We will adapt them for other platforms as well.
  nntp and postprocessor tests do not pass. We will debug them later.
- separated the tests from the application itself
- using CMake to configure files for building tests. We will completely switch to CMake later.
- deleted obsolete Autotools generated files
- updated README
* Update README

* new contribution.md and readme revamp

* Add docker pulls badge

* Feature/pull-request-template (#68)

* PR template

* donate on readme

---------

Co-authored-by: phnzb <pavel@nzbget.com>
- added using a cross-platform libxml2 library to work with xml on Windows just as we already do on Linux and macOS.
- removed platform-dependent code for working with xml on Windows.
- refactored dependency paths on Windows when using vcpkg package manager.
- refactored renamed the confusing second README file on INSTALLATION and updated.
- added more Feed tests.
* added: automatic search for a suitable interpreter to run extensions on POSIX systems.
* refactored: renamed Script.cpp to a more appropriate ScriptController.cpp name
* extra information on how to migrate

* extra space missed
- fixed possible memory corruption inspired by reports from nzbget-ng
- Added Certificate verification 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"

Co-authored-by: ureyNZB <yuriy@nzbget.com>
- fixed Options tests
- added the "compile" file to gitignore
- improved pipeline for the tests

Co-authored-by: phnzb <pavel@nzbget.com>
#### The new nzbget extension system, which makes it easy to download/update/delete extensions with backward compatibility with the old system.

Extensions [master list](https://github.com/nzbgetcom/nzbget-extensions/).

- 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
 
- Updated
  - INSTALALTION.md
 
- Removed
  - testdata_FILES from Makefile.am
  - EMail and Logger scripts

---------
Co-authored-by: phnzb <pavel@nzbget.com>
- fixed nntp test
dnzbk and others added 5 commits February 7, 2024 05:14
- fixed Syno scripts support
- fixed version comparison
- added more unit tests
…#159)

- added saving settings on deleting/installing/updating extensions
- deleted unnecessary table re-renderings when the user is not on this page
- fixed the deletion of extensions when there are several of them in the same directory
- fixed the deletion of hidden files on windows
- promoted v23
- updated changelog
@dnzbk dnzbk requested review from phnzb and luckedea February 9, 2024 11:32
Copy link
Member

@luckedea luckedea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, let's go

@dnzbk dnzbk merged commit c116a63 into main Feb 9, 2024
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants