View difference between Paste ID: sEiLJCLn and V73e37Ti
SHOW: | | - or go back to the newest paste.
1
   1 PHP                                                                        NEWS
2
   2 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3
   3 13 Nov 2012, PHP 5.5.0 Alpha 1
4
   4 
5
   5 - General improvements:
6
   6   . Added support for generators. (Nikita Popov)
7
   7   . Add simplified password hashing API 
8
   8     (https://wiki.php.net/rfc/password_hash). (Anthony Ferrara)
9
   9   . Add generators and coroutines (https://wiki.php.net/rfc/generators).
10
  10     (Nikita Popov)
11
  11   . Support list in foreach (https://wiki.php.net/rfc/foreachlist). (Laruence)
12
  12   . Implemented 'finally' keyword (https://wiki.php.net/rfc/finally). (Laruence)
13
  13   . Drop Windows XP and 2003 support. (Pierre)
14
  14   . Improve set_exception_handler while doing reset.(Laruence)
15
  15   . Support constant array/string dereferencing. (Laruence)
16
  16   . Add support for using empty() on the result of function calls and
17
  17     other expressions (https://wiki.php.net/rfc/empty_isset_exprs).
18
  18     (Nikita Popov)
19
  19   . Remove php_logo_guid(), php_egg_logo_guid(), php_real_logo_guid(),
20
  20     zend_logo_guid(). (Adnrew Faulds)
21
  21 
22
  22 - Calendar:
23
  23   . Fixed bug #54254 (cal_from_jd returns month = 6 when there is only one Adar)
24
  24     (Stas, Eitan Mosenkis)
25
  25 
26
  26 - Core:
27
  27   . Added boolval(). (Jille Timmermans)
28
  28   . Added "Z" option to pack/unpack. (Gustavo)
29
  29   . Implemented FR #60738 (Allow 'set_error_handler' to handle NULL).
30
  30     (Laruence, Nikita Popov)
31
  31   . Added optional second argument for assert() to specify custom message. Patch
32
  32     by Lonny Kapelushnik ([email protected]). (Lars)
33
  33   . Fixed bug #18556 (Engine uses locale rules to handle class names). (Stas)
34
  34   . Fixed bug #61681 (Malformed grammar). (Nikita Popov, Etienne, Laruence)
35
  35   . Fixed bug #61038 (unpack("a5", "str\0\0") does not work as expected).
36
  36     (srgoogleguy, Gustavo)
37
  37   . Return previous handler when passing NULL to set_error_handler and
38
  38     set_exception_handler. (Nikita Popov)
39
  39 
40
  40 - cURL:
41
  41   . Added support for CURLOPT_FTP_RESPONSE_TIMEOUT, CURLOPT_APPEND, 
42
  42     CURLOPT_DIRLISTONLY, CURLOPT_NEW_DIRECTORY_PERMS, CURLOPT_NEW_FILE_PERMS, 
43
  43     CURLOPT_NETRC_FILE, CURLOPT_PREQUOTE, CURLOPT_KRBLEVEL, CURLOPT_MAXFILESIZE,
44
  44     CURLOPT_FTP_ACCOUNT, CURLOPT_COOKIELIST, CURLOPT_IGNORE_CONTENT_LENGTH,
45
  45     CURLOPT_CONNECT_ONLY, CURLOPT_LOCALPORT, CURLOPT_LOCALPORTRANGE, 
46
  46     CURLOPT_FTP_ALTERNATIVE_TO_USER, CURLOPT_SSL_SESSIONID_CACHE, 
47
  47     CURLOPT_FTP_SSL_CCC, CURLOPT_HTTP_CONTENT_DECODING, 
48
  48     CURLOPT_HTTP_TRANSFER_DECODING, CURLOPT_PROXY_TRANSFER_MODE, 
49
  49     CURLOPT_ADDRESS_SCOPE, CURLOPT_CRLFILE, CURLOPT_ISSUERCERT, 
50
  50     CURLOPT_USERNAME, CURLOPT_PASSWORD, CURLOPT_PROXYUSERNAME, 
51
  51     CURLOPT_PROXYPASSWORD, CURLOPT_NOPROXY, CURLOPT_SOCKS5_GSSAPI_NEC, 
52
  52     CURLOPT_SOCKS5_GSSAPI_SERVICE, CURLOPT_TFTP_BLKSIZE, 
53
  53     CURLOPT_SSH_KNOWNHOSTS, CURLOPT_FTP_USE_PRET, CURLOPT_MAIL_FROM, 
54
  54     CURLOPT_MAIL_RCPT, CURLOPT_RTSP_CLIENT_CSEQ, CURLOPT_RTSP_SERVER_CSEQ, 
55
  55     CURLOPT_RTSP_SESSION_ID, CURLOPT_RTSP_STREAM_URI, CURLOPT_RTSP_TRANSPORT,
56
  56     CURLOPT_RTSP_REQUEST, CURLOPT_RESOLVE, CURLOPT_ACCEPT_ENCODING, 
57
  57     CURLOPT_TRANSFER_ENCODING, CURLOPT_DNS_SERVERS and CURLOPT_USE_SSL.
58
  58     (Pierrick)
59
  59   . Fixed bug #55635 (CURLOPT_BINARYTRANSFER no longer used. The constant
60
  60     still exists for backward compatibility but is doing nothing). (Pierrick)
61
  61   . Fixed bug #54995 (Missing CURLINFO_RESPONSE_CODE support). (Pierrick)
62
  62 
63
  63 - Datetime
64
  64   . Fixed bug #61642 (modify("+5 weekdays") returns Sunday). 
65
  65     (Dmitri Iouchtchenko) 
66
  66 
67
  67 - Hash
68
  68   . Added support for PBKDF2 via hash_pbkdf2(). (Anthony Ferrara)
69
  69 
70
  70 - Intl
71
  71   . The intl extension now requires ICU 4.0+.
72
  72   . Added intl.use_exceptions INI directive, which controls what happens when
73
  73     global errors are set together with intl.error_level. (Gustavo)
74
  74   . MessageFormatter::format() and related functions now accepted named
75
  75     arguments and mixed numeric/named arguments in ICU 4.8+. (Gustavo)
76
  76   . MessageFormatter::format() and related functions now don't error out when
77
  77     an insufficient argument count is provided. Instead, the placeholders will
78
  78     remain unsubstituted. (Gustavo)
79
  79   . MessageFormatter::parse() and MessageFormat::format() (and their static
80
  80     equivalents) don't throw away better than second precision in the arguments.
81
  81     (Gustavo)
82
  82   . IntlDateFormatter::__construct and datefmt_create() now accept for the
83
  83     $timezone argument time zone identifiers, IntlTimeZone objects, DateTimeZone
84
  84     objects and NULL. (Gustavo)
85
  85   . IntlDateFormatter::__construct and datefmt_create() no longer accept invalid
86
  86     timezone identifiers or empty strings. (Gustavo)
87
  87   . The default time zone used in IntlDateFormatter::__construct and
88
  88     datefmt_create() (when the corresponding argument is not passed or NULL is
89
  89     passed) is now the one given by date_default_timezone_get(), not the
90
  90     default ICU time zone. (Gustavo)
91
  91   . The time zone passed to the IntlDateFormatter is ignored if it is NULL and
92
  92     if the calendar passed is an IntlCalendar object -- in this case, the
93
  93     IntlCalendar's time zone will be used instead. Otherwise, the time zone
94
  94     specified in the $timezone argument is used instead. This does not affect
95
  95     old code, as IntlCalendar was introduced in this version. (Gustavo)
96
  96   . IntlDateFormatter::__construct and datefmt_create() now accept for the
97
  97     $calendar argument also IntlCalendar objects. (Gustavo)
98
  98   . IntlDateFormatter::getCalendar() and datefmt_get_calendar() return false
99
  99     if the IntlDateFormatter was set up with an IntlCalendar instead of the
100
 100     constants IntlDateFormatter::GREGORIAN/TRADITIONAL. IntlCalendar did not
101
 101     exist before this version. (Gustavo)
102
 102   . IntlDateFormatter::setCalendar() and datefmt_set_calendar() now also accept
103
 103     an IntlCalendar object, in which case its time zone is taken. Passing a
104
 104     constant is still allowed, and still keeps the time zone. (Gustavo)
105
 105   . IntlDateFormatter::setTimeZoneID() and datefmt_set_timezone_id() are
106
 106     deprecated. Use IntlDateFormatter::setTimeZone() or datefmt_set_timezone()
107
 107     instead. (Gustavo)
108
 108   . IntlDateFormatter::format() and datefmt_format() now also accept an
109
 109     IntlCalendar object for formatting. (Gustavo)
110
 110   . Added the classes: IntlCalendar, IntlGregorianCalendar, IntlTimeZone,
111
 111     IntlBreakIterator, IntlRuleBasedBreakIterator and
112
 112     IntlCodePointBreakIterator. (Gustavo)
113
 113   . Added the functions: intlcal_get_keyword_values_for_locale(),
114
 114     intlcal_get_now(), intlcal_get_available_locales(), intlcal_get(),
115
 115     intlcal_get_time(), intlcal_set_time(), intlcal_add(),
116
 116     intlcal_set_time_zone(), intlcal_after(), intlcal_before(), intlcal_set(),
117
 117     intlcal_roll(), intlcal_clear(), intlcal_field_difference(),
118
 118     intlcal_get_actual_maximum(), intlcal_get_actual_minimum(),
119
 119     intlcal_get_day_of_week_type(), intlcal_get_first_day_of_week(),
120
 120     intlcal_get_greatest_minimum(), intlcal_get_least_maximum(),
121
 121     intlcal_get_locale(), intlcal_get_maximum(),
122
 122     intlcal_get_minimal_days_in_first_week(), intlcal_get_minimum(),
123
 123     intlcal_get_time_zone(), intlcal_get_type(),
124
 124     intlcal_get_weekend_transition(), intlcal_in_daylight_time(),
125
 125     intlcal_is_equivalent_to(), intlcal_is_lenient(), intlcal_is_set(),
126
 126     intlcal_is_weekend(), intlcal_set_first_day_of_week(),
127
 127     intlcal_set_lenient(), intlcal_equals(),
128
 128     intlcal_get_repeated_wall_time_option(),
129
 129     intlcal_get_skipped_wall_time_option(),
130
 130     intlcal_set_repeated_wall_time_option(),
131
 131     intlcal_set_skipped_wall_time_option(), intlcal_from_date_time(),
132
 132     intlcal_to_date_time(), intlcal_get_error_code(),
133
 133     intlcal_get_error_message(), intlgregcal_create_instance(),
134
 134     intlgregcal_set_gregorian_change(), intlgregcal_get_gregorian_change() and
135
 135     intlgregcal_is_leap_year(). (Gustavo)
136
 136   . Added the functions: intltz_create_time_zone(), intltz_create_default(),
137
 137     intltz_get_id(), intltz_get_gmt(), intltz_get_unknown(),
138
 138     intltz_create_enumeration(), intltz_count_equivalent_ids(),
139
 139     intltz_create_time_zone_id_enumeration(), intltz_get_canonical_id(),
140
 140     intltz_get_region(), intltz_get_tz_data_version(),
141
 141     intltz_get_equivalent_id(), intltz_use_daylight_time(), intltz_get_offset(),
142
 142     intltz_get_raw_offset(), intltz_has_same_rules(), intltz_get_display_name(),
143
 143     intltz_get_dst_savings(), intltz_from_date_time_zone(),
144
 144     intltz_to_date_time_zone(), intltz_get_error_code(),
145
 145     intltz_get_error_message(). (Gustavo)
146
 146   . Added the methods: IntlDateFormatter::formatObject(),
147
 147     IntlDateFormatter::getCalendarObject(), IntlDateFormatter::getTimeZone(),
148
 148     IntlDateFormatter::setTimeZone(). (Gustavo)
149
 149   . Added the functions: datefmt_format_object(), datefmt_get_calendar_object(),
150
 150     datefmt_get_timezone(), datefmt_set_timezone(),
151
 151     datefmt_get_calendar_object(), intlcal_create_instance(). (Gustavo)
152
 152 
153
 153 - MCrypt
154
 154   . mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb() and mcrypt_ofb() now throw
155
 155     E_DEPRECATED. (GoogleGuy)
156
 156 
157
 157 - MySQLi
158
 158   . Dropped support for LOAD DATA LOCAL INFILE handlers when using libmysql.
159
 159     Known for stability problems. (Andrey)
160
 160   . Added support for SHA256 authentication available with MySQL 5.6.6+. (Andrey)
161
 161 
162
 162 - PCRE:
163
 163   . Deprecated the /e modifier
164
 164     (https://wiki.php.net/rfc/remove_preg_replace_eval_modifier). (Nikita Popov)
165
 165   . Fixed bug #63284 (Upgrade PCRE to 8.31). (Anatoliy)
166
 166 
167
 167 - pgsql
168
 168   . Added pg_escape_literal() and pg_escape_identifier() (Yasuo)
169
 169 
170
 170 - SPL
171
 171   . Fix bug #60560 (SplFixedArray un-/serialize, getSize(), count() return 0,
172
 172     keys are strings). (Adam)
173
 173 
174
 174 - Tokenizer:
175
 175   . Fixed bug #60097 (token_get_all fails to lex nested heredoc). (Nikita Popov)
176
 176 
177
 177 - Zip:
178
 178   . Upgraded libzip to 0.10.1 (Anatoliy)
179
 179 
180
 180 - Fileinfo:
181
 181   . Fixed bug #63248 (Load multiple magic files from a directory under Windows).
182
 182       (Anatoliy)
183
 183 
184
 184 <<< NOTE: Insert NEWS from last stable release here prior to actual release! >>>