xref: /php-src/UPGRADING (revision f5e743a5)
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- LDAP:
29  . ldap_get_option() and ldap_set_option() now throw a ValueError when
30    passing an invalid option.
31
32- SPL:
33  . ArrayObject no longer accepts enums, as modifying the $name or $value
34    properties can break engine assumptions.
35
36========================================
372. New Features
38========================================
39
40- DOM:
41  . Added Dom\Element::$outerHTML.
42
43- XSL:
44  . The $namespace argument of XSLTProcessor::getParameter(),
45    XSLTProcessor::setParameter() and XSLTProcessor::removeParameter()
46    now actually works instead of being treated as empty.
47    This only works if the $name argument does not use Clark notation
48    and is not a QName because in those cases the namespace is taken
49    from the namespace href or prefix respectively.
50
51========================================
523. Changes in SAPI modules
53========================================
54
55========================================
564. Deprecated Functionality
57========================================
58
59========================================
605. Changed Functions
61========================================
62
63- Zlib:
64  . The "use_include_path" argument for the
65    gzfile, gzopen and readgzfile functions had been changed
66    from int to boolean.
67
68- PDO_PGSQL:
69  . PDO::pgsqlCopyFromArray also supports inputs as Iterable.
70  . Pdo\Pgsql::setAttribute and Pdo\Pgsql::prepare supports
71    PDO::ATTR_PREFETCH sets to 0 which set to lazy fetch mode.
72    In this mode, statements cannot be run parallely.
73
74- PGSQL:
75  . pg_copy_from also supports inputs as Iterable.
76
77========================================
786. New Functions
79========================================
80
81- Curl:
82  . curl_multi_get_handles() allows retrieving all CurlHandles current
83    attached to a CurlMultiHandle. This includes both handles added using
84    curl_multi_add_handle() and handles accepted by CURLMOPT_PUSHFUNCTION.
85
86- PGSQL:
87  . pg_close_stmt offers an alternative way to close a prepared
88    statement from the DEALLOCATE sql command in that we can reuse
89    its name afterwards.
90
91- Reflection:
92  . ReflectionConstant::getFileName() was introduced.
93
94========================================
957. New Classes and Interfaces
96========================================
97
98========================================
998. Removed Extensions and SAPIs
100========================================
101
102========================================
1039. Other Changes to Extensions
104========================================
105
106- Readline:
107  . The return types of readline_add_history(), readline_clear_history(), and
108    readline_callback_handler_install() have been changed to true, rather
109    than bool.
110
111========================================
11210. New Global Constants
113========================================
114
115========================================
11611. Changes to INI File Handling
117========================================
118
119========================================
12012. Windows Support
121========================================
122
123* The configuration variables PHP_VERSION, PHP_MINOR_VERSION, and
124  PHP_RELEASE_VERSION are now always numbers.  Previously, they have been
125  strings for buildconf builds.
126
127* FFI:
128  . It is no longer necessary to specify the library when using FFI::cdef()
129    and FFI::load(). However, this convenience feature should not be used in
130    production.
131
132========================================
13313. Other Changes
134========================================
135
136========================================
13714. Performance Improvements
138========================================
139
140- XMLWriter:
141  . Improved performance and reduce memory consumption.
142