Repository navigation
Expand file tree
/
Copy pathUPGRADING
More file actions
140 lines (114 loc) · 4.84 KB
/
Copy pathUPGRADING
File metadata and controls
140 lines (114 loc) · 4.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
PHP 8.7 UPGRADE NOTES
1. Backward Incompatible Changes
2. New Features
3. Changes in SAPI modules
4. Deprecated Functionality
5. Changed Functions
6. New Functions
7. New Classes and Interfaces
8. Removed Extensions and SAPIs
9. Other Changes to Extensions
10. New Global Constants
11. Changes to INI File Handling
12. Windows Support
13. Other Changes
14. Performance Improvements
========================================
1. Backward Incompatible Changes
========================================
- Curl:
. curl_multi_exec() now throws a TypeError when still_running is not an int.
. Nested arrays in CURLOPT_POSTFIELDS now throw a TypeError, instead of being
silently converted to the string "Array".
- PDO:
. PDOStatement::bindColumn() now throws a ValueError when the column name is
not present in the result set. It previously reported the condition
through PDO::ATTR_ERRMODE and returned false.
- Session:
. Setting session.cookie_path to a value containing one of ";\r\n", or
session.cookie_domain to a value containing one of ",; \t\r\n\013\014",
now emits a warning and leaves the setting unchanged. Previously such a
value was appended to the Set-Cookie header verbatim, which let an
application terminate one attribute and append further ones.
- Standard:
. The number of filters that can be chained in a php://filter URL is limited
to 16 by default. Set the stream context option max_filter_count to change
this.
========================================
2. New Features
========================================
- Curl:
. Multiple files can now be uploaded with the same field name by passing an
array of CURLFile or CURLStringFile objects to CURLOPT_POSTFIELDS.
- Intl:
. Locale::acceptFromHttp() and locale_accept_from_http() now accept an
optional $availableLocales array argument. When given, the
Accept-Language header is matched against these locales instead of all
locales known to ICU, and the matching entry is returned as passed.
A ValueError is thrown if the array is empty or contains an invalid
locale, and a TypeError if it contains a non-string value.
- Streams:
. The so_linger, so_rcvbuf and so_sndbuf stream socket context options are
now also applied to unix and unix datagram sockets.
========================================
3. Changes in SAPI modules
========================================
========================================
4. Deprecated Functionality
========================================
========================================
5. Changed Functions
========================================
- Standard:
. stream_select() no longer fails once a watched descriptor exceeds
FD_SETSIZE. The descriptor set now grows on demand on both POSIX (bitset)
and Windows (winsock fd_set), so code watching many streams works without
rebuilding PHP with --enable-fd-setsize. On Windows, selecting on more than
64 pipe or file handles no longer crashes; it fails with a warning, as that
path remains bounded by WaitForMultipleObjects().
========================================
6. New Functions
========================================
========================================
7. New Classes and Interfaces
========================================
========================================
8. Removed Extensions and SAPIs
========================================
========================================
9. Other Changes to Extensions
========================================
========================================
10. New Global Constants
========================================
========================================
11. Changes to INI File Handling
========================================
========================================
12. Windows Support
========================================
========================================
13. Other Changes
========================================
========================================
14. Performance Improvements
========================================
- Standard:
. Improved performance of strcspn() and strpbrk() when searching longer strings
with a single-byte character mask.
. Improved performance of array_chunk() when not preserving keys.
. Improved performance of array_splice() when inserting without removing
elements.
. Improved performance of str_rot13().
. Improved performance of pack() for large strings using the a, A and Z
formats.
. Improved performance of htmlspecialchars(), htmlentities(),
html_entity_decode() and get_html_translation_table(), especially with
UTF-8.
. htmlspecialchars() returns its input without copying it when nothing needs
encoding.
- MBString:
. Improved performance of mb_strlen for UTF-8 strings.
- PDO_PGSQL:
. Improved performance of the SQL parser that handles placeholders in
PDO::prepare() and, with emulated prepares, PDOStatement::execute().