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 v24.5 #454

Merged
merged 9 commits into from
Dec 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/ISSUE_TEMPLATE/01_bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ body:
label: NZBGet Version
description: Which version of NZBGet has this bug?
options:
- v24.5-testing
- v24.6-testing
- v24.5-stable
- v24.4-stable
- v24.3-stable
- v24.2-stable
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/02_feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ body:
- All
- Windows
- macOS
- NAS/Synology/QNAP
- NAS/Synology/QNAP/ASUSTOR
- Linux/Docker
- FreeBSD
- Android
Expand Down
3 changes: 2 additions & 1 deletion .github/ISSUE_TEMPLATE/03_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ body:
label: NZBGet Version
description: Version of NZBGet for the scope of this issue
options:
- v24.5-testing
- v24.6-testing
- v24.5-stable
- v24.4-stable
- v24.3-stable
- v24.2-stable
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,14 @@ jobs:
fi
bash linux/build-nzbget.sh $BUILD_PARAMS

- name: Upload full build log on failure
uses: actions/upload-artifact@v4
if: failure()
with:
name: nzbget-android-build-log
path: build/*/build.log
retention-days: 5

- name: Rename build artifacts
if: github.ref_name != 'main' && github.ref_name != 'develop'
run: |
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ on:
push:
branches:
- develop
- main
tags:
- "v*"
workflow_dispatch:

env:
Expand Down
12 changes: 10 additions & 2 deletions .github/workflows/freebsd.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: freebsd build
name: freebsd build

on:
workflow_call:
Expand All @@ -9,7 +9,7 @@ jobs:
runs-on: [self-hosted, nzbget-freebsd]

steps:

- name: Checkout
uses: actions/checkout@v4
with:
Expand All @@ -28,6 +28,14 @@ jobs:
fi
bash linux/build-nzbget.sh $BUILD_PARAMS

- name: Upload full build log on failure
uses: actions/upload-artifact@v4
if: failure()
with:
name: nzbget-freebsd-build-log
path: build/*/build.log
retention-days: 5

- name: Rename build artifacts
if: github.ref_name != 'main' && github.ref_name != 'develop'
run: |
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,14 @@ jobs:
fi
bash linux/build-nzbget.sh $BUILD_PARAMS

- name: Upload full build log on failure
uses: actions/upload-artifact@v4
if: failure()
with:
name: nzbget-linux-build-log
path: build/*/build.log
retention-days: 5

- name: Rename build artifacts
if: github.ref_name != 'main' && github.ref_name != 'develop'
run: |
Expand Down
16 changes: 16 additions & 0 deletions .github/workflows/osx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,14 @@ jobs:
bash osx/build-nzbget.sh x64
fi

- name: Upload full build log on failure
uses: actions/upload-artifact@v4
if: failure()
with:
name: nzbget-osx-x64-build-log
path: build/*/build.log
retention-days: 5

- name: Rename build artifacts
if: github.ref_name != 'main' && github.ref_name != 'develop'
run: |
Expand Down Expand Up @@ -59,6 +67,14 @@ jobs:
bash osx/build-nzbget.sh universal
fi

- name: Upload full build log on failure
uses: actions/upload-artifact@v4
if: failure()
with:
name: nzbget-osx-universal-build-log
path: build/*/build.log
retention-days: 5

- name: Rename build artifacts
if: github.ref_name != 'main' && github.ref_name != 'develop'
run: |
Expand Down
110 changes: 110 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
name: tests

on:
push:
branches:
- develop
- main
pull_request:
branches:
- develop
- main
workflow_call:
workflow_dispatch:

jobs:

windows-tests:
runs-on: windows-2022
steps:

- name: Checkout
uses: actions/checkout@v4

- name: Download and extract vcpkg cache
run: |
$ProgressPreference = "SilentlyContinue"
Invoke-WebRequest https://github.com/nzbgetcom/build-files/releases/download/v1.0/vcpkg-windows-tests.zip -OutFile "${{ github.workspace }}\vcpkg.zip"
Expand-Archive -Path "${{ github.workspace }}\vcpkg.zip" -DestinationPath "${{ github.workspace }}"

- name: Build
run: |
New-Item build -ItemType Directory -Force | Out-Null
cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DBUILD_ONLY_TESTS=ON
cmake --build . --config Release -j 4

- name: Test
run: |
cd build
ctest -C Release

- name: Upload test artifacts
uses: actions/upload-artifact@v4
if: failure()
with:
name: nzbget-windows-test-log
path: build/Testing/Temporary/LastTest.log
retention-days: 5

linux-tests:
runs-on: ubuntu-24.04
steps:

- name: Prepare environment
run: |
sudo apt-get install -y cmake libxml2-dev libssl-dev libncurses-dev libboost-all-dev

- name: Checkout
uses: actions/checkout@v4

- name: Build
run: |
mkdir build
cd build
cmake .. -DBUILD_ONLY_TESTS=ON
cmake --build . --config Release -j 4

- name: Test
run: |
cd build
ctest -C Release

- name: Upload test artifacts
uses: actions/upload-artifact@v4
if: failure()
with:
name: nzbget-linux-test-log
path: build/Testing/Temporary/LastTest.log
retention-days: 5

macos-tests:
runs-on: macos-14
steps:

- name: Install dependencies
run:
brew install --formula boost

- name: Checkout
uses: actions/checkout@v4

- name: Build
run: |
mkdir build
cd build
cmake .. -DBUILD_ONLY_TESTS=ON
cmake --build . --config Release -j 4

- name: Test
run: |
cd build
ctest -C Release

- name: Upload test artifacts
uses: actions/upload-artifact@v4
if: failure()
with:
name: nzbget-linux-test-log
path: build/Testing/Temporary/LastTest.log
retention-days: 5
47 changes: 0 additions & 47 deletions .github/workflows/windows-tests.yml

This file was deleted.

4 changes: 1 addition & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ if (PROJECT_SOURCE_DIR STREQUAL PROJECT_BINARY_DIR)
message(FATAL_ERROR "In-source builds are not allowed. You should create separate directory for build files.")
endif()

set(VERSION "24.4")
set(VERSION "24.5")
set(PACKAGE "nzbget")
set(LIBS "")
set(INCLUDES ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
Expand Down Expand Up @@ -80,8 +80,6 @@ else()
endif()
endif()

include(lib/sources.cmake)

configure_file(
${CMAKE_SOURCE_DIR}/cmake/config.h.in
${CMAKE_BINARY_DIR}/config.h
Expand Down
17 changes: 17 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
nzbget-24.5
- Features:
- ASUSTOR support
- the package (ADM 4.3+) is available from the
[nzbget-asustor](https://github.com/nzbgetcom/nzbget-asustor) repository
and from the ASUSTOR App Central

- Bug fixes:
- Fixed multiple bugs related to bad support of long-paths on Windows
[#441](https://github.com/nzbgetcom/nzbget/pull/441)
- Fixed ARMv5 arch support
[#451](https://github.com/nzbgetcom/nzbget/pull/451)

- For developers:
- Fixed homebrew CI build, macOS ARM64 with Xcode 16, Boost.JSON build via CMake
[#444](https://github.com/nzbgetcom/nzbget/pull/444)

nzbget-24.4
- Features:
- Replaced the `Par2` library with `Par2-turbo` which provides faster file recovery on x86/ARM platforms
Expand Down
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
![GitHub release (by tag)](https://img.shields.io/github/downloads/nzbgetcom/nzbget/v24.2/total?label=v24.2)
![GitHub release (by tag)](https://img.shields.io/github/downloads/nzbgetcom/nzbget/v24.3/total?label=v24.3)
![GitHub release (by tag)](https://img.shields.io/github/downloads/nzbgetcom/nzbget/v24.4/total?label=v24.4)
![GitHub release (by tag)](https://img.shields.io/github/downloads/nzbgetcom/nzbget/v24.5/total?label=v24.5)
![docker pulls](https://img.shields.io/docker/pulls/nzbgetcom/nzbget.svg)

[![linux build](https://github.com/nzbgetcom/nzbget/actions/workflows/linux.yml/badge.svg?branch=main)](https://github.com/nzbgetcom/nzbget/actions/workflows/linux.yml)
Expand Down Expand Up @@ -49,7 +50,9 @@ macOS packages are available from [releases](https://github.com/nzbgetcom/nzbget

Docker images are available for x86-64 / arm64 / armv7 architectures. [Docker readme](docker/README.md). LinuxServer.io version is also available: [docker-nzbget](https://github.com/linuxserver/docker-nzbget)

Synology package are available as SynoCommunity package. [Synology readme](docs/SYNOLOGY.md)
Synology package is available as SynoCommunity package. [Synology readme](docs/SYNOLOGY.md)

ASUSTOR NAS package (ADM 4.3+) is available from the [nzbget-asustor](https://github.com/nzbgetcom/nzbget-asustor) repository and from the ASUSTOR [App Central](https://www.asustor.com/app_central/app_detail?id=1671&type=). [ASUSTOR readme](https://github.com/nzbgetcom/nzbget-asustor/blob/main/README.md)

QNAP packages are available as buildroot packages or via [sherpa](https://github.com/OneCDOnly/sherpa) package manager. [QNAP readme](qnap/README.md)

Expand Down
17 changes: 17 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Security Policy

If you believe you have found a security vulnerability in NZBGet, please report it to us as described below.

## Reporting Security Issues

Please do not report security vulnerabilities through public GitHub issues. Instead, please use GitHubs private vulnerability reporting functionality associated to this repository.

Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
1. Type of issue
2. Step-by-step instructions to reproduce the issue
3. Proof-of-concept or exploit code (if possible)
4. Potential impact of the issue, including how an attacker might exploit the issue

This information will help us review your report faster.

This security policy only applies to the most recent stable branch of NZBGet. Flaws in old versions that are not present in the current stable branch will not be fixed.
21 changes: 19 additions & 2 deletions cmake/common.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,22 @@
if (CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i686|x86|x86_64|x64|amd64|AMD64|win32|Win32")
set(IS_X86 TRUE)
if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|x64|amd64|AMD64")
set(IS_X64 TRUE)
endif()
endif()
if (CMAKE_SYSTEM_PROCESSOR MATCHES "arm|ARM|aarch64|arm64|ARM64|armeb|aarch64be|aarch64_be")
set(IS_ARM TRUE)
endif()
if (CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64|rv64")
set(IS_RISCV64 TRUE)
endif()
if (CMAKE_SYSTEM_PROCESSOR MATCHES "riscv32|rv32")
set(IS_RISCV32 TRUE)
endif()

if(CMAKE_BUILD_TYPE STREQUAL "Debug")
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang|AppleClang")
add_compile_options(-Weverything)
add_compile_options(-Weverything -Wno-c++98-compat)
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
add_compile_options(-Wall -Wextra)
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
Expand All @@ -21,4 +37,5 @@ elseif(CMAKE_BUILD_TYPE STREQUAL "Release")
endif()
endif()

include(FetchContent)
include(ExternalProject)
include(CheckCXXCompilerFlag)
Loading
Loading