doc-en
doc-en copied to clipboard
PHP 8.2 documentation tracker
Pages which need to be added/modified for complete documentation of PHP 8.2:
Based of the migration guide: https://www.php.net/manual/en/migration82.php (https://github.com/php/doc-en/pull/1799)
Note This issue is still a Work In Progress
Core
- [x] New features:
- [x] Type system (#1726)
- [x] false null standalone
- [x] true
- [x] DNF types
- [x] Sensitive Parameter attribute
- [x] Readonly classes (#1996)
- [x] error_log_mode INI directive (Part of #1799)
- [x] Declaring constants in traits (#1995)
- [x] Type system (#1726)
- [ ] Deprecated
- [x] Dynamic properties (#1942)
- [ ] "${var}" and "${expr}" style string interpolations (#2000)
Classes:
- [x] New classes
- [x] Random Extension (based on random.stub.php https://github.com/php/doc-en/pull/1916 )
- [x] Random\Engine
- [x] Random\Engine\Mt19937
- [x] Random\Engine\PcgOneseq128XslRr64
- [x] Random\Engine\Xoshiro256StarStar
- [x] Random\Engine\Secure
- [x] Random\CryptoSafeEngine
- [x] Random\Randomizer
- [x] Random\RandomError
- [x] Random\BrokenRandomEngineError
- [x] Random\RandomException
- [x] Random\Engine
- [x] Random Extension (based on random.stub.php https://github.com/php/doc-en/pull/1916 )
Functions/Methods:
- [x] New functions:
- [x] cURL
- [x]
curl_upkeep()
(#1807)
- [x]
- [x] IMAP
- [x]
imap_is_open()
(#2583)
- [x]
- [x] MySQLi
- [x]
mysqli_execute_query()
(#1855)
- [x]
- [x] OpenSSL
- [x]
openssl_cipher_key_length()
(#1808)
- [x]
- [x] Reflection
- [x]
ReflectionFunction::isAnonymous()
(#1742) - [x]
ReflectionMethod::hasPrototype()
(#1742)
- [x]
- [x] Sodium
- [x]
sodium_crypto_stream_xchacha20_xor_ic()
(#1817)
- [x]
- [x] Standard
- [x]
memory_reset_peak_usage()
(#1809) - [x]
ini_parse_quantity()
(#1810)
- [x]
- [x] XML
- [x]
libxml_get_external_entity_loader()
(#1933)
- [x]
- [x] ZIP
- [x]
ZipArchive::clearError()
(f57925e) - [x]
ZipArchive::getStreamName()
(f57925e) - [x]
ZipArchive::getStreamIndex()
(f57925e)
- [x]
- [x] cURL
- [x] Modified functions
- [x] Core
- [x] str*cmp, substr_compare functions, using binary safe string comparison now return -1, 0 and 1. (#1857)
- [x] Locale-independent case conversion (#1934) (RFC: https://wiki.php.net/rfc/strtolower-ascii)
- [x] DBA
- [x]
dba_open()
/dba_popen()
(#1267) - [x]
dba_fetch()
(#1939)
- [x]
- [x] Random
- [x]
random_bytes()
(#1813) - [x]
random_int()
(#1813)
- [x]
- [x] SPL (#1938)
- [x]
iterator_to_array()
- [x]
iterator_count()
- [x]
- [x] Standard
- [x]
getimagesize()
(#1821)
- [x]
- [x] Core
- [x] Deprecated
- [x] SPL
- [x]
SplFileInfo::_bad_state_ex()
(method was undocumented)
- [x]
- [x] Standard
- [x]
utf8_encode()
(#1743) - [x]
utf8_decode()
(#1743)
- [x]
- [x] SPL
Constants:
- [x] New:
-
[x] COM_DOTNET:
- [x] DISP_E_PARAMNOTFOUND
- [x] LOCALE_NEUTRAL
-
[x] cURL:
- [x] CURLALTSVC_H1 (libcurl >= 7.64.1)
- [x] CURLALTSVC_H2 (libcurl >= 7.64.1)
- [x] CURLALTSVC_H3 (libcurl >= 7.64.1)
- [x] CURLALTSVC_READONLYFILE (libcurl >= 7.64.1)
- [x] CURLAUTH_AWS_SIGV4 (libcurl >= 7.75.0) (#1911)
- [x] CURLE_PROXY (libcurl >= 7.73.0)
- [x] CURLFTPMETHOD_DEFAULT
- [x] CURLHSTS_ENABLE (libcurl >= 7.74.0) (#1911)
- [x] CURLHSTS_READONLYFILE (libcurl >= 7.74.0) (#1911)
- [x] CURLINFO_PROXY_ERROR (libcurl >= 7.73.0) (#1911)
- [x] CURLINFO_REFERER (libcurl >= 7.76.0) (#1911)
- [x] CURLINFO_RETRY_AFTER (libcurl >= 7.66.0) (#1911)
- [x] CURLMOPT_MAX_CONCURRENT_STREAMS (libcurl >= 7.67.0)
- [x] CURLOPT_ALTSVC_CTRL (libcurl >= 7.64.1)
- [x] CURLOPT_ALTSVC (libcurl >= 7.64.1)
- [x] CURLOPT_AWS_SIGV4 (libcurl >= 7.75.0) (#1911)
- [x] CURLOPT_CAINFO_BLOB (libcurl >= 7.77.0) (#1911)
- [x] CURLOPT_DOH_SSL_VERIFYHOST (libcurl >= 7.76.0) (#1911)
- [x] CURLOPT_DOH_SSL_VERIFYPEER (libcurl >= 7.76.0) (#1911)
- [x] CURLOPT_DOH_SSL_VERIFYSTATUS (libcurl >= 7.76.0) (#1911)
- [x] CURLOPT_HSTS_CTRL (libcurl >= 7.74.0) (#1911)
- [x] CURLOPT_HSTS (libcurl >= 7.74.0) (#1911)
- [x] CURLOPT_MAIL_RCPT_ALLLOWFAILS (libcurl >= 7.69.0) (#1911)
- [x] CURLOPT_MAXAGE_CONN (libcurl >= 7.65.0) (#1911)
- [x] CURLOPT_MAXFILESIZE_LARGE (#1911)
- [x] CURLOPT_MAXLIFETIME_CONN (libcurl >= 7.80.0) (#1911)
- [x] CURLOPT_PROXY_CAINFO_BLOB (libcurl >= 7.77.0) (#1911)
- [x] CURLOPT_SASL_AUTHZID (libcurl >= 7.66.0) (#1911)
- [x] CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 (libcurl >= 7.80.0) (#1911)
- [x] CURLOPT_SSL_EC_CURVES (libcurl >= 7.73.0) (#1911)
- [x] CURLOPT_UPKEEP_INTERVAL_MS (libcurl >= 7.62.0) (#1911)
- [x] CURLOPT_UPLOAD_BUFFERSIZE (libcurl >= 7.62.0) (#1911)
- [x] CURLOPT_XFERINFOFUNCTION (libcurl >= 7.32.0) (#1540)
- [x] CURLPROTO_MQTT (libcurl >= 7.71.0)
- [x] CURLPX_BAD_ADDRESS_TYPE (libcurl >= 7.73.0)
- [x] CURLPX_BAD_VERSION (libcurl >= 7.73.0)
- [x] CURLPX_CLOSED (libcurl >= 7.73.0)
- [x] CURLPX_GSSAPI (libcurl >= 7.73.0)
- [x] CURLPX_GSSAPI_PERMSG (libcurl >= 7.73.0)
- [x] CURLPX_GSSAPI_PROTECTION (libcurl >= 7.73.0)
- [x] CURLPX_IDENTD_DIFFER (libcurl >= 7.73.0)
- [x] CURLPX_IDENTD (libcurl >= 7.73.0)
- [x] CURLPX_LONG_HOSTNAME (libcurl >= 7.73.0)
- [x] CURLPX_LONG_PASSWD (libcurl >= 7.73.0)
- [x] CURLPX_LONG_USER (libcurl >= 7.73.0)
- [x] CURLPX_NO_AUTH (libcurl >= 7.73.0)
- [x] CURLPX_OK (libcurl >= 7.73.0)
- [x] CURLPX_RECV_ADDRESS (libcurl >= 7.73.0)
- [x] CURLPX_RECV_AUTH (libcurl >= 7.73.0)
- [x] CURLPX_RECV_CONNECT (libcurl >= 7.73.0)
- [x] CURLPX_RECV_REQACK (libcurl >= 7.73.0)
- [x] CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED (libcurl >= 7.73.0)
- [x] CURLPX_REPLY_COMMAND_NOT_SUPPORTED (libcurl >= 7.73.0)
- [x] CURLPX_REPLY_CONNECTION_REFUSED (libcurl >= 7.73.0)
- [x] CURLPX_REPLY_GENERAL_SERVER_FAILURE (libcurl >= 7.73.0)
- [x] CURLPX_REPLY_HOST_UNREACHABLE (libcurl >= 7.73.0)
- [x] CURLPX_REPLY_NETWORK_UNREACHABLE (libcurl >= 7.73.0)
- [x] CURLPX_REPLY_NOT_ALLOWED (libcurl >= 7.73.0)
- [x] CURLPX_REPLY_TTL_EXPIRED (libcurl >= 7.73.0)
- [x] CURLPX_REPLY_UNASSIGNED (libcurl >= 7.73.0)
- [x] CURLPX_REQUEST_FAILED (libcurl >= 7.73.0)
- [x] CURLPX_RESOLVE_HOST (libcurl >= 7.73.0)
- [x] CURLPX_SEND_AUTH (libcurl >= 7.73.0)
- [x] CURLPX_SEND_CONNECT (libcurl >= 7.73.0)
- [x] CURLPX_SEND_REQUEST (libcurl >= 7.73.0)
- [x] CURLPX_UNKNOWN_FAIL (libcurl >= 7.73.0)
- [x] CURLPX_UNKNOWN_MODE (libcurl >= 7.73.0)
- [x] CURLPX_USER_REJECTED (libcurl >= 7.73.0)
- [x] CURLSSLOPT_AUTO_CLIENT_CERT (libcurl >= 7.77.0)
- [x] CURLSSLOPT_NATIVE_CA (libcurl >= 7.71.0)
- [x] CURLSSLOPT_NO_PARTIALCHAIN (libcurl >= 7.68.0)
- [x] CURLSSLOPT_REVOKE_BEST_EFFORT (libcurl >= 7.70.0)
- [x] CURL_VERSION_GSASL (libcurl >= 7.76.0) (#1911)
- [x] CURL_VERSION_HSTS (libcurl >= 7.74.0) (#1911)
- [x] CURL_VERSION_HTTP3 (libcurl >= 7.66.0) (#1911)
- [x] CURL_VERSION_UNICODE (libcurl >= 7.72.0) (#1911)
- [x] CURL_VERSION_ZSTD (libcurl >= 7.72.0) (#1911)
-
[x] DBA:
- [x] DBA_LMDB_USE_SUB_DIR (#1818)
- [x] DBA_LMDB_NO_SUB_DIR (#1818)
-
[x] Filter:
- [x] FILTER_FLAG_GLOBAL_RANGE (#1811)
-
[x] Sockets:
- [x] SO_INCOMING_CPU (#1609)
- [x] SO_MEMINFO (#1609)
- [x] SO_RTABLE (OpenBSD) (#1609)
- [x] TCP_KEEPALIVE (MacOS) (#1609)
- [x] TCP_KEEPCNT (Linux, others) (#1609)
- [x] TCP_KEEPIDLE (Linux, others) (#1609)
- [x] TCP_KEEPINTVL (Linux, others) (#1609)
- [x] TCP_NOTSENT_LOWAT (#1609)
- [x] LOCAL_CREDS_PERSISTENT (FreeBSD) (#1856)
- [x] SCM_CREDS2 (FreeBSD) (#1609)
- [x] LOCAL_CREDS (NetBSD) (#1856)
- [x] SO_BPF_EXTENSIONS (#1609)
- [x] SO_SETFIB (#1609)
- [x] TCP_CONGESTION (Linux, FreeBSD) (#1609)
- [x] SO_ZEROCOPY (Linux) (#1609)
- [x] MSG_ZEROCOPY (Linux) (#1609)
-
Other changes (W.I.P)
- [x] MBString text encoding (#3108)
- [x] iterable type (#1726)
- [x] The return value of DateTime::getLastErrors() (https://github.com/php/php-src/issues/9431)
- [x] PCRE
/n (NO_AUTO_CAPTURE)
new options (#2598)
Added Classes:
entry for Random Extention 5.0 RFC related PR (https://github.com/php/php-src/pull/8094).
SplFileInfo::_bad_state_ex()
Didn't see any references in the documentation 👀
@saundefined, SplFileInfo::_bad_state_ex()
is undocumented so far.
SKF_AD_* constants available since 8.2.0alpha2 (see https://github.com/php/php-src/blob/php-8.2.0alpha2/ext/sockets/sockets.c#L575-L628) are missing in Sockets list
Come from commit https://github.com/php/php-src/commit/d677cc13ce9b23fdfacd812483d940fd3393b51c
good call @llaville, I ll add them in the existing PR.
The return value of DateTime::getLastErrors()
may change.
See https://github.com/php/php-src/issues/9431#issuecomment-1230316507
https://wiki.php.net/rfc/strtolower-ascii PHP RFC: Locale-independent case conversion should be added for the functions in https://wiki.php.net/rfc/strtolower-ascii#proposal
Can't edit description; I made #1933 for libxml_get_external_entity_loader().
[edit] Doc updates for my case conversion RFC are at #1934.
Modifier /n
(NO_AUTO_CAPTURE
) is missing in documentation: https://github.com/php/doc-en/blob/master/reference/pcre/pattern.modifiers.xml
https://www.php.net/manual/en/migration82.new-features.php#migration82.new-features.pcre https://php.watch/versions/8.2/preg-n-no-capture-modifier
SKF_*
constants are missing in migration page
https://www.php.net/manual/en/migration82.constants.php#migration82.constants.sockets, but documented https://www.php.net/manual/en/sockets.constants.php#constant.socket-skfadoff
CURLINFO_EFFECTIVE_METHOD
constant is missing in documentation: https://www.php.net/manual/en/curl.constants.php
https://www.php.net/manual/en/migration82.new-features.php#migration82.new-features.curl
with PR #1911 already merged and looking at the latest curl docs, all of the curl constants listed on this tracker can be marked as completed. I did notice that while PR #1540 documented CURLOPT_XFERINFOFUNCTION, it is missing from the predefined constants page.