Skip to content

add PHP 8.5 support#146

Merged
JanTvrdik merged 4 commits intomasterfrom
php85-opus45
Feb 25, 2026
Merged

add PHP 8.5 support#146
JanTvrdik merged 4 commits intomasterfrom
php85-opus45

Conversation

@JanTvrdik
Copy link
Copy Markdown
Member

@JanTvrdik JanTvrdik commented Nov 24, 2025

Summary

Add PHP 8.5 support to nextras/migrations.

Changes

  • QA workflow: add php85 to CI matrix
  • Docker: add php85 service using thecodingmachine/php:8.5-v5-cli
  • Unit tests: fix nette/tester compatibility on PHP 8.5
  • Integration test matrix: extend PHP_VERSION_MAX to 80599 in 16 matrix files for packages compatible with PHP 8.5:
    • dbal: dibi-4.2, dibi-5.1, doctrine-3.10, doctrine-4.3, doctrine-4.4, nette-3.2, nextras-5.0
    • symfony-bundle: symfony-5.4, symfony-6.3, symfony-6.4, symfony-7.07.4, symfony-8.0

Packages left at PHP 8.4 max

These packages don't support PHP 8.5 yet:

  • dibi/dibi:5.0.* — composer resolution failure on PHP 8.5
  • doctrine/dbal:3.3.*3.9.* and 4.0.*4.2.* — use deprecated PDO::PGSQL_ATTR_DISABLE_PREPARES constant (fixed in 3.10+ and 4.3+)

Test results on PHP 8.5

All 16 eligible matrix entries pass: 168 tests (112 dbal + 56 symfony-bundle), 0 failures.

@JanTvrdik JanTvrdik force-pushed the php85-opus45 branch 4 times, most recently from becb515 to a266800 Compare December 24, 2025 14:21
Copilot AI review requested due to automatic review settings February 24, 2026 17:23
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds support for PHP 8.5 to the project by updating test matrices, CI workflows, and Docker configurations. The changes ensure the codebase is tested against PHP 8.5 and includes compatibility fixes for the newer PHP version, including updating test framework dependencies and fixing PHP version range constraints in test matrices.

Changes:

  • Added PHP 8.5 to GitHub Actions CI matrix and Docker Compose services
  • Updated PHP version maximums from 80499 to 80599 across multiple test matrix files
  • Upgraded nette/tester dependency to ~2.5.7 for PHP 8.1+ test matrices
  • Fixed PHP 8.1+ compatibility issue with ReflectionMethod::setAccessible() deprecation
  • Removed deprecated -o console flag from test runner scripts
  • Corrected PHP version range in doctrine-3.0-php-7.3-to-7.4.sh (80499 → 70499)
  • Added new test matrix file for Doctrine DBAL 3.0 with PHP 8.0-8.5 support

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
.github/workflows/qa.yaml Added PHP 8.5 to the test matrix
docker-compose.yaml Added php85 service using thecodingmachine/php:8.5-v4-cli image
tests/run-unit.sh Removed deprecated -o console flag from tester invocation
tests/run-integration.sh Removed deprecated -o console flag from tester invocation
tests/matrix/symfony-bundle/symfony-7.0-php-8.2.sh Extended PHP version support to 8.5 (PHP_VERSION_MAX: 80599)
tests/matrix/dbal/nextras-5.0-php-8.1-to-8.5.sh Extended PHP version support to 8.5 and upgraded nette/tester to ~2.5.7
tests/matrix/dbal/doctrine-4.0.sh Extended PHP version support to 8.5 and upgraded nette/tester to ~2.5.7
tests/matrix/dbal/doctrine-3.0-php-8.0.sh New file: Added test matrix for Doctrine DBAL 3.10.4 with PHP 8.0-8.5
tests/matrix/dbal/doctrine-3.0-php-7.3-to-7.4.sh Fixed PHP_VERSION_MAX from 80499 to 70499 (correct range for PHP 7.3-7.4)
tests/matrix/dbal/dibi-5.0.sh Extended PHP version support to 8.5 and upgraded nette/tester to ~2.5.7
tests/matrix/dbal/dibi-4.0-php-8.1.sh Extended PHP version support to 8.5 and upgraded nette/tester to ~2.5.7
tests/cases/unit/OrderResolverTest.phpt Added PHP version check to conditionally call setAccessible() only for PHP < 8.1

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread tests/matrix/symfony-bundle/symfony-7.0-php-8.2.sh Outdated
Comment thread tests/matrix/dbal/doctrine-3.0-php-8.0.sh Outdated
- Fix php85 Docker image tag (v4 -> v5, v4 doesn't exist for 8.5)
- Extend PHP_VERSION_MAX to 80599 in 16 matrix files that are
  compatible with PHP 8.5
- Keep PHP_VERSION_MAX at 80499 for packages that don't support 8.5:
  - dibi 5.0 (composer resolution failure)
  - doctrine/dbal 3.3-3.9 and 4.0-4.2 (deprecated PDO::PGSQL_ATTR_DISABLE_PREPARES)
@JanTvrdik JanTvrdik merged commit 1fca131 into master Feb 25, 2026
10 checks passed
@JanTvrdik JanTvrdik deleted the php85-opus45 branch February 25, 2026 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants