Skip to content

chore: upgrade/php-8.3.36 - #31

Merged
redlohaus merged 3 commits into
masterfrom
upgrade/php-8.3.36
Oct 22, 2026
Merged

redlohaus merged 3 commits into
masterfrom
upgrade/php-8.3.36

Conversation

@lhbarrientosz

@lhbarrientosz lhbarrientosz commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Current branch unit test coverage

OK (38 tests, 93 assertions)

Code Coverage Report:      
  2026-10-21 22:23:30      
                           
 Summary:                  
  Classes:  0.00% (0/6)    
  Methods: 43.06% (31/72)  
  Lines:   60.06% (188/313)

PHP Compatibility and Security Validation

This PR upgrades the project's baseline to PHP 8.3.36 and updates the development tooling to support it.

The library was tested using official PHP Docker images with the following results:

PHP Version Syntax Validation Unit Tests
8.3.36 ✅ Passed 15 tests, 19 assertions
8.4.27 ✅ Passed 15 tests, 19 assertions
8.5.12 ✅ Passed 15 tests, 19 assertions

Tests were executed with all PHP error levels enabled (E_ALL). No warnings, deprecations, or risky tests were observed.

The following checks also passed on PHP 8.3.36:

  • ✅ Composer validation
  • ✅ Platform requirements verification
  • ✅ PHP CS Fixer
  • ✅ PHPStan level 8

Security Considerations

These PHP releases include fixes for:

  • CVE-2026-109618
  • CVE-2026-109619

Composer constraint:

{
  "php": "~8.3.36 || ~8.4.27
}

Note: Updating the Composer constraint alone does not patch deployed PHP runtimes. Production servers and containers must also be upgraded, and existing PHP workers must be restarted or replaced to ensure the security fixes are applied.

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.

🔵 Needs a closer look

The narrowed PHP compatibility range needs correction, and the new Docker/CI environment still needs runtime validation before approval.

1 open issue
What changed in this PR

Updates the library’s PHP baseline to 8.3.36 and adds a Docker-based test environment.

Changes:

  • Updates Composer requirements and CI runtime setup.
  • Adds Docker testing with MySQL, optional custom CA support, and Xdebug coverage.
  • Makes nullable insert-ID parameters explicit across the manager and adapter API.
File Description
src/​DatabaseManager.php Makes the insert-ID name parameter explicitly nullable.
src/​Adapter/​PdoAdapter.php Aligns the PDO implementation’s nullable parameter.
src/​Adapter/​AdapterInterface.php Updates the matching interface declaration.
README.md Documents Docker tests, certificates, cleanup, and coverage.
Dockerfile Adds the PHP test image with Composer and Xdebug.
composer.json Changes the supported PHP version range.
compose.yaml Configures tests, MySQL, coverage storage, and CA secrets.
.gitignore Excludes generated coverage reports.
.github/​workflows/​php.yml Configures PHP 8.3.36 and updates the cache action.
.dockerignore Excludes dependencies, coverage, and repository metadata.

Review effort: Balanced

Comment thread composer.json Outdated

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.

🟢 Approval recommended

Static review found no blocking issues in the consistent signature updates or supporting test configuration; container builds and CI were not executed.

No open issues 🎉

1 resolved since last review

Review effort: Balanced

ddurandg
ddurandg previously approved these changes Oct 22, 2026
@redlohaus
redlohaus merged commit 86caf6e into master Oct 22, 2026
1 check failed
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.

4 participants