doc-en icon indicating copy to clipboard operation
doc-en copied to clipboard

PHP 8.2 documentation tracker

Open Girgias opened this issue 2 years ago • 12 comments

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)
  • [ ] 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

Functions/Methods:

  • [x] New functions:
    • [x] cURL
      • [x] curl_upkeep() (#1807)
    • [x] IMAP
      • [x] imap_is_open() (#2583)
    • [x] MySQLi
      • [x] mysqli_execute_query() (#1855)
    • [x] OpenSSL
      • [x] openssl_cipher_key_length() (#1808)
    • [x] Reflection
      • [x] ReflectionFunction::isAnonymous() (#1742)
      • [x] ReflectionMethod::hasPrototype() (#1742)
    • [x] Sodium
      • [x] sodium_crypto_stream_xchacha20_xor_ic() (#1817)
    • [x] Standard
      • [x] memory_reset_peak_usage() (#1809)
      • [x] ini_parse_quantity() (#1810)
    • [x] XML
      • [x] libxml_get_external_entity_loader() (#1933)
    • [x] ZIP
      • [x] ZipArchive::clearError() (f57925e)
      • [x] ZipArchive::getStreamName() (f57925e)
      • [x] ZipArchive::getStreamIndex() (f57925e)
  • [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] Random
      • [x] random_bytes() (#1813)
      • [x] random_int() (#1813)
    • [x] SPL (#1938)
      • [x] iterator_to_array()
      • [x] iterator_count()
    • [x] Standard
      • [x] getimagesize() (#1821)
  • [x] Deprecated
    • [x] SPL
      • [x] SplFileInfo::_bad_state_ex() (method was undocumented)
    • [x] Standard
      • [x] utf8_encode() (#1743)
      • [x] utf8_decode() (#1743)

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)

Girgias avatar Sep 07 '22 11:09 Girgias

Added Classes: entry for Random Extention 5.0 RFC related PR (https://github.com/php/php-src/pull/8094).

mumumu avatar Sep 08 '22 13:09 mumumu

SplFileInfo::_bad_state_ex()

Didn't see any references in the documentation 👀

saundefined avatar Sep 12 '22 13:09 saundefined

@saundefined, SplFileInfo::_bad_state_ex() is undocumented so far.

cmb69 avatar Sep 12 '22 13:09 cmb69

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

llaville avatar Sep 20 '22 08:09 llaville

good call @llaville, I ll add them in the existing PR.

devnexen avatar Sep 20 '22 08:09 devnexen

The return value of DateTime::getLastErrors() may change. See https://github.com/php/php-src/issues/9431#issuecomment-1230316507

kenjis avatar Oct 13 '22 01:10 kenjis

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

TysonAndre avatar Oct 22 '22 19:10 TysonAndre

Can't edit description; I made #1933 for libxml_get_external_entity_loader().

[edit] Doc updates for my case conversion RFC are at #1934.

tstarling avatar Nov 03 '22 05:11 tstarling

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

KapitanOczywisty avatar Feb 02 '23 06:02 KapitanOczywisty

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

jonathanpoelen avatar Jul 07 '23 23:07 jonathanpoelen

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

jonathanpoelen avatar Jul 08 '23 00:07 jonathanpoelen

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.

ekinhbayar avatar Sep 19 '23 12:09 ekinhbayar