summaryrefslogtreecommitdiff
path: root/NEWS
blob: 086d4c18b5b8fbd73f7a77883c2df1f0b02d1b39 (plain)
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
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
PHP                                                                        NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
10 Jan 2012, PHP 5.5.0 Alpha 3

- General improvements:
  . Fixed bug #63874 (Segfault if php_strip_whitespace has heredoc). (Pierrick)
  . Fixed bug #63822 (Crash when using closures with ArrayAccess).
    (Nikita Popov)
  . Add Generator::throw() method. (Nikita Popov)
  . Bug #23955: allow specifying Max-Age attribute in setcookie() (narfbg, Lars)
  . Bug #52126: timestamp for mail.log (Martin Jansen, Lars)

- mysqlnd
  . Fixed return value of mysqli_stmt_affected_rows() in the time after
    prepare() and before execute(). (Andrey)

- cURL:
  . Added new functions curl_escape, curl_multi_setopt, curl_multi_strerror
    curl_pause, curl_reset, curl_share_close, curl_share_init, 
	curl_share_setopt curl_strerror and curl_unescape. (Pierrick)
  . Addes new curl options CURLOPT_TELNETOPTIONS, CURLOPT_GSSAPI_DELEGATION,
    CURLOPT_ACCEPTTIMEOUT_MS, CURLOPT_SSL_OPTIONS, CURLOPT_TCP_KEEPALIVE,
	CURLOPT_TCP_KEEPIDLE and CURLOPT_TCP_KEEPINTVL. (Pierrick)

18 Dec 2012, PHP 5.5.0 Alpha 2

