xref: /php-src/UPGRADING (revision ccda20b8)
1PHP 8.5 UPGRADE NOTES
2
31. Backward Incompatible Changes
42. New Features
53. Changes in SAPI modules
64. Deprecated Functionality
75. Changed Functions
86. New Functions
97. New Classes and Interfaces
108. Removed Extensions and SAPIs
119. Other Changes to Extensions
1210. New Global Constants
1311. Changes to INI File Handling
1412. Windows Support
1513. Other Changes
1614. Performance Improvements
17
18========================================
191. Backward Incompatible Changes
20========================================
21
22- BZ2:
23  . bzcompress() now throws a ValueError when $block_size is not between
24    1 and 9.
25  . bzcompress() now throws a ValueError when $work_factor is not between
26    0 and 250.
27
28- Core:
29  . It is no longer possible to use "array" and "callable" as class alias names
30    in class_alias().
31
32- Intl:
33  . The extension now requires at least ICU 57.1.
34
35- LDAP:
36  . ldap_get_option() and ldap_set_option() now throw a ValueError when
37    passing an invalid option.
38
39- SPL:
40  . ArrayObject no longer accepts enums, as modifying the $name or $value
41    properties can break engine assumptions.
42
43========================================
442. New Features
45========================================
46
47- DOM:
48  . Added Dom\Element::$outerHTML.
49
50- XSL:
51  . The $namespace argument of XSLTProcessor::getParameter(),
52    XSLTProcessor::setParameter() and XSLTProcessor::removeParameter()
53    now actually works instead of being treated as empty.
54    This only works if the $name argument does not use Clark notation
55    and is not a QName because in those cases the namespace is taken
56    from the namespace href or prefix respectively.
57
58========================================
593. Changes in SAPI modules
60========================================
61
62========================================
634. Deprecated Functionality
64========================================
65
66- Hash:
67  The MHASH_* constants have been deprecated.  These have been overlooked
68  when the mhash*() function family has been deprecated per
69  https://wiki.php.net/rfc/deprecations_php_8_1#mhash_function_family
70
71========================================
725. Changed Functions
73========================================
74
75- Zlib:
76  . The "use_include_path" argument for the
77    gzfile, gzopen and readgzfile functions had been changed
78    from int to boolean.
79
80- PDO_PGSQL:
81  . PDO::pgsqlCopyFromArray also supports inputs as Iterable.
82  . Pdo\Pgsql::setAttribute and Pdo\Pgsql::prepare supports
83    PDO::ATTR_PREFETCH sets to 0 which set to lazy fetch mode.
84    In this mode, statements cannot be run parallely.
85
86- PGSQL:
87  . pg_copy_from also supports inputs as Iterable.
88
89========================================
906. New Functions
91========================================
92
93- Curl:
94  . curl_multi_get_handles() allows retrieving all CurlHandles current
95    attached to a CurlMultiHandle. This includes both handles added using
96    curl_multi_add_handle() and handles accepted by CURLMOPT_PUSHFUNCTION.
97
98- DOM:
99  . Added Dom\Element::insertAdjacentHTML().
100
101- PGSQL:
102  . pg_close_stmt offers an alternative way to close a prepared
103    statement from the DEALLOCATE sql command in that we can reuse
104    its name afterwards.
105
106- Reflection:
107  . ReflectionConstant::getFileName() was introduced.
108  . ReflectionConstant::getExtension() and
109    ReflectionConstant::getExtensionName() were introduced.
110
111========================================
1127. New Classes and Interfaces
113========================================
114
115========================================
1168. Removed Extensions and SAPIs
117========================================
118
119========================================
1209. Other Changes to Extensions
121========================================
122
123- Readline:
124  . The return types of readline_add_history(), readline_clear_history(), and
125    readline_callback_handler_install() have been changed to true, rather
126    than bool.
127
128========================================
12910. New Global Constants
130========================================
131
132- Core:
133  . PHP_BUILD_DATE.
134
135- POSIX:
136  . POSIX_SC_OPEN_MAX.
137
138- Sockets:
139  . IPPROTO_ICMP/IPPROTO_ICMPV6.
140  . TCP_FUNCTION_BLK (FreeBSD only).
141
142========================================
14311. Changes to INI File Handling
144========================================
145
146========================================
14712. Windows Support
148========================================
149
150* The configuration variables PHP_VERSION, PHP_MINOR_VERSION, and
151  PHP_RELEASE_VERSION are now always numbers.  Previously, they have been
152  strings for buildconf builds.
153
154* COM:
155  . The extension is now build shared by default; previously it defaulted to a
156    static extension, although the official Windows binaries built a shared
157    extension.
158
159* FFI:
160  . It is no longer necessary to specify the library when using FFI::cdef()
161    and FFI::load(). However, this convenience feature should not be used in
162    production.
163
164========================================
16513. Other Changes
166========================================
167
168========================================
16914. Performance Improvements
170========================================
171
172- XMLWriter:
173  . Improved performance and reduce memory consumption.
174