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)
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.
* Document new API in ext-mongodb 2.2.0
* Apply suggestions from code review
Co-authored-by: Jeremy Mikola <jmikola@gmail.com>
---------
Co-authored-by: Jeremy Mikola <jmikola@gmail.com>
Make it a bit more visible yet that DATE_ISO8601 is not compatible with
ISO-8601 (anyone wondering “why ‘like’?” will hopefully see the note
immediately below), and mention the standards that Atom is compatible
with (straight from RFC 4287, section 3.3; I omitted the “Date and Time
Formats” W3C note as it doesn’t seem as prominent as the others) in the
hope of encouraging more people to use it.