Releases: nzbgetcom/nzbget
testing
What's Changed
- v26.1-testing by @dnzbk in #729
- Docker: Fix entrypoint to run as PID 1 by @calvinbui in #731
- Fix missing nzbget.h includes causing compilation errors by @sbraz in #736
- Ensure daemon ownership for files created at startup by @bket in #726
- Downgrade not-critical config errors to warnings or info by @dnzbk in #738
- Build: Refactor test organization and fix external lib dependency order by @dnzbk in #739
- Fix: brew head test build by @phnzb in #740
- OpenSSL 3.5.5 / 7zip 26.00 / Unrar 7.20 update by @phnzb in #742
- Refactor: switch to std::filesystem and fix Linux 2.6.32 compatibility by @dnzbk in #745
- Fix compilation error with boost::system::errc namespace aliasing by @dnzbk in #749
- Fix Windows app crash by adding fs::u8string wrapper for safe UTF-8 path extraction by @dnzbk in #750
- Fix: Use TempDir for download directory by @dnzbk in #754
- Fix Missing log file error on startup by @dnzbk in #757
- Switch yEnc implementation to rapidyenc for SIMD acceleration by @dnzbk in #758
- Update par2-turbo to v1.4.0 and optimize binaries by @dnzbk in #759
- macOS: x64 builds - downgrade 7zip to 25.01; CI: update GitHub Actions versions by @phnzb in #764
- Fix: Ensure build with GCC 15+ by explicitly including by @dnzbk in #766
- Improve extraction and processing of incoming archives by @dnzbk in #763
- Fix errors when renaming NZB during download, avoid 0-byte file and improve hardlink cleanup by @dnzbk in #768
New Contributors
- @calvinbui made their first contribution in #731
Full Changelog: v26.0...testing
v26.0
What's Changed
-
Features:
- SystemHealth: Advanced configuration and environment diagnostics #722
- Added validation methods to check for conflicting settings, suboptimal values, and missing dependencies;
- Introduced a status reporting mechanism (Info/Warning/Error) to guide users toward better configuration;
- Enhanced detection of filesystem and hardware compatibility issues at startup;
- Added
SystemHealthCheckoption to enable/disable configuration validation.
- Support for processing compressed NZB archives #711
- Added support for importing NZB files directly from compressed archives (e.g., RAR, ZIP, GZIP);
- Archives dropped into the NzbDir (watch folder) or uploaded via the WebUI are now automatically processed.
- Hardlinking during Direct Rename, allowing immediate access to files #614
- Added
HardLinkingoption to create hardlinks in the destination directory during download; - Added
HardLinkingIgnoreExtto exclude specific file types from being hardlinked.
- Added
- WebUI and Settings page improvements #676
- Added the LICENSES tab;
- Added social media links to the INFO page;
- Fixed the position of the "Save all changes" button - it’s now aligned with the sidebar;
- Centered content on large screens (content is now centered instead of stretched full-width);
- Added a dedicated scroll area for the main content - the main content can now be scrolled independently of the sidebar and the "Save all changes" button.
- Windows release binaries and installer signing by SignPath #699.
- SystemHealth: Advanced configuration and environment diagnostics #722
-
Bug fixes:
- Fixed potential deadlocks and Undefined Behavior (UB) #686;
- Fixed JSON parser to correctly handle nested arrays and objects #702;
- Fixed UU decoding issues #710;
- Fixed ScriptOrder having no effect for extensions #714;
- Added environment size check to log a warning if it exceeds the system limit on POSIX #721.
-
For developers:
- NSERV improvements #674
- Handle AUTHINFO USER & AUTHINFO PASS as defined in RFC;
- Added the STAT request support.
- Updated OpenSSL to 3.5.4 #720;
- macOS pipeline #703
- x86_64 build: change runner to macos-14;
- universal build: update build and sign steps to run on macos-14.
- Docker #723
- Updated the image to Alpine 3.22;
- Updated 7zip to 25.01.
- NSERV improvements #674
v25.4
What's Changed
-
Features:
-
Bug fixes:
-
For developers:
- Updated 7-Zip to 25.01 #655.
v25.3
What's Changed
-
Features:
- Automatic category detection from NZB file metadata #615:
- The API method
appendnow has a new argument:- AutoCategory (bool) - If true, the category will be automatically detected from the NZB file (if available);
- Extended web UI with "Auto-detect category" checkbox in upload dialog;
- Introduced a
CategorySourceoption for RSS feeds, providing granular control over where category information is retrieved;
- The API method
- Added an option to disable the _unpack intermediate folder when unpacking.
This allows for immediate access to files during the unpacking process #617.
- Automatic category detection from NZB file metadata #615:
-
Bug fixes:
- Fixed macOS x64 Mojave support #613.
-
For developers:
- Integrated the Boost.Filesystem library for cross-platform file system operations.
We're using Boost.Filesystem to ensure compatibility with older systems
and plan to transition to the std::filesystem library in the future #636;
- Updated unrar:- Linux: from 7.11 to 7.13;
- macOS: from 7.11 to 7.12;
- Windows: from 7.11 to 7.13.
v25.2
What's Changed
-
Bug fixes #603
- Prevented crashes (segfaults) that could occur when loading disk state files containing empty or malformed data, by adding additional input validation and null pointer protection
- Fixed a segfault in host resolution by ensuring a valid string is always returned
-
For developers:
- Added workflow to build and publish debug Docker images #605
v25.1
What's Changed
-
Features:
- Added support for extracting file size from the description field in RSS feeds, providing more info upfront #580
-
Bug fixes:
- OpenSSL memory leaks and vulnerabilities associated with older SSL/TLS protocols #591
- Fixed memory leaks caused by unreleased per-thread OpenSSL resources.
- Security Improvement: updated to use the latest and most secure TLS protocol supported by the client and server, mitigating known vulnerabilities in older SSL/TLS protocols.
- RSS feed segfault. Improved memory safety and prevent potential undefined behavior (UB) #569
- Correctly parse yEnc headers with combined name/ypart lines #571
- Data race in ExtensionManager that could cause application crashes #577
- Added additional checks for missing server configuration options to prevent errors in webui #581
- Prevented showing of negative age caused by incorrect dates in NZB file #583
- Improved parsing of yEnc subjects without surrounding quotes, e.g. "[34/44] - id.bdmv yEnc (1/1)" #584
- OpenSSL memory leaks and vulnerabilities associated with older SSL/TLS protocols #591
-
For developers:
- Upgraded par2-turbo to v1.3.0 #586
- Added support for newer versions of the libxml2 library (v2.12+), ensuring the application continues to work on modern systems #575
- Updated OpenBSD tests workflow to 7.7 #573
- Refactored Util::StrToNum by improving performance, safety and minimizing memory usage #578
- Using the system’s built-in regex library instead of an older version #589
- Resolved some analyzer warnings #590
- Building the app without TLS support is now deprecated and will be removed in future releases.
v25.0
What's Changed
-
Features:
- Completion and downloaded data statistics #544
- added a new "Statistics" page to display completion and download volume analytics for news-servers.
- the API method "resetservervolumes" now allows for selective resetting of counters. Arguments:
- ServerId
(int)- Server ID to reset. - Counter
(string)- Specifies which counter to reset. The behavior depends on the value of this argument:- "CUSTOM" (case-sensitive) - Resets only the custom counter associated with the server. Use this option to clear custom statistics while preserving overall download volume data.
- "" (empty string) - Resets all counters associated with the server, including the overall download volume and any custom counters.
- ServerId
- the API method "servervolumes" now returns 2 additional properties:
- CountersResetTime
(int)- Date/time of the last reset of all counters (time is in C/Unix format). - ArticlesPerDays
(struct[])- Per-day amount of failed and success articles since program installation. Contains an array of structs with following fields:- Failed
(int)- Amount of failed articles. - Success
(int)- Amount of success articles.
- Failed
- CountersResetTime
- Flatpak support #550
- Snap support #559
- Added support of running Docker image rootless #541
- Completion and downloaded data statistics #544
-
Bug fixes:
-
For Developers:
- Updated Docker, Libraries, Unpackers #555
- updated Docker base image (alpine:3.19.1 -> alpine:3.21.3) and Dockerfile
- updated and synced libraries versions for all installers (previous versions specified for Linux installers):
- LibXML2 2.12.4 -> 2.13.5
- ncurses 6.4 -> 6.5
- Gzip 1.3.1
- OpenSSL 3.1.2 -> 3.4.1
- Boost 1.84
- updated unpackers for installers:
- 7-Zip 24.05 -> 24.08
- UnRAR 7.0 -> 7.11 (Windows x32 7.01, no newer version available)
- updated FreeBSD build script and workflow to build on Ubuntu 24.04
- Fixed app build, using Xcode CMake generator #538
- Fixed TOOLCHAIN_PREFIX were not used by the project (warning) #543
- Fixed a build issue on systems lacking native atomic library support #562
- Removed GnuTLS support #554
- Reasons for removing GnuTLS support:
- Maintenance overhead. Maintaining support for two SSL/TLS libraries (OpenSSL and GnuTLS) significantly increases our maintenance burden. Currently, we exclusively use OpenSSL in all production builds.
- Boost.Asio incompatibility. The Boost.Asio library, which can be used for cross-platform socket and TLS handling, does not support GnuTLS. Our planned migration of network logic to Boost.Asio makes GnuTLS support redundant.
- Reasons for removing GnuTLS support:
- Updated Docker, Libraries, Unpackers #555
v24.8
What's Changed
-
Features:
- TrueNAS Scale support #494
-
Bug fixes:
Note
For Windows users:
Due to a bug affecting updates on Windows, direct upgrades from v24.7 to v24.8 are currently unavailable. To upgrade, please manually install version 24.8.
After the manual installation, the updater should start working correctly.
v24.7
What's Changed
-
Bug fixes:
-
For developers:
- Added more test workflows
- OpenBSD build/tests
- FreeBSD tests
- Linux build/tests with disabled parcheck
- macOS brew install from head (develop branch only) #519
- Added more test workflows
v24.6
What's Changed
- Features:
- Improved deobfuscation #469
- enhanced parsing of the subject field in NZB files and improved validation of downloaded article filenames
- added a check for filename obfuscation after unpacking; excessively obfuscated filenames are renamed to the NZB filename
- added new options:
RenameAfterUnpack- enables/disables renaming of extracted and obfuscated files using the NZB filenameRenameIgnoreExt- a comma-separated list of file extensions to ignore when renaming files after unpacking
- added a new value for the
Statusfield in thelistgroupsAPI method:POST_UNPACK_RENAMING
- Network speed tests
- the new API-method:
struct testnetworkspeed()- returns the measured network speed inMbps#489
- the new API-method:
- Added support by
DirectRenameandParRenameof nested file paths found in par files #497 - Added a filter to the nzb manual upload dialog #505
- Improved deobfuscation #469
- Bug fixes:
- For developers:
- Improved pipelines performance #457
- Printing stacktrace at segmentation fault in debug build #465
- Upgraded par2-turbo to v1.2.0 #478
- Fixed build using CMake Ninja generator and the tests build failure with-DDISABLE_PARCHECK=yes#481
- Added extra format string compiler security flags #503