Skip to content

Upgrade to PHP 8.5 and latest dependencies - #90

Merged
veewee merged 2 commits into
3.xfrom
php-85-upgrade-3.x
Oct 15, 2025
Merged

veewee merged 2 commits into
3.xfrom
php-85-upgrade-3.x

Conversation

@veewee

@veewee veewee commented Oct 14, 2025 •

Copy link
Copy Markdown
Owner
  • Remove PHP 8.2 support, add PHP 8.5 support
  • Update azjezz/psl to support both ^3.0 and ^4.0
  • Add phpunit/phpunit ~12.3
  • Update vimeo/psalm to ~6.13
  • Add php-cs-fixer/shim ~3.88
  • Add infection/infection ^0.31.7
  • Remove .phive and tools directories
  • Update GitHub workflow files to use PHP 8.3, 8.4, 8.5
  • Update composer scripts to use ./vendor/bin instead of tools/
  • Convert all dataProvider docblock annotations to PHP attributes
  • Make all data provider methods static (required for PHPUnit 12)
  • Update psalm.xml with findUnusedCode=false and ensureOverrideAttribute=false

Changes made by GitHub Copilot CLI.

Q A
Type bug/feature/improvement
BC Break yes/no
Fixed issues

Summary

- Remove PHP 8.2 support, add PHP 8.5 support
- Update azjezz/psl to support both ^3.0 and ^4.0
- Add phpunit/phpunit ~12.3
- Update vimeo/psalm to ~6.13
- Add php-cs-fixer/shim ~3.88
- Add infection/infection ^0.31.7
- Remove .phive and tools directories
- Update GitHub workflow files to use PHP 8.3, 8.4, 8.5
- Update composer scripts to use ./vendor/bin instead of tools/
- Convert all @dataProvider docblock annotations to PHP attributes
- Make all data provider methods static (required for PHPUnit 12)
- Update psalm.xml with findUnusedCode=false and ensureOverrideAttribute=false

Changes made by GitHub Copilot CLI.
@veewee
veewee requested a review from Copilot October 14, 2025 12:31

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull Request Overview

This PR upgrades the project to support PHP 8.5 and modernizes its test infrastructure by migrating from PHPUnit docblock annotations to PHP attributes and updating dependencies to their latest versions.

Key changes:

  • Remove PHP 8.2 support and add PHP 8.5 support across the codebase
  • Convert all @dataProvider docblock annotations to #[DataProvider()] PHP attributes
  • Make all data provider methods static (required for PHPUnit 12)

Reviewed Changes

Copilot reviewed 39 out of 42 changed files in this pull request and generated no comments.

Show a summary per file
File Description
composer.json Updates PHP version constraints, dependencies, and composer scripts to use vendor/bin
psalm.xml Adds configuration flags for findUnusedCode and ensureOverrideAttribute
.phive/phars.xml Removes phive configuration file
.github/workflows/*.yaml Updates CI workflows to test PHP 8.3, 8.4, 8.5 instead of 8.2, 8.3, 8.4
tests/**/*Test.php Converts @dataProvider annotations to #[DataProvider] attributes and makes provider methods static
src/Xml/Xslt/Configurator/security_preferences.php Adds explicit use statements for XSL constants and updates docblock references

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@veewee
veewee force-pushed the php-85-upgrade-3.x branch 2 times, most recently from 9b83e10 to a1e7997 Compare October 14, 2025 13:02
Comment thread tests/Xml/Encoding/EncodingTest.php Resolved
@veewee
veewee force-pushed the php-85-upgrade-3.x branch 9 times, most recently from f4b2246 to 58900e9 Compare October 15, 2025 07:29
@veewee
veewee force-pushed the php-85-upgrade-3.x branch from 58900e9 to 31f79f0 Compare October 15, 2025 07:31
@veewee
veewee requested a review from Copilot October 15, 2025 07:43

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull Request Overview

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


Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment on lines +37 to +38
if (PHP_VERSION_ID >= 80300 && PHP_VERSION_ID < 80400) {
static::markTestSkipped('This test turns into a warning on PHP 8.3.');

Copilot AI Oct 15, 2025

Copy link

Choose a reason for hiding this comment

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

The PHP version check specifically targets PHP 8.3, but the PR removes PHP 8.2 support and now supports 8.3-8.5. This version-specific skip may need to be reconsidered or documented why it's still needed for PHP 8.3 specifically.

Suggested change
if (PHP_VERSION_ID >= 80300 && PHP_VERSION_ID < 80400) {
static::markTestSkipped('This test turns into a warning on PHP 8.3.');
if (PHP_VERSION_ID >= 80300 && PHP_VERSION_ID < 80600) {
static::markTestSkipped('This test turns into a warning on PHP 8.3, 8.4, and 8.5.');

Copilot uses AI. Check for mistakes.

disallow_libxml_false_returns(
$reader->setSchema($schemaFile),
@$reader->setSchema($schemaFile),

Copilot AI Oct 15, 2025

Copy link

Choose a reason for hiding this comment

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

Using the @ error suppression operator can hide important errors and make debugging difficult. Consider using proper error handling instead of suppressing errors.

Suggested change
@$reader->setSchema($schemaFile),
$reader->setSchema($schemaFile),

Copilot uses AI. Check for mistakes.
@veewee
veewee merged commit 8799d7b into 3.x Oct 15, 2025
30 checks passed
@veewee
veewee deleted the php-85-upgrade-3.x branch October 15, 2025 08:24
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