Repository navigation
chore: run Docker images, dev env and CI on PHP 8.4 - #3959
Merged
Merged
Conversation
PHP 8.2 leaves security support at the end of 2026. Move what we ship and test to 8.4: the .docker image (pinned to the 8.4.26 patch so a build cache can't serve a stale PHP), the dev/acceptance image and every CI job. The composer requirement stays ^8.2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
marcelfolaron
requested review from
broskees
and
a balanced review from Copilot
and removed request for
a team
October 20, 2026 23:49
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
Production image availability, successful container builds, and PHP 8.4 CI results remain unverified.
No open issues 🎉
What changed in this PR
Moves Leantime’s shipped containers, development environment, and CI to PHP 8.4 while retaining Composer compatibility with PHP 8.2+.
Changes:
- Pins both production Docker stages to PHP 8.4.26.
- Updates the development/acceptance container to PHP 8.4.
- Updates eight CI workflows to PHP 8.4.
| File | Description |
|---|---|
.github/workflows/unittests.yml |
Runs unit tests on PHP 8.4. |
.github/workflows/staticAnalysis.yml |
Runs static analysis on PHP 8.4. |
.github/workflows/security.yml |
Runs security checks on PHP 8.4. |
.github/workflows/release.yml |
Uses PHP 8.4 for releases. |
.github/workflows/makefile.yml |
Uses PHP 8.4 for Makefile checks. |
.github/workflows/codeStyleAnalysis.yml |
Runs style checks on PHP 8.4. |
.github/workflows/api-bearer-tests.yml |
Runs bearer API tests on PHP 8.4. |
.github/workflows/acceptancetests.yml |
Uses PHP 8.4 for acceptance CI. |
.docker/Dockerfile |
Pins builder and production images to PHP 8.4.26. |
.dev/dockerfile |
Updates the Apache development image to PHP 8.4. |
Review effort: Balanced
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PHP has a critical security release on 2026-10-21 (2× CVSS 9.2), and 8.2 leaves security support on 2026-12-31. We're moving all our hosted systems to 8.4; this moves what core ships and tests to 8.4 too.
.docker/Dockerfile:php:8.4.26-fpm-alpine(pinned patch, bumped for each PHP security release).dev/dockerfile(dev + acceptance tests):php:8.2-apache→php:8.4-apachephp-version: '8.4'composer.jsonkeepsphp: ^8.2, so self-hosters on 8.2/8.3 aren't cut offLocally: unit suite on PHP 8.4 = same result as on 8.3 (no 8.4-specific failures). This PR's CI is the acceptance check on 8.4.
🤖 Generated with Claude Code