Skip to content

Pin the PHP 8.3 docs to a revision from after the 8.3 release - #766

Merged
shish merged 1 commit into
thecodingmachine:masterfrom
Amoifr:fix-735-php83-docs-pin
Oct 24, 2026
Merged

shish merged 1 commit into
thecodingmachine:masterfrom
Amoifr:fix-735-php83-docs-pin

Conversation

@Amoifr

@Amoifr Amoifr commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

Fixes #735

The 8.3 doc-en pin (7453a503, 2022-11-22) was older than the 8.2 one, so 8.3 got the 8.2 wrappers, including imagerotate() with the $ignore_transparent parameter removed in PHP 8.0. This pins 8.3 to 4b00c791 (2023-12-05, two weeks after the 8.3 release, like the 8.4 pin) and doc-base to the latest revision of that day (59bc2bb7).

Checking for regressions (as suggested by @shish 😄)

  • Regenerating on master without this change reproduces the committed generated/ exactly, so the diff only reflects the new pin.
  • 36 functions change for 8.3, and 35 of them now match what was already generated for 8.4. The odd one out, odbc_autocommit(), only gets \Odbc\Connection from 8.4, as expected.
  • Checked by reflection against a real PHP 8.3 binary:
    • shuffle(), syslog(), closelog(), phpinfo(), phpcredits() and sodium_crypto_generichash_update() are declared : true, and gzpassthru(), inflate_get_status(), mb_encoding_aliases() and curl_multi_init() never return false, so the throw they lose could never fire.
    • posix_eaccess() and stream_context_set_options() were missing for 8.3 users.
    • date_create_immutable() and ftp_nb_get() are now wrapped and are indeed |false on 8.3.
    • posix_getrlimit(?int $resource), pg_trace(..., $trace_mode) and assert_options(int $option) now match 8.3.
  • Not checked by reflection (extensions missing locally): imagerotate(), xml_*, imap, pspell, pgsql, db2, odbc.

Eleven generated/8.4/ files go away because they are now identical to their 8.3 counterparts.

Tests pass on PHP 8.5 (48 tests). On 8.3 I could only lint the generated files and smoke-test a few wrappers, since PHPUnit needs ext-dom there.

@shish

shish commented Oct 24, 2026

Copy link
Copy Markdown
Collaborator

All sounds good, tests pass, merging /o/

FWIW after mentioning "and then we need to check for other regressions" I did make an attempt to automate that process, but it looks like there are hundreds of failures which appear to be mostly false-positives, so that's going to take some work to get to a point where it works reliably D: ( #761 )

@shish
shish merged commit b713b22 into thecodingmachine:master Oct 24, 2026
14 checks passed
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.

Image dispatcher loads wrong function signatures on PHP 8.3

2 participants