Add the `IMAGETYPE_AVIF` constant to the PHP 8.1 migration guide.
The Standard section was placed at the end of the file, after Tokenizer, following the pattern used in the PHP 8.5 migration guide. I'm not sure if this is correct or not.
Refs:
* https://github.com/php/php-src/pull/7091
The paragraph above explicitly states that "cases are not intrinsically backed by a scalar value"; this example demonstrates that more clearly than the others.
Due to a preprocessor guard typo in pgsql.stub.php
(`PQTRACE_SUPPPRESS_TIMESTAMPS` — triple P), this constant was
never registered. Fixed in php-src and will be available from
PHP 8.4.20.
php-src fix: https://github.com/php/php-src/pull/21386
For patch-version notation precedent, see MYSQLI_REFRESH_REPLICA
(Available as of PHP 8.1.2, doc-en PR #1006).
## Summary
The pgsql extension documentation references PostgreSQL versions that have been
outdated for years. The requirements page (`reference/pgsql/setup.xml`) states:
https://www.php.net/manual/en/pgsql.requirements.php
> To use PostgreSQL support, you need PostgreSQL 6.5 or later,
> PostgreSQL 8.0 or later to enable all PostgreSQL module features.
However, the actual minimum libpq versions enforced by php-src are:
| PHP version | Minimum libpq | Commit |
|---|---|---|
| PHP 8.0+ | libpq 9.1 | php/php-src@ce668c0ec6 |
| PHP 8.4+ | libpq 10.0 | php/php-src#14628 |
The "PostgreSQL 6.5" requirement has been incorrect since at least PHP 8.0.0
(released 2020-11-26), which requires libpq 9.1 via `PQlibVersion` check in
`ext/pgsql/config.m4`. As of PHP 8.4, the minimum was further raised to libpq
10.0 via `PQencryptPasswordConn` check in `build/php.m4`.
## Changes
- **setup.xml**: Update requirements to match php-src, following the same
pattern used by ext/curl and ext/openssl (per-PHP-version listing).
- **14 function pages**: Remove notes referencing PostgreSQL versions 6.3–9.0
that are no longer relevant given the libpq 10.0 minimum. These include
version-gated notes for `pg_prepare`, `pg_query_params`, `pg_execute`,
`pg_escape_string`, `pg_escape_identifier`, `pg_escape_literal`,
`pg_client_encoding`, `pg_unescape_bytea`, `pg_result_error_field`,
`pg_parameter_status`, `pg_lo_create`, `pg_version`, `pg_affected_rows`,
and the general `reference.xml`.
Under xml:id="soapfault.props.lang", the <varname> says "headerfault"
instead of "lang" (copy-paste error).
See https://www.php.net/manual/en/class.soapfault.php
(the rendered page shows "headerfault" twice, "lang" is missing)
The current user and group ID are passed passed to the docker build command
and the ownership of the cloned directories are changed to them.
This gets rid of git's "dubious ownership" error.
Without this changes I got an error:
> $ make
> docker run --rm -v :/var/www/en -w /var/www -u 1000:1000 php/doc-en
> configure.php on PHP 8.2.29, libxml 2.9.14
>
> fatal: detected dubious ownership in repository at '/var/www/doc-base'
> To add an exception for this directory, call:
>
> git config --global --add safe.directory /var/www/doc-base
> doc-base/temp clean up FAILED.
> make: *** [Makefile:22: xhtml] Fehler 1
Resolves: https://github.com/php/doc-en/pull/4645
Passing "." as path does not work with docker 20.10.24:
> $ make
> docker run --rm -v .:/var/www/en -w /var/www -u 1000:1000 php/doc-en
> docker: Error response from daemon: create .: volume name is too short, names should be at least two alphanumeric characters.
> See 'docker run --help'.
> make: *** [Makefile:22: xhtml] Fehler 125
This reverts commit 6a05d92a32.
On the request of Máté to fix the build.
It might make sense to rewrite history and force push to prevent revcheck issues, but that's another debate.
* Fix return type for 5 functions: bool -> true
These functions always return true (or throw on error):
- finfo_close (fileinfo)
- ftp_set_option (ftp)
- libxml_set_external_entity_loader (libxml)
- shm_detach (shmop)
- array_multisort (standard)
* Add changelog entries for return type change bool -> true
* Fix changelog version: use 8.5.0 instead of entity hardcoded to 8.2.0
The &return.type.true; entity is hardcoded with version 8.2.0, but all
5 functions changed their return type from bool to true in PHP 8.5.
Replace the entity with manual changelog rows using the correct version.