Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions appendices/migration85.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<appendix xml:id="migration85" xmlns="http://docbook.org/ns/docbook">
<title>Migrating from PHP 8.4.x to PHP 8.5.x</title>

<para>
This new minor version brings with it a number of
<link linkend="migration85.new-features">new features</link> and a
<link linkend="migration85.incompatible">few incompatibilities</link>
that should be tested for before switching PHP versions in production
environments.
</para>

<para>
&manual.migration.seealso;
<link linkend="migration71">7.1.x</link>,
<link linkend="migration72">7.2.x</link>,
<link linkend="migration73">7.3.x</link>,
<link linkend="migration74">7.4.x</link>,
<link linkend="migration80">8.0.x</link>,
<link linkend="migration81">8.1.x</link>,
<link linkend="migration82">8.2.x</link>.
<link linkend="migration83">8.3.x</link>.
<link linkend="migration84">8.4.x</link>.
</para>

&appendices.migration85.new-features;
&appendices.migration85.new-classes;
&appendices.migration85.new-functions;
&appendices.migration85.constants;
&appendices.migration85.incompatible;
<!--
&appendices.migration85.deprecated;
&appendices.migration85.other-changes;
&appendices.migration85.windows-support;
-->

</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
180 changes: 180 additions & 0 deletions appendices/migration85/constants.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
<?xml version="1.0" encoding="utf-8"?>
<sect1 xml:id="migration85.constants">
<title>New Global Constants</title>

<sect2 xml:id="migration85.constants.core">
<title>Core</title>

<simplelist>
<member>
<constant>PHP_BUILD_DATE</constant>
</member>
<member>
<constant>PHP_BUILD_PROVIDER</constant>
</member>
</simplelist>
</sect2>

<sect2 xml:id="migration85.constants.curl">
<title>cURL</title>

<simplelist>
<member>
<constant>CURLINFO_USED_PROXY</constant>
</member>
<member>
<constant>CURLINFO_HTTPAUTH_USED</constant>
</member>
<member>
<constant>CURLINFO_PROXYAUTH_USED</constant>
</member>
<member>
<constant>CURLINFO_CONN_ID</constant>
</member>
<member>
<constant>CURLINFO_QUEUE_TIME_T</constant>
</member>
<member>
<constant>CURLOPT_INFILESIZE_LARGE</constant>
</member>
<member>
<constant>CURLFOLLOW_ALL</constant>
</member>
<member>
<constant>CURLFOLLOW_OBEYCODE</constant>
</member>
<member>
<constant>CURLFOLLOW_FIRSTONLY</constant>
</member>
</simplelist>
</sect2>

<sect2 xml:id="migration85.constants.intl">
<title>Intl</title>

<simplelist>
<member>
<constant>DECIMAL_COMPACT_SHORT</constant>
</member>
<member>
<constant>DECIMAL_COMPACT_LONG</constant>
</member>
</simplelist>
</sect2>

<sect2 xml:id="migration85.constants.openssl">
<title>OpenSSL</title>

<simplelist>
<member><constant>OPENSSL_PKCS1_PSS_PADDING</constant></member>
<member><constant>PKCS7_NOSMIMECAP</constant></member>
<member><constant>PKCS7_CRLFEOL</constant></member>
<member><constant>PKCS7_NOCRL</constant></member>
<member><constant>PKCS7_NO_DUAL_CONTENT</constant></member>
</simplelist>
</sect2>

<sect2 xml:id="migration85.constants.posix">
<title>POSIX</title>

<simplelist>
<member><constant>POSIX_SC_OPEN_MAX</constant></member>
</simplelist>
</sect2>

<sect2 xml:id="migration85.constants.sockets">
<title>Sockets</title>

<simplelist>
<member>
<constant>IPPROTO_ICMP</constant>
</member>
<member>
<constant>IPPROTO_ICMPV6</constant>
</member>
<member>
<constant>TCP_FUNCTION_BLK</constant> (FreeBSD only)
</member>
<member>
<constant>TCP_FUNCTION_ALIAS</constant> (FreeBSD only)
</member>
<member>
<constant>TCP_REUSPORT_LB_NUMA</constant> (FreeBSD only)
</member>
<member>
<constant>TCP_REUSPORT_LB_NUMA_NODOM</constant> (FreeBSD only)
</member>
<member>
<constant>TCP_REUSPORT_LB_NUMA_CURDOM</constant> (FreeBSD only)
</member>
<member>
<constant>TCP_BBR_ALGORITHM</constant> (FreeBSD only)
</member>
<member>
<constant>AF_PACKET</constant> (Linux only)
</member>
<member>
<constant>IP_BINDANY</constant> (FreeBSD/NetBSD/OpenBSD only)
</member>
<member>
<constant>SO_BUSY_POLL</constant> (Linux only)
</member>
<member>
<constant>UDP_SEGMENT</constant> (Linux only)
</member>
<member>
<constant>SHUT_RD</constant>
</member>
<member>
<constant>SHUT_WR</constant>
</member>
<member>
<constant>SHUT_RDWR</constant>
</member>
</simplelist>
</sect2>

<sect2 xml:id="migration85.constants.tokenizer">
<title>Tokenizer</title>
<simplelist>
<member>
<constant>T_VOID_CAST</constant>
</member>
<member>
<constant>T_PIPE</constant>
</member>
</simplelist>
</sect2>

<sect2 xml:id="migration85.constants.standard">
<title>Standard</title>

<simplelist>
<member>
<constant>IMAGETYPE_SVG</constant>
when libxml is loaded.
</member>
</simplelist>
</sect2>

</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
55 changes: 55 additions & 0 deletions appendices/migration85/incompatible.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<sect1 xml:id="migration85.incompatible" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Backward Incompatible Changes</title>

<sect2 xml:id="migration85.incompatible.core">
<title>PHP Core</title>

<sect3 xml:id="migration85.incompatible.core.array-callable-alias">
<title><literal>"array"</literal> and <literal>"callable"</literal> alias name</title>

<simpara>
It is no longer possible to use <literal>"array"</literal>
and <literal>"callable"</literal> as class alias names
in <function>class_alias</function>
</simpara>

</sect3>

<sect3 xml:id="migration85.incompatible.core.loosely-comparing-object">
<title>Loosely comparing uncomparable objects</title>

<simpara>
Loosely comparing uncomparable objects (e.g. enums, \CurlHandle and other
internal classes) to booleans was previously inconsistent. If compared to a
boolean literal $object == true, it would behave the same way as (bool)
$object. If compared to a statically unknown value $object == $true, it
would always return false. This behavior was consolidated to always follow
the behavior of (bool) $object.
</simpara>

</sect3>

</sect2>

</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
58 changes: 58 additions & 0 deletions appendices/migration85/new-classes.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<sect1 xml:id="migration85.new-classes" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>New Classes and Interfaces</title>

<sect2 xml:id="migration85.new-classes.core">
<title>Core</title>
<simplelist>
<member><classname>NoDiscard</classname></member>
<member><classname>DelayedTargetValidation</classname></member>
</simplelist>
<!-- RFC: https://wiki.php.net/rfc/marking_return_value_as_important -->
<!-- RFC: https://wiki.php.net/rfc/delayedtargetvalidation_attribute -->
</sect2>

<sect2 xml:id="migration85.new-classes.curl">
<title>Curl</title>
<simplelist>
<member><classname>CurlSharePersistentHandle</classname></member>
</simplelist>
<!-- RFC: https://wiki.php.net/rfc/curl_share_persistence_improvement -->
</sect2>

<sect2 xml:id="migration85.new-classes.uri">
<title>URI</title>
<simplelist>
<member><classname>Uri\UriException</classname></member>
<member><classname>Uri\InvalidUriException</classname></member>
<member><classname>Uri\UriComparisonMode</classname></member>
<member><classname>Uri\Rfc3986\Uri</classname></member>
<member><classname>Uri\WhatWg\InvalidUrlException</classname></member>
<member><classname>Uri\WhatWg\UrlValidationErrorType</classname></member>
<member><classname>Uri\WhatWg\UrlValidationError</classname></member>
<member><classname>Uri\WhatWg\Url</classname></member>
</simplelist>
<!-- RFC: https://wiki.php.net/rfc/url_parsing_api -->
</sect2>

</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
Loading