What's Changed
- Merge pull request #826 from nzbgetcom/develop by @dnzbk in #831
- v26.3-testing by @dnzbk in #832
- Fix: guard addEventListener and Status.status accesses by @dnzbk in #834
- Fix: feed category priority and consolidate category resolution by @dnzbk in #835
- Update DirectUnpack description and WriteLog default value by @dnzbk in #837
- Fix: JSON-RPC param reader by @dnzbk in #843
- Fix WebUI crash on startup with non-English languages by @dnzbk in #845
- 7zip 26.02 / Unrar 7.23 update by @phnzb in #847
- Add per-feed certificate verification option by @dnzbk in #846
- Fix printf format specifiers for int64 and size_t by @xbmc4lyfe in #856
- Fix broken sanitizer flags, segfault crashes and data races by @dnzbk in #851
- Fix: preserve category for compressed archives in NzbDir subdirectories by @dnzbk in #860
- Fix System tests due to their rare random failures by @xbmc4lyfe in #859
- Fix error message for OS release retrieval on Linux by @simons-public in #864
- Fix: SkipWrite causes infinite spin loop by @dnzbk in #871
- Add AI-Assisted Contributions Policy by @phnzb in #873
- Add support for extension i18n by @dnzbk in #872
- Remove about_caption from generate_locales and EXTENSIONS.md by @dnzbk in #874
- Fix Download Remaining Files (From History) Doesn't work for Health failed files by @xbmc4lyfe in #870
- fix(i18n): translate leftover English in pl and hu locale files by @dnzbk in #876
- Fix UnpackPassFile is never consulted for 7z archives with encrypted headers by @dnzbk in #877
- Fix tests skipping without assertions when unrar/7z unavailable by @dnzbk in #878
- chore: cleanup sources.cmake, gitignore, and cmake policy warnings by @dnzbk in #880
- Fix functional test suite on Python 3 and modern pytest by @xbmc4lyfe in #883
- Bump par2-turbo to v1.4.0-20260803, pass -T flag, and clamp stage progress by @dnzbk in #885
- Fix parsing of the filename from the Content-Disposition header by @xbmc4lyfe in #865
- Fix cppcheck errors identified in CI and add .clang-tidy / .clangd configs for consistent static analysis by @dnzbk in #811
- Fix feed preview for new (unsaved) feeds by @dnzbk in #893
- Harden web auth token generation and unpack-dir symlink handling by @dnzbk in #894
- Fix Windows Debug build by @dnzbk in #895
- Update rapidyenc to v1.1.1-20260821 by @dnzbk in #896
- Fix about message generation by @dnzbk in #897
- Prefer episode identity for RSS duplicate keys by @xbmc4lyfe in #868
- Fix par2 status translation by @dnzbk in #901
- Fix missing path separator in auto-detected config template path by @wolph in #902
- Fix 'Clear' btn translation by @dnzbk in #904
- Add v26.3 changelog by @dnzbk in #905
- Release v26.3 by @dnzbk in #907
- v27 Testing by @dnzbk in #908
- Fix DirectUnpack finalization after PAR failure by @xbmc4lyfe in #869
- Fix duplicate extension config entries by @xbmc4lyfe in #867
- Set the speed limit in the global display unit by @wolph in #903
- CI: fix unrar install for macos tests by @phnzb in #914
- Use POSIX uname(2) and add container detection by @dnzbk in #913
- Skip log validation for null/console devices by @dnzbk in #915
- Fix ip/hostname validation by @dnzbk in #920
- Add FileTypes module for centralized file extension classification by @dnzbk in #916
- Preserve nested par-rename paths and shorten rename logs by @dnzbk in #922
- Fix obfuscated file detection by @dnzbk in #921
- Fix file move collisions by @dnzbk in #923
- Expand FileTypes with disc format and clutter classification by @dnzbk in #926
- Add NZB metadata parsing and harden path validation by @dnzbk in #924
- Add post-download deobfuscation and CollectionAnalyzer by @dnzbk in #927
- tests: fix flaky WantServerTest in NNTPTest by @bket in #929
- Update v1.1.1-20260914 by @dnzbk in #930
- par2-turbo v1.5.0 by @dnzbk in #931
- Fix Windows script process handle leaks by @wolph in #925
- Add magic byte file sniffing for extensionless download deobfuscation by @dnzbk in #932
- Bump OpenBSD CI workflow actions and target release to 7.9 by @bket in #933
- Fall back to NZB filename when meta name is obfuscated by @dnzbk in #936
- Harden command line formatting and unpack password escaping by @dnzbk in #934
- Fix: resolve UTF-8 path handling on Windows and overhaul disk speed benchmark by @dnzbk in #939
- Fix tests-macos CI: unrar v7.23 asset was renamed by @xbmc4lyfe in #941
- Fix SystemInfoTest crash caused by null g_Options by @xbmc4lyfe in #940
- build: extract core into libnzbget static library and deduplicate test builds by @dnzbk in #942
- Use nzbgetcom unpacker releases / 7zip update to 26.03 by @phnzb in #944
- Build(windows): migrate dependencies to pure CMake FetchContent & Modern CMake by @dnzbk in #943
- Change unpackers handling for Docker by @phnzb in #946
- Build(macOS): migrate to pure CMake FetchContent with LLVM Clang 19 toolchain and Ninja presets by @dnzbk in #945
- Fix (Windows): SignPath binary layout and drop CI debug builds for releases by @dnzbk in #952
- Build(Android): modern CMake toolchain with LLVM Clang 19 and multi-arch packaging by @dnzbk in #953
- Build(macOS): lower deployment targets to 10.14/11.0, add CI debug builds, and pin 7-Zip for Mojave by @dnzbk in #1038
- cmake: relax Boost version checks and add ccache opt-out knob by @bket in #1044
- Log and better show downloads queued because of propagation delay by @theotherp in #1047
- Restore system Boost.JSON linkage by @bket in #1048
- Build: Restrict stack clash probe to Linux by @bket in #1049
- Build(posix): log ENABLE_LTO, fix libnzbget static library target OUTPUT_NAME, and const-correctness for OpenSSL 3.x by @dnzbk in #1051
- Mark file descriptors close-on-exec at creation (fixes #887) by @wharris623 in #888
- Build(freebsd): modern CMake toolchain with LLVM Clang 19, static linkage, and amd64/aarch64 packaging by @dnzbk in #1050
- Build(linux): modern CMake toolchain with GCC 14.3.0 musl, static linkage, and multi-arch packaging by @dnzbk in #1052
- fix: allow non-existent lock file if parent directory is writable by @dnzbk in #1054
- Rely on OpenSSL protocol negotiation prioritizing TLS 1.3 by @dnzbk in #1056
- Fix: enhance deobfuscation heuristics for short mixed hashes and brackets by @dnzbk in #1057
- Doc: add feed API pages, modernise README, trim platform docs by @dnzbk in #1059
- Fix(nserv): NNTP response codes by @dnzbk in #1060
- Build(freebsd): self-contained C++20 runtime for the FreeBSD 13 toolchain by @dnzbk in #1061
- Update rapidyenc by @dnzbk in #1062
- Fix listener socket timeout by @dnzbk in #1064
- webui: drop icon font and GIF loaders, use SVG sprite by @dnzbk in #1053
- Fix(webui): false unsaved-changes prompt on settings page by @dnzbk in #1065
- nzbget-musl-builder migration, 7zip 26.05 update, Android installer fix by @phnzb in #1068
- Change version format to major.minor.patch by @phnzb in #1073
- CI: bump macOS runners to macos-15 by @phnzb in #1075
- Fix(auth): form login screen with smart 401 and role-based access control by @dnzbk in #1070
New Contributors
- @xbmc4lyfe made their first contribution in #856
- @simons-public made their first contribution in #864
- @wolph made their first contribution in #902
- @theotherp made their first contribution in #1047
- @wharris623 made their first contribution in #888
Full Changelog: v26.2...testing