forked from php/php-src
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUPGRADING
More file actions
165 lines (130 loc) · 5.41 KB
/
UPGRADING
File metadata and controls
165 lines (130 loc) · 5.41 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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
PHP 8.6 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
========================================
- Phar:
. Invalid values now throw in Phar::mungServer() instead of being silently
ignored.
========================================
2. New Features
========================================
- Core:
. It is now possible to use reference assign on WeakMap without the key
needing to be present beforehand.
- Fileinfo:
. finfo_file() now works with remote streams.
- Intl:
. Added IntlNumberRangeFormatter class to format an interval of two numbers with a given skeleton, locale, IntlNumberRangeFormatter::COLLAPSE_AUTO, IntlNumberRangeFormatter::COLLAPSE_NONE, IntlNumberRangeFormatter::COLLAPSE_UNIT, IntlNumberRangeFormatter::COLLAPSE_ALL collapse and
IntlNumberRangeFormatter::IDENTITY_FALLBACK_SINGLE_VALUE, IntlNumberRangeFormatter::IDENTITY_FALLBACK_APPROXIMATELY_OR_SINGLE_VALUE, IntlNumberRangeFormatter::IDENTITY_FALLBACK_APPROXIMATELY and
IntlNumberRangeFormatter::IDENTITY_FALLBACK_RANGE identity fallbacks.
It is supported from icu 63.
- JSON:
. Added extra info about error location to the JSON error messages returned
from json_last_error_msg() and JsonException message.
- Phar:
. Overriding the getMTime() and getPathname() methods of SplFileInfo now
influences the result of the phar buildFrom family of functions.
This makes it possible to override the timestamp and names of files.
- Streams:
. Added stream socket context option so_reuseaddr that allows disabling
address reuse (SO_REUSEADDR) and explicitly uses SO_EXCLUSIVEADDRUSE on
Windows.
. Added stream socket context options so_keepalive, tcp_keepidle,
tcp_keepintvl and tcp_keepcnt that allow setting socket keepalive
options.
. Allowed casting casting filtered streams as file descriptor for select.
========================================
3. Changes in SAPI modules
========================================
========================================
4. Deprecated Functionality
========================================
========================================
5. Changed Functions
========================================
- Phar:
. Phar::mungServer() now supports reference values.
- Zip:
. ZipArchive::extractTo now raises a TypeError for the
files argument if one or more of the entries is not
a string.
========================================
6. New Functions
========================================
- Standard:
. `clamp()` returns the given value if in range, else return the nearest bound.
RFC: https://wiki.php.net/rfc/clamp_v2
========================================
7. New Classes and Interfaces
========================================
========================================
8. Removed Extensions and SAPIs
========================================
========================================
9. Other Changes to Extensions
========================================
- Hash:
. The bundled version of xxHash was upgraded to 0.8.2.
========================================
10. New Global Constants
========================================
- Sockets:
. TCP_USER_TIMEOUT (Linux only).
========================================
11. Changes to INI File Handling
========================================
- Mysqli:
. mysqli.default_port now checks the validity of the value which should be
between 0 and 65535 included.
- Opcache:
. opcache.jit_debug accepts a new flag: ZEND_JIT_DEBUG_TRACE_EXIT_INFO_SRC.
When used along with ZEND_JIT_DEBUG_TRACE_EXIT_INFO, the source of exit
points is printed in exit info output, in debug builds.
- Mbstring:
. The mbstring.detect_order INI directive now updates the internal detection
order when changed at runtime via ini_set(). Previously, runtime changes
using ini_set() did not take effect for mb_detect_order(). Setting the
directive to NULL or an empty string at runtime now leaves the previously
configured detection order unchanged.
========================================
12. Windows Support
========================================
========================================
13. Other Changes
========================================
========================================
14. Performance Improvements
========================================
- Core:
. `printf()` using only `%s` and `%d` will be compiled into the equivalent
string interpolation, avoiding the overhead of a function call and repeatedly
parsing the format string.
. Arguments are now passed more efficiently to known constructors (e.g. when
using new self()).
- DOM:
. Made splitText() faster and consume less memory.
- JSON:
. Improve performance of encoding arrays and objects.
- Standard:
. Improved performance of array_fill_keys().
. Improved performance of array_map() with multiple arrays passed.
. Improved performance of array_unshift().
. Improved performance of array_walk().
. Improved performance of intval('+0b...', 2) and intval('0b...', 2).
. Improved performance of str_split().
- Zip:
. Avoid string copies in ZipArchive::addFromString().