From 76ba2387c42f885f737a30326ba751f9a84acab5 Mon Sep 17 00:00:00 2001 From: Exanlv Date: Tue, 10 Mar 2026 22:18:17 +0100 Subject: [PATCH 1/3] Bump minimum php version to 8.4 --- .dev/docker/php/8.5/Dockerfile | 13 +++++++++++++ .github/workflows/code-quality.yml | 8 ++++---- .github/workflows/unit-tests.yml | 2 +- composer.json | 10 ++++------ docker-compose.yml | 12 ++++++++++++ readme.md | 2 +- 6 files changed, 35 insertions(+), 12 deletions(-) create mode 100644 .dev/docker/php/8.5/Dockerfile diff --git a/.dev/docker/php/8.5/Dockerfile b/.dev/docker/php/8.5/Dockerfile new file mode 100644 index 0000000..53f9a8b --- /dev/null +++ b/.dev/docker/php/8.5/Dockerfile @@ -0,0 +1,13 @@ +FROM php:8.5-cli-alpine AS lyngvi-php + +RUN apk add --update linux-headers + +RUN apk add --no-cache pcre ${PHPIZE_DEPS} \ + libevent-dev openssl openssl-dev + +RUN pecl install ev xdebug + +RUN docker-php-ext-enable ev xdebug + +RUN wget https://raw.githubusercontent.com/composer/getcomposer.org/f3108f64b4e1c1ce6eb462b159956461592b3e3e/web/installer -O - -q | php -- --quiet +RUN mv /composer.phar /usr/local/bin/composer diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml index 44b7378..d06b8e4 100644 --- a/.github/workflows/code-quality.yml +++ b/.github/workflows/code-quality.yml @@ -10,10 +10,10 @@ jobs: runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v3 - - name: Install PHP 8.1 + - name: Install PHP 8.4 uses: shivammathur/setup-php@v2 with: - php-version: 8.3 + php-version: 8.4 - name: Install packages run: composer install --no-progress - name: Run CS @@ -25,10 +25,10 @@ jobs: runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v3 - - name: Install PHP 8.1 + - name: Install PHP 8.4 uses: shivammathur/setup-php@v2 with: - php-version: 8.3 + php-version: 8.4 - name: Install packages run: composer install --no-progress - name: Run MD diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 2feff64..088ad01 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - php: [ '8.2', '8.3', '8.4' ] + php: [ '8.4', '8.5' ] steps: - uses: actions/checkout@v3 diff --git a/composer.json b/composer.json index ea21e06..806f483 100644 --- a/composer.json +++ b/composer.json @@ -16,7 +16,7 @@ }, "minimum-stability": "stable", "require": { - "php": "^8.2", + "php": "^8.4", "react/event-loop": "^1.3.0", "evenement/evenement": "^3.0.0", "nesbot/carbon": "^2.64 || ^3.0", @@ -47,13 +47,11 @@ "test": "phpunit", "test-coverage": "@php -d xdebug.mode=coverage ./vendor/bin/phpunit --coverage-html .phpunit.cache/cov-html", - "test-8.2": "docker-compose run php8.2 composer test", - "test-8.3": "docker-compose run php8.3 composer test", "test-8.4": "docker-compose run php8.4 composer test", + "test-8.5": "docker-compose run php8.4 composer test", "test-all": [ - "composer test-8.2", - "composer test-8.3", - "composer test-8.4" + "composer test-8.4", + "composer test-8.5" ] }, "config": { diff --git a/docker-compose.yml b/docker-compose.yml index 95f85fc..c3ca12d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,10 @@ services: + php8.1: + build: ./.dev/docker/php/8.1 + volumes: + - .:/fenrir:z + working_dir: /fenrir + command: sh php8.2: build: ./.dev/docker/php/8.2 volumes: @@ -17,3 +23,9 @@ services: - .:/fenrir:z working_dir: /fenrir command: sh + php8.5: + build: ./.dev/docker/php/8.5 + volumes: + - .:/fenrir:z + working_dir: /fenrir + command: sh diff --git a/readme.md b/readme.md index ae9780d..b62d9e2 100644 --- a/readme.md +++ b/readme.md @@ -88,7 +88,7 @@ For more examples, check out the examples directory ## Support -Fenrir currently supports PHP 8.2+ +Fenrir currently supports PHP 8.4+ Tests should pass nightly builds of newer versions, but this is not a supported usecase. If you're using this in a Apache2/Nginx/etc webserver environment, you should probably limit yourself to only using Fenrir's REST capabilities. From 180c4cb0515c6301934d9690c52d8ed4ed1cedaa Mon Sep 17 00:00:00 2001 From: Exanlv Date: Tue, 10 Mar 2026 22:21:01 +0100 Subject: [PATCH 2/3] Add 8.6 unit tests --- .github/workflows/unit-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 088ad01..4e2698e 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - php: [ '8.4', '8.5' ] + php: [ '8.4', '8.5', '8.6' ] steps: - uses: actions/checkout@v3 From c39d9da7af58ace6ec37ce907bd45b99e7895844 Mon Sep 17 00:00:00 2001 From: Exanlv Date: Thu, 12 Mar 2026 12:28:33 +0100 Subject: [PATCH 3/3] Add table with version compatibility --- readme.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/readme.md b/readme.md index b62d9e2..faa617f 100644 --- a/readme.md +++ b/readme.md @@ -91,6 +91,14 @@ For more examples, check out the examples directory Fenrir currently supports PHP 8.4+ Tests should pass nightly builds of newer versions, but this is not a supported usecase. +| PHP Version | Library version | +| ----------- | --------------- | +| 8.4+ | Current | +| 8.2, 8.3 | < 1.2 | +| 8.1 | < 1.0.1 | + +Note: Bugfixes/features will not be backported to older versions. Older versions are as-is. + If you're using this in a Apache2/Nginx/etc webserver environment, you should probably limit yourself to only using Fenrir's REST capabilities. These environments typically don't allow long-running processes.