- General improvements:
  . Added systemtap support by enabling systemtap compatible dtrace probes on
    linux. (David Soria Parra)
  . Added support for using empty() on the result of function calls and
    other expressions (https://wiki.php.net/rfc/empty_isset_exprs).
    (Nikita Popov)
  . Optimized access to temporary and compiled VM variables. 8% less memory
    reads. (Dmitry)
  . The VM stacks for passing function arguments and syntaticaly nested calls
    were merged into a single stack. The stack size needed for op_array
    execution is calculated at compile time and preallocated at once. As result
    all the stack push operatins don't require checks for stack overflow
    any more. (Dmitry)

- MySQL
  . This extension is now deprecated, and deprecation warnings will be generated
    when connections are established to databases via mysql_connect(),
    mysql_pconnect(), or through implicit connection: use MySQLi or PDO_MySQL
    instead (https://wiki.php.net/rfc/mysql_deprecation). (Adam)

- Fileinfo:
  . Fixed bug #63590 (Different results in TS and NTS under Windows).
    (Anatoliy)

- Apache2 Handler SAPI:
  . Enabled Apache 2.4 configure option for Windows (Pierre, Anatoliy)

13 Nov 2012, PHP 5.5.0 Alpha 1

- General improvements:
  . Added generators and coroutines (https://wiki.php.net/rfc/generators).
    (Nikita Popov)
  . Added "finally" keyword (https://wiki.php.net/rfc/finally). (Laruence)
  . Add simplified password hashing API
    (https://wiki.php.net/rfc/password_hash). (Anthony Ferrara)
  . Added support for list in foreach (https://wiki.php.net/rfc/foreachlist).
    (Laruence)
  . Added support for using empty() on the result of function calls and
    other expressions (https://wiki.php.net/rfc/empty_isset_exprs).
    (Nikita Popov)
  . Added support for constant array/string dereferencing. (Laruence)
  . Improve set_exception_handler while doing reset.(Laruence)
  . Remove php_logo_guid(), php_egg_logo_guid(), php_real_logo_guid(),
    zend_logo_guid(). (Adnrew Faulds)
  . Drop Windows XP and 2003 support. (Pierre)

- Calendar:
  . Fixed bug #54254 (cal_from_jd returns month = 6 when there is only one Adar)
    (Stas, Eitan Mosenkis)

- Core:
  . Added boolval(). (Jille Timmermans)
  . Added "Z" option to pack/unpack. (Gustavo)
  . Implemented FR #60738 (Allow 'set_error_handler' to handle NULL).
    (Laruence, Nikita Popov)
  . Added optional second argument for assert() to specify custom message. Patch
    by Lonny Kapelushnik (lonny@lonnylot.com). (Lars)
  . Fixed bug #18556 (Engine uses locale rules to handle class names). (Stas)
  . Fixed bug #61681 (Malformed grammar). (Nikita Popov, Etienne, Laruence)
  . Fixed bug #61038 (unpack("a5", "str\0\0") does not work as expected).
    (srgoogleguy, Gustavo)
  . Return previous handler when passing NULL to set_error_handler and
    set_exception_handler. (Nikita Popov)

- cURL:
  . Added support for CURLOPT_FTP_RESPONSE_TIMEOUT, CURLOPT_APPEND, 
    CURLOPT_DIRLISTONLY, CURLOPT_NEW_DIRECTORY_PERMS, CURLOPT_NEW_FILE_PERMS, 
    CURLOPT_NETRC_FILE, CURLOPT_PREQUOTE, CURLOPT_KRBLEVEL, CURLOPT_MAXFILESIZE,
    CURLOPT_FTP_ACCOUNT, CURLOPT_COOKIELIST, CURLOPT_IGNORE_CONTENT_LENGTH,
    CURLOPT_CONNECT_ONLY, CURLOPT_LOCALPORT, CURLOPT_LOCALPORTRANGE, 
    CURLOPT_FTP_ALTERNATIVE_TO_USER, CURLOPT_SSL_SESSIONID_CACHE, 
    CURLOPT_FTP_SSL_CCC, CURLOPT_HTTP_CONTENT_DECODING, 
    CURLOPT_HTTP_TRANSFER_DECODING, CURLOPT_PROXY_TRANSFER_MODE, 
    CURLOPT_ADDRESS_SCOPE, CURLOPT_CRLFILE, CURLOPT_ISSUERCERT, 
    CURLOPT_USERNAME, CURLOPT_PASSWORD, CURLOPT_PROXYUSERNAME, 
    CURLOPT_PROXYPASSWORD, CURLOPT_NOPROXY, CURLOPT_SOCKS5_GSSAPI_NEC, 
    CURLOPT_SOCKS5_GSSAPI_SERVICE, CURLOPT_TFTP_BLKSIZE, 
    CURLOPT_SSH_KNOWNHOSTS, CURLOPT_FTP_USE_PRET, CURLOPT_MAIL_FROM, 
    CURLOPT_MAIL_RCPT, CURLOPT_RTSP_CLIENT_CSEQ, CURLOPT_RTSP_SERVER_CSEQ, 
    CURLOPT_RTSP_SESSION_ID, CURLOPT_RTSP_STREAM_URI, CURLOPT_RTSP_TRANSPORT,
    CURLOPT_RTSP_REQUEST, CURLOPT_RESOLVE, CURLOPT_ACCEPT_ENCODING, 
    CURLOPT_TRANSFER_ENCODING, CURLOPT_DNS_SERVERS and CURLOPT_USE_SSL.
    (Pierrick)
  . Fixed bug #55635 (CURLOPT_BINARYTRANSFER no longer used. The constant
    still exists for backward compatibility but is doing nothing). (Pierrick)
  . Fixed bug #54995 (Missing CURLINFO_RESPONSE_CODE support). (Pierrick)

- Datetime
  . Fixed bug #61642 (modify("+5 weekdays") returns Sunday). 
    (Dmitri Iouchtchenko) 

- Hash
  . Added support for PBKDF2 via hash_pbkdf2(). (Anthony Ferrara)

- Intl
  . The intl extension now requires ICU 4.0+.
  . Added intl.use_exceptions INI directive, which controls what happens when
    global errors are set together with intl.error_level. (Gustavo)
  . MessageFormatter::format() and related functions now accepted named
    arguments and mixed numeric/named arguments in ICU 4.8+. (Gustavo)
  . MessageFormatter::format() and related functions now don't error out when
    an insufficient argument count is provided. Instead, the placeholders will
    remain unsubstituted. (Gustavo)
  . MessageFormatter::parse() and MessageFormat::format() (and their static
    equivalents) don't throw away better than second precision in the arguments.
    (Gustavo)
  . IntlDateFormatter::__construct and datefmt_create() now accept for the
    $timezone argument time zone identifiers, IntlTimeZone objects, DateTimeZone
    objects and NULL. (Gustavo)
  . IntlDateFormatter::__construct and datefmt_create() no longer accept invalid
    timezone identifiers or empty strings. (Gustavo)
  . The default time zone used in IntlDateFormatter::__construct and
    datefmt_create() (when the corresponding argument is not passed or NULL is
    passed) is now the one given by date_default_timezone_get(), not the
    default ICU time zone. (Gustavo)
  . The time zone passed to the IntlDateFormatter is ignored if it is NULL and
    if the calendar passed is an IntlCalendar object -- in this case, the
    IntlCalendar's time zone will be used instead. Otherwise, the time zone
    specified in the $timezone argument is used instead. This does not affect
    old code, as IntlCalendar was introduced in this version. (Gustavo)
  . IntlDateFormatter::__construct and datefmt_create() now accept for the
    $calendar argument also IntlCalendar objects. (Gustavo)
  . IntlDateFormatter::getCalendar() and datefmt_get_calendar() return false
    if the IntlDateFormatter was set up with an IntlCalendar instead of the
    constants IntlDateFormatter::GREGORIAN/TRADITIONAL. IntlCalendar did not
    exist before this version. (Gustavo)
  . IntlDateFormatter::setCalendar() and datefmt_set_calendar() now also accept
    an IntlCalendar object, in which case its time zone is taken. Passing a
    constant is still allowed, and still keeps the time zone. (Gustavo)
  . IntlDateFormatter::setTimeZoneID() and datefmt_set_timezone_id() are
    deprecated. Use IntlDateFormatter::setTimeZone() or datefmt_set_timezone()
    instead. (Gustavo)
  . IntlDateFormatter::format() and datefmt_format() now also accept an
    IntlCalendar object for formatting. (Gustavo)
  . Added the classes: IntlCalendar, IntlGregorianCalendar, IntlTimeZone,
    IntlBreakIterator, IntlRuleBasedBreakIterator and
    IntlCodePointBreakIterator. (Gustavo)
  . Added the functions: intlcal_get_keyword_values_for_locale(),
    intlcal_get_now(), intlcal_get_available_locales(), intlcal_get(),
    intlcal_get_time(), intlcal_set_time(), intlcal_add(),
    intlcal_set_time_zone(), intlcal_after(), intlcal_before(), intlcal_set(),
    intlcal_roll(), intlcal_clear(), intlcal_field_difference(),
    intlcal_get_actual_maximum(), intlcal_get_actual_minimum(),
    intlcal_get_day_of_week_type(), intlcal_get_first_day_of_week(),
    intlcal_get_greatest_minimum(), intlcal_get_least_maximum(),
    intlcal_get_locale(), intlcal_get_maximum(),
    intlcal_get_minimal_days_in_first_week(), intlcal_get_minimum(),
    intlcal_get_time_zone(), intlcal_get_type(),
    intlcal_get_weekend_transition(), intlcal_in_daylight_time(),
    intlcal_is_equivalent_to(), intlcal_is_lenient(), intlcal_is_set(),
    intlcal_is_weekend(), intlcal_set_first_day_of_week(),
    intlcal_set_lenient(), intlcal_equals(),
    intlcal_get_repeated_wall_time_option(),
    intlcal_get_skipped_wall_time_option(),
    intlcal_set_repeated_wall_time_option(),
    intlcal_set_skipped_wall_time_option(), intlcal_from_date_time(),
    intlcal_to_date_time(), intlcal_get_error_code(),
    intlcal_get_error_message(), intlgregcal_create_instance(),
    intlgregcal_set_gregorian_change(), intlgregcal_get_gregorian_change() and
    intlgregcal_is_leap_year(). (Gustavo)
  . Added the functions: intltz_create_time_zone(), intltz_create_default(),
    intltz_get_id(), intltz_get_gmt(), intltz_get_unknown(),
    intltz_create_enumeration(), intltz_count_equivalent_ids(),
    intltz_create_time_zone_id_enumeration(), intltz_get_canonical_id(),
    intltz_get_region(), intltz_get_tz_data_version(),
    intltz_get_equivalent_id(), intltz_use_daylight_time(), intltz_get_offset(),
    intltz_get_raw_offset(), intltz_has_same_rules(), intltz_get_display_name(),
    intltz_get_dst_savings(), intltz_from_date_time_zone(),
    intltz_to_date_time_zone(), intltz_get_error_code(),
    intltz_get_error_message(). (Gustavo)
  . Added the methods: IntlDateFormatter::formatObject(),
    IntlDateFormatter::getCalendarObject(), IntlDateFormatter::getTimeZone(),
    IntlDateFormatter::setTimeZone(). (Gustavo)
  . Added the functions: datefmt_format_object(), datefmt_get_calendar_object(),
    datefmt_get_timezone(), datefmt_set_timezone(),
    datefmt_get_calendar_object(), intlcal_create_instance(). (Gustavo)

- MCrypt
  . mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb() and mcrypt_ofb() now throw
    E_DEPRECATED. (GoogleGuy)

- MySQLi
  . Dropped support for LOAD DATA LOCAL INFILE handlers when using libmysql.
    Known for stability problems. (Andrey)
  . Added support for SHA256 authentication available with MySQL 5.6.6+. (Andrey)

- PCRE:
  . Deprecated the /e modifier
    (https://wiki.php.net/rfc/remove_preg_replace_eval_modifier). (Nikita Popov)
  . Fixed bug #63284 (Upgrade PCRE to 8.31). (Anatoliy)

- pgsql
  . Added pg_escape_literal() and pg_escape_identifier() (Yasuo)

- SPL
  . Fix bug #60560 (SplFixedArray un-/serialize, getSize(), count() return 0,
    keys are strings). (Adam)

- Tokenizer:
  . Fixed bug #60097 (token_get_all fails to lex nested heredoc). (Nikita Popov)

- Zip:
  . Upgraded libzip to 0.10.1 (Anatoliy)

- Fileinfo:
  . Fixed bug #63248 (Load multiple magic files from a directory under Windows).
      (Anatoliy)

<<< NOTE: Insert NEWS from last stable release here prior to actual release! >>>