Skip to content

Support PHP 8.1#303

Merged
iliaal merged 1 commit into
masterfrom
php-8.1-support
Jun 5, 2026
Merged

Support PHP 8.1#303
iliaal merged 1 commit into
masterfrom
php-8.1-support

Conversation

@iliaal

@iliaal iliaal commented Jun 5, 2026

Copy link
Copy Markdown
Owner

Lowers the minimum from 8.3 to 8.1.

Blocker + fix

The only 8.3+ dependency was the class-entry default_object_handlers field assigned in the REGISTER_EXCEL_CLASS macro. Guarded with #if PHP_VERSION_ID >= 80300. No #else needed: each create_object handler already sets intern->std.handlers directly (verified across all 12 classes), which is the correct per-object mechanism on 8.1/8.2.

Floor + CI

  • config.m4: vernum gate 80300 -> 80100, error message updated to "8.1.0 or later".
  • composer.json: >=8.3 -> >=8.1. README.markdown: "PHP 8.1+ minimum".
  • Added 8.1 and 8.2 to the linux test matrix (tests.yml), the Windows php-version-list (windows.yml), and build_matrix in .release-config.

Verification

Built clean (0 warnings, 0 errors) and ran the full suite against local ASAN PHP 8.1.34 and 8.2.31:

PHP passed failed skipped
8.1 155 0 2
8.2 155 0 2

Both skips are license-gated (isLicensed() / licensed row-0 access) with no libxl key set — environment, not version. Runtime smoke test confirms object handlers wire correctly on 8.1.

The only 8.3+ dependency was the class-entry default_object_handlers
field; guard the assignment with PHP_VERSION_ID >= 80300. On 8.1/8.2
each create_object handler already sets intern->std.handlers, the
correct per-object mechanism there.

Lower the floor to 8.1.0 in config.m4 and composer.json, add 8.1/8.2
to the linux/windows CI matrices and the release build matrix.
@iliaal iliaal merged commit ae99fb2 into master Jun 5, 2026
32 checks passed
@iliaal iliaal deleted the php-8.1-support branch June 5, 2026 13:43
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.

1 participant