Skip to content
Open
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
9 changes: 6 additions & 3 deletions appendices/migration84/other-changes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -551,9 +551,12 @@
<title>Intl</title>

<simpara>
The behaviour of Intl class has been normalized to always throw
<exceptionname>Error</exceptionname> exceptions when attempting to use
a non-initialized object, or when cloning fails.
Cloning an Intl object consistently throws an
<exceptionname>Error</exceptionname> when the clone cannot be performed,
either because the object has not been initialized, or because the
underlying ICU clone operation failed. Formerly, most of these classes
threw an <exceptionname>Exception</exceptionname> instead, and
<classname>Spoofchecker</classname> raised a fatal error.
</simpara>
</sect3>

Expand Down
12 changes: 12 additions & 0 deletions reference/intl/book.xml
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,18 @@
</listitem>
</itemizedlist>

<note>
<simpara>
As of PHP 8.4.0, cloning an Intl object consistently throws an
<exceptionname>Error</exceptionname> when the clone cannot be performed,
either because the object has not been initialized (created without
invoking its constructor), or because the underlying ICU clone operation
failed. Formerly, most of these classes threw an
<exceptionname>Exception</exceptionname> instead, and
<classname>Spoofchecker</classname> raised a fatal error.
</simpara>
</note>

<!-- {{{ Links -->
<section xml:id="intl.links">
<title>Links</title>
Expand Down