news.txt 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958
  1. PHP NEWS
  2. |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  3. 04 Feb 2016 PHP 7.0.3
  4. - Core:
  5. . Added support for new HTTP 451 code. (Julien)
  6. . Fixed bug #71039 (exec functions ignore length but look for NULL termination).
  7. (Anatol)
  8. . Fixed bug #71089 (No check to duplicate zend_extension). (Remi)
  9. . Fixed bug #71201 (round() segfault on 64-bit builds). (Anatol)
  10. . Fixed bug #71221 (Null pointer deref (segfault) in get_defined_vars via
  11. ob_start). (hugh at allthethings dot co dot nz)
  12. . Fixed bug #71248 (Wrong interface is enforced). (Dmitry)
  13. . Fixed bug #71273 (A wrong ext directory setup in php.ini leads to crash).
  14. (Anatol)
  15. . Fixed Bug #71275 (Bad method called on cloning an object having a trait).
  16. (Bob)
  17. . Fixed bug #71297 (Memory leak with consecutive yield from). (Bob)
  18. . Fixed bug #71300 (Segfault in zend_fetch_string_offset). (Laruence)
  19. . Fixed bug #71314 (var_export(INF) prints INF.0). (Andrea)
  20. . Fixed bug #71323 (Output of stream_get_meta_data can be falsified by its
  21. input). (Leo Gaspard)
  22. . Fixed bug #71336 (Wrong is_ref on properties as exposed via
  23. get_object_vars()). (Laruence)
  24. . Fixed bug #71459 (Integer overflow in iptcembed()). (Stas)
  25. - Apache2handler:
  26. . Fix >2G Content-Length headers in apache2handler. (Adam Harvey)
  27. - CURL:
  28. . Fixed bug #71227 (Can't compile php_curl statically). (Anatol)
  29. . Fixed bug #71225 (curl_setopt() fails to set CURLOPT_POSTFIELDS with
  30. reference to CURLFile). (Laruence)
  31. - Interbase:
  32. . Fixed Bug #71305 (Crash when optional resource is omitted).
  33. (Laruence, Anatol)
  34. - LDAP:
  35. . Fixed bug #71249 (ldap_mod_replace/ldap_mod_add store value as string
  36. "Array"). (Laruence)
  37. - mbstring:
  38. . Fixed bug #71397 (mb_send_mail segmentation fault). (Andrea, Yasuo)
  39. - OpenSSL:
  40. . Fixed bug #71475 (openssl_seal() uninitialized memory usage). (Stas)
  41. - Phar:
  42. . Fixed bug #71354 (Heap corruption in tar/zip/phar parser). (Stas)
  43. . Fixed bug #71391 (NULL Pointer Dereference in phar_tar_setupmetadata()).
  44. (Stas)
  45. . Fixed bug #71488 (Stack overflow when decompressing tar archives). (Stas)
  46. - SOAP:
  47. . Fixed bug #70979 (crash with bad soap request). (Anatol)
  48. - SPL:
  49. . Fixed bug #71204 (segfault if clean spl_autoload_funcs while autoloading).
  50. (Laruence)
  51. . Fixed bug #71202 (Autoload function registered by another not activated
  52. immediately). (Laruence)
  53. . Fixed bug #71311 (Use-after-free vulnerability in SPL(ArrayObject,
  54. unserialize)). (Sean Heelan)
  55. . Fixed bug #71313 (Use-after-free vulnerability in SPL(SplObjectStorage,
  56. unserialize)). (Sean Heelan)
  57. - Standard:
  58. . Fixed bug #71287 (Error message contains hexadecimal instead of decimal
  59. number). (Laruence)
  60. . Fixed bug #71264 (file_put_contents() returns unexpected value when
  61. filesystem runs full). (Laruence)
  62. . Fixed bug #71245 (file_get_contents() ignores "header" context option if
  63. it's a reference). (Laruence)
  64. . Fixed bug #71220 (Null pointer deref (segfault) in compact via ob_start).
  65. (hugh at allthethings dot co dot nz)
  66. . Fixed bug #71190 (substr_replace converts integers in original $search
  67. array to strings). (Laruence)
  68. . Fixed bug #71188 (str_replace converts integers in original $search array
  69. to strings). (Laruence)
  70. . Fixed bug #71132, #71197 (range() segfaults). (Thomas Punt)
  71. - WDDX:
  72. . Fixed bug #71335 (Type Confusion in WDDX Packet Deserialization). (Stas)
  73. 07 Jan 2016 PHP 7.0.2
  74. - Core:
  75. . Fixed bug #71165 (-DGC_BENCH=1 doesn't work on PHP7).
  76. (y dot uchiyama dot 1015 at gmail dot com)
  77. . Fixed bug #71163 (Segmentation Fault: cleanup_unfinished_calls). (Laruence)
  78. . Fixed bug #71109 (ZEND_MOD_CONFLICTS("xdebug") doesn't work). (Laruence)
  79. . Fixed bug #71092 (Segmentation fault with return type hinting). (Laruence)
  80. . Fixed bug memleak in header_register_callback. (Laruence)
  81. . Fixed bug #71067 (Local object in class method stays in memory for each
  82. call). (Laruence)
  83. . Fixed bug #66909 (configure fails utf8_to_mutf7 test). (Michael Orlitzky)
  84. . Fixed bug #70781 (Extension tests fail on dynamic ext dependency).
  85. (Francois Laupretre)
  86. . Fixed bug #71089 (No check to duplicate zend_extension). (Remi)
  87. . Fixed bug #71086 (Invalid numeric literal parse error within
  88. highlight_string() function). (Nikita)
  89. . Fixed bug #71154 (Incorrect HT iterator invalidation causes iterator reuse).
  90. (Nikita)
  91. . Fixed bug #52355 (Negating zero does not produce negative zero). (Andrea)
  92. . Fixed bug #66179 (var_export() exports float as integer). (Andrea)
  93. . Fixed bug #70804 (Unary add on negative zero produces positive zero).
  94. (Andrea)
  95. - CURL:
  96. . Fixed bug #71144 (Sementation fault when using cURL with ZTS).
  97. (Michael Maroszek, Laruence)
  98. - DBA:
  99. . Fixed key leak with invalid resource. (Laruence)
  100. - Filter:
  101. . Fixed bug #71063 (filter_input(INPUT_ENV, ..) does not work). (Reeze Xia)
  102. - GD:
  103. . Fixed bug #70976 (Memory Read via gdImageRotateInterpolated Array Index
  104. Out of Bounds). (emmanuel dot law at gmail dot com).
  105. - FPM:
  106. . Fixed bug #70755 (fpm_log.c memory leak and buffer overflow). (Stas)
  107. - FTP:
  108. . Implemented FR #55651 (Option to ignore the returned FTP PASV address).
  109. (abrender at elitehosts dot com)
  110. - Mbstring:
  111. . Fixed bug #71066 (mb_send_mail: Program terminated with signal SIGSEGV,
  112. Segmentation fault). (Laruence)
  113. - Opcache:
  114. . Fixed bug #71127 (Define in auto_prepend_file is overwrite). (Laruence)
  115. - PCRE:
  116. . Fixed bug #71178 (preg_replace with arrays creates [0] in replace array
  117. if not already set). (Laruence)
  118. - Readline:
  119. . Fixed bug #71094 (readline_completion_function corrupts static array on
  120. second TAB). (Nikita)
  121. - Session:
  122. . Fixed bug #71122 (Session GC may not remove obsolete session data). (Yasuo)
  123. - SPL:
  124. . Fixed bug #71077 (ReflectionMethod for ArrayObject constructor returns
  125. wrong number of parameters). (Laruence)
  126. . Fixed bug #71153 (Performance Degradation in ArrayIterator with large
  127. arrays). (Nikita)
  128. - Standard:
  129. . Fixed bug #71270 (Heap BufferOver Flow in escapeshell functions).
  130. (emmanuel dot law at gmail dot com)
  131. - WDDX:
  132. . Fixed bug #70661 (Use After Free Vulnerability in WDDX Packet Deserialization).
  133. (taoguangchen at icloud dot com)
  134. . Fixed bug #70741 (Session WDDX Packet Deserialization Type Confusion
  135. Vulnerability). (taoguangchen at icloud dot com)
  136. - XMLRPC
  137. . Fixed bug #70728 (Type Confusion Vulnerability in PHP_to_XMLRPC_worker).
  138. (Julien)
  139. 17 Dec 2015, PHP 7.0.1
  140. - Core:
  141. . Fixed bug #71105 (Format String Vulnerability in Class Name Error Message).
  142. (CVE-2015-8617) (andrew at jmpesp dot org)
  143. . Fixed bug #70831 (Compile fails on system with 160 CPUs). (Daniel Axtens)
  144. . Fixed bug #71006 (symbol referencing errors on Sparc/Solaris). (Dmitry)
  145. . Fixed bug #70997 (When using parentClass:: instead of parent::, static
  146. context changed). (Dmitry)
  147. . Fixed bug #70970 (Segfault when combining error handler with output
  148. buffering). (Laruence)
  149. . Fixed bug #70967 (Weird error handling for __toString when Error is
  150. thrown). (Laruence)
  151. . Fixed bug #70958 (Invalid opcode while using ::class as trait method
  152. paramater default value). (Laruence)
  153. . Fixed bug #70944 (try{ } finally{} can create infinite chains of
  154. exceptions). (Laruence)
  155. . Fixed bug #70931 (Two errors messages are in conflict). (dams, Laruence)
  156. . Fixed bug #70904 (yield from incorrectly marks valid generator as
  157. finished). (Bob)
  158. . Fixed bug #70899 (buildconf failure in extensions). (Bob, Reeze)
  159. . Fixed bug #61751 (SAPI build problem on AIX: Undefined symbol:
  160. php_register_internal_extensions). (Lior Kaplan)
  161. . Fixed \int (or generally every scalar type name with leading backslash)
  162. to not be accepted as type name. (Bob)
  163. . Fixed exception not being thrown immediately into a generator yielding
  164. from an array. (Bob)
  165. . Fixed bug #70987 (static::class within Closure::call() causes segfault).
  166. (Andrea)
  167. . Fixed bug #71013 (Incorrect exception handler with yield from). (Bob)
  168. . Fixed double free in error condition of format printer. (Bob)
  169. - CLI server:
  170. . Fixed bug #71005 (Segfault in php_cli_server_dispatch_router()). (Adam)
  171. - Intl:
  172. . Fixed bug #71020 (Use after free in Collator::sortWithSortKeys).
  173. (CVE-2015-8616) (emmanuel dot law at gmail dot com, Laruence)
  174. - Mysqlnd:
  175. . Fixed bug #68077 (LOAD DATA LOCAL INFILE / open_basedir restriction).
  176. (Laruence)
  177. . Fixed bug #68344 (MySQLi does not provide way to disable peer certificate
  178. validation) by introducing MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT
  179. connection flag. (Andrey)
  180. - OCI8:
  181. . Fixed LOB implementation size_t/zend_long mismatch reported by gcov.
  182. (Senthil)
  183. - Opcache:
  184. . Fixed bug #71024 (Unable to use PHP 7.0 x64 side-by-side with PHP 5.6 x32
  185. on the same server). (Anatol)
  186. . Fixed bug #70991 (zend_file_cache.c:710: error: array type has incomplete
  187. element type). (Laruence)
  188. . Fixed bug #70977 (Segmentation fault with opcache.huge_code_pages=1).
  189. (Laruence)
  190. - PDO_Firebird:
  191. . Fixed bug #60052 (Integer returned as a 64bit integer on X64_86). (Mariuz)
  192. - Phpdbg:
  193. . Fixed stderr being written to stdout. (Bob)
  194. - Reflection:
  195. . Fixed bug #71018 (ReflectionProperty::setValue() behavior changed).
  196. (Laruence)
  197. . Fixed bug #70982 (setStaticPropertyValue behaviors inconsistently with
  198. 5.6). (Laruence)
  199. - Soap:
  200. . Fixed bug #70993 (Array key references break argument processing).
  201. (Laruence)
  202. - SPL:
  203. . Fixed bug #71028 (Undefined index with ArrayIterator). (Laruence)
  204. - SQLite3:
  205. . Fixed bug #71049 (SQLite3Stmt::execute() releases bound parameter instead
  206. of internal buffer). (Laruence)
  207. - Standard:
  208. . Fixed bug #70999 (php_random_bytes: called object is not a function).
  209. (Scott)
  210. . Fixed bug #70960 (ReflectionFunction for array_unique returns wrong number
  211. of parameters). (Laruence)
  212. - Streams/Socket:
  213. . Add IPV6_V6ONLY constant / make it usable in stream contexts. (Bob)
  214. 03 Dec 2015, PHP 7.0.0
  215. - Core:
  216. . Fixed bug #70947 (INI parser segfault with INI_SCANNER_TYPED). (Laruence)
  217. . Fixed bug #70914 (zend_throw_or_error() format string vulnerability).
  218. (Taoguang Chen)
  219. . Fixed bug #70912 (Null ptr dereference instantiating class with invalid
  220. array property). (Laruence)
  221. . Fixed bug #70895, #70898 (null ptr deref and segfault with crafted calable).
  222. (Anatol, Laruence)
  223. . Fixed bug #70249 (Segmentation fault while running PHPUnit tests on
  224. phpBB 3.2-dev). (Laruence)
  225. . Fixed bug #70805 (Segmentation faults whilst running Drupal 8 test suite).
  226. (Dmitry, Laruence)
  227. . Fixed bug #70842 (Persistent Stream Segmentation Fault). (Caleb Champlin)
  228. . Fixed bug #70862 (Several functions do not check return code of
  229. php_stream_copy_to_mem()). (Anatol)
  230. . Fixed bug #70863 (Incorect logic to increment_function for proxy objects).
  231. (Anatol)
  232. . Fixed bug #70323 (Regression in zend_fetch_debug_backtrace() can cause
  233. segfaults). (Aharvey, Laruence)
  234. . Fixed bug #70873 (Regression on private static properties access).
  235. (Laruence)
  236. . Fixed bug #70748 (Segfault in ini_lex () at Zend/zend_ini_scanner.l).
  237. (Laruence)
  238. . Fixed bug #70689 (Exception handler does not work as expected). (Laruence)
  239. . Fixed bug #70430 (Stack buffer overflow in zend_language_parser()). (Nikita)
  240. . Fixed bug #70782 (null ptr deref and segfault (zend_get_class_fetch_type)).
  241. (Nikita)
  242. . Fixed bug #70785 (Infinite loop due to exception during identical
  243. comparison). (Laruence)
  244. . Fixed bug #70630 (Closure::call/bind() crash with ReflectionFunction->
  245. getClosure()). (Dmitry, Bob)
  246. . Fixed bug #70662 (Duplicate array key via undefined index error handler).
  247. (Nikita)
  248. . Fixed bug #70681 (Segfault when binding $this of internal instance method
  249. to null). (Nikita)
  250. . Fixed bug #70685 (Segfault for getClosure() internal method rebind with
  251. invalid $this). (Nikita)
  252. . Added zend_internal_function.reserved[] fields. (Dmitry)
  253. . Fixed bug #70557 (Memleak on return type verifying failed). (Laruence)
  254. . Fixed bug #70555 (fun_get_arg() on unsetted vars return UNKNOW). (Laruence)
  255. . Fixed bug #70548 (Redundant information printed in case of uncaught engine
  256. exception). (Laruence)
  257. . Fixed bug #70547 (unsetting function variables corrupts backtrace).
  258. (Laruence)
  259. . Fixed bug #70528 (assert() with instanceof adds apostrophes around class
  260. name). (Laruence)
  261. . Fixed bug #70481 (Memory leak in auto_global_copy_ctor() in ZTS build).
  262. (Laruence)
  263. . Fixed bug #70431 (Memory leak in php_ini.c). (Senthil, Laruence)
  264. . Fixed bug #70478 (**= does no longer work). (Bob)
  265. . Fixed bug #70398 (SIGSEGV, Segmentation fault zend_ast_destroy_ex).
  266. (Dmitry, Bob, Laruence)
  267. . Fixed bug #70332 (Wrong behavior while returning reference on object).
  268. (Laruence, Dmitry)
  269. . Fixed bug #70300 (Syntactical inconsistency with new group use syntax).
  270. (marcio dot web2 at gmail dot com)
  271. . Fixed bug #70321 (Magic getter breaks reference to array property).
  272. (Laruence)
  273. . Fixed bug #70187 (Notice: unserialize(): Unexpected end of serialized
  274. data). (Dmitry)
  275. . Fixed bug #70145 (From field incorrectly parsed from headers). (Anatol)
  276. . Fixed bug #70370 (Bundled libtool.m4 doesn't handle FreeBSD 10 when
  277. building extensions). (Adam)
  278. . Fixed bug causing exception traces with anon classes to be truncated. (Bob)
  279. . Fixed bug #70397 (Segmentation fault when using Closure::call and yield).
  280. (Bob)
  281. . Fixed bug #70299 (Memleak while assigning object offsetGet result).
  282. (Laruence)
  283. . Fixed bug #70288 (Apache crash related to ZEND_SEND_REF). (Laruence)
  284. . Fixed bug #70262 (Accessing array crashes PHP 7.0beta3).
  285. (Laruence, Dmitry)
  286. . Fixed bug #70258 (Segfault if do_resize fails to allocated memory).
  287. (Laruence)
  288. . Fixed bug #70253 (segfault at _efree () in zend_alloc.c:1389). (Laruence)
  289. . Fixed bug #70240 (Segfault when doing unset($var());). (Laruence)
  290. . Fixed bug #70223 (Incrementing value returned by magic getter). (Laruence)
  291. . Fixed bug #70215 (Segfault when __invoke is static). (Bob)
  292. . Fixed bug #70207 (Finally is broken with opcache). (Laruence, Dmitry)
  293. . Fixed bug #70173 (ZVAL_COPY_VALUE_EX broken for 32bit Solaris Sparc).
  294. (Laruence, cmb)
  295. . Fixed bug #69487 (SAPI may truncate POST data). (cmb)
  296. . Fixed bug #70198 (Checking liveness does not work as expected).
  297. (Shafreeck Sea, Anatol Belski)
  298. . Fixed bug #70241,#70293 (Skipped assertions affect Generator returns). (Bob)
  299. . Fixed bug #70239 (Creating a huge array doesn't result in exhausted,
  300. but segfault). (Laruence, Anatol)
  301. . Fixed "finally" issues. (Nikita, Dmitry)
  302. . Fixed bug #70098 (Real memory usage doesn't decrease). (Dmitry)
  303. . Fixed bug #70159 (__CLASS__ is lost in closures). (Julien)
  304. . Fixed bug #70156 (Segfault in zend_find_alias_name). (Laruence)
  305. . Fixed bug #70124 (null ptr deref / seg fault in ZEND_HANDLE_EXCEPTION).
  306. (Laruence)
  307. . Fixed bug #70117 (Unexpected return type error). (Laruence)
  308. . Fixed bug #70106 (Inheritance by anonymous class). (Bob)
  309. . Fixed bug #69674 (SIGSEGV array.c:953). (cmb)
  310. . Fixed bug #70164 (__COMPILER_HALT_OFFSET__ under namespace is not defined).
  311. (Bob)
  312. . Fixed bug #70108 (sometimes empty $_SERVER['QUERY_STRING']). (Anatol)
  313. . Fixed bug #70179 ($this refcount issue). (Bob)
  314. . Fixed bug #69896 ('asm' operand has impossible constraints). (Anatol)
  315. . Fixed bug #70183 (null pointer deref (segfault) in zend_eval_const_expr).
  316. (Hugh Davenport)
  317. . Fixed bug #70182 (Segfault in ZEND_ASSIGN_DIV_SPEC_CV_UNUSED_HANDLER).
  318. (Hugh Davenport)
  319. . Fixed bug #69793 (Remotely triggerable stack exhaustion via recursive
  320. method calls). (Stas)
  321. . Fixed bug #69892 (Different arrays compare indentical due to integer key
  322. truncation). (Nikita)
  323. . Fixed bug #70121 (unserialize() could lead to unexpected methods execution
  324. / NULL pointer deref). (Stas)
  325. . Fixed bug #70089 (segfault at ZEND_FETCH_DIM_W_SPEC_VAR_CONST_HANDLER ()).
  326. (Laruence)
  327. . Fixed bug #70057 (Build failure on 32-bit Mac OS X 10.6.8: recursive
  328. inlining). (Laruence)
  329. . Fixed bug #70012 (Exception lost with nested finally block). (Laruence)
  330. . Fixed bug #69996 (Changing the property of a cloned object affects the
  331. original). (Dmitry, Laruence)
  332. . Fixed bug #70083 (Use after free with assign by ref to overloaded objects).
  333. (Bob)
  334. . Fixed bug #70006 (cli - function with default arg = STDOUT crash output).
  335. (Laruence)
  336. . Fixed bug #69521 (Segfault in gc_collect_cycles()).
  337. (arjen at react dot com, Laruence)
  338. . Improved zend_string API. (Francois Laupretre)
  339. . Fixed bug #69955 (Segfault when trying to combine [] and assign-op on
  340. ArrayAccess object). (Laruence)
  341. . Fixed bug #69957 (Different ways of handling div/mod/intdiv). (Bob)
  342. . Fixed bug #69900 (Too long timeout on pipes). (Anatol)
  343. . Fixed bug #69872 (uninitialised value in strtr with array). (Laruence)
  344. . Fixed bug #69868 (Invalid read of size 1 in zend_compile_short_circuiting).
  345. (Laruence)
  346. . Fixed bug #69849 (Broken output of apache_request_headers). (Kalle)
  347. . Fixed bug #69840 (iconv_substr() doesn't work with UTF-16BE). (Kalle)
  348. . Fixed bug #69823 (PHP 7.0.0alpha1 segmentation fault when exactly 33
  349. extensions are loaded). (Laruence)
  350. . Fixed bug #69805 (null ptr deref and seg fault in zend_resolve_class_name).
  351. (Laruence)
  352. . Fixed bug #69802 (Reflection on Closure::__invoke borks type hint class
  353. name). (Dmitry)
  354. . Fixed bug #69761 (Serialization of anonymous classes should be prevented).
  355. (Laruence)
  356. . Fixed bug #69551 (parse_ini_file() and parse_ini_string() segmentation
  357. fault). (Christoph M. Becker)
  358. . Fixed bug #69781 (phpinfo() reports Professional Editions of Windows
  359. 7/8/8.1/10 as "Business"). (Christian Wenz)
  360. . Fixed bug #69835 (phpinfo() does not report many Windows SKUs).
  361. (Christian Wenz)
  362. . Fixed bug #69889 (Null coalesce operator doesn't work for string offsets).
  363. (Nikita)
  364. . Fixed bug #69891 (Unexpected array comparison result). (Nikita)
  365. . Fixed bug #69892 (Different arrays compare indentical due to integer key
  366. truncation). (Nikita)
  367. . Fixed bug #69893 (Strict comparison between integer and empty string keys
  368. crashes). (Nikita)
  369. . Fixed bug #69767 (Default parameter value with wrong type segfaults).
  370. (cmb, Laruence)
  371. . Fixed bug #69756 (Fatal error: Nesting level too deep - recursive dependency
  372. ? with ===). (Dmitry, Laruence)
  373. . Fixed bug #69758 (Item added to array not being removed by array_pop/shift
  374. ). (Laruence)
  375. . Fixed bug #68475 (Add support for $callable() sytnax with 'Class::method').
  376. (Julien, Aaron Piotrowski)
  377. . Fixed bug #69485 (Double free on zend_list_dtor). (Laruence)
  378. . Fixed bug #69427 (Segfault on magic method __call of private method in
  379. superclass). (Laruence)
  380. . Improved __call() and __callStatic() magic method handling. Now they are
  381. called in a stackless way using ZEND_CALL_TRAMPOLINE opcode, without
  382. additional stack frame. (Laruence, Dmitry)
  383. . Optimized strings concatenation. (Dmitry, Laruence)
  384. . Fixed weird operators behavior. Division by zero now emits warning and
  385. returns +/-INF, modulo by zero and intdid() throws an exception, shifts
  386. by negative offset throw exceptions. Compile-time evaluation of division
  387. by zero is disabled. (Dmitry, Andrea, Nikita)
  388. . Fixed bug #69371 (Hash table collision leads to inaccessible array keys).
  389. (Laruence)
  390. . Fixed bug #68933 (Invalid read of size 8 in zend_std_read_property).
  391. (Laruence, arjen at react dot com)
  392. . Fixed bug #68252 (segfault in Zend/zend_hash.c in function
  393. _zend_hash_del_el). (Laruence)
  394. . Fixed bug #65598 (Closure executed via static autoload incorrectly marked as
  395. static). (Nikita)
  396. . Fixed bug #66811 (Cannot access static::class in lambda, writen outside of a
  397. class). (Nikita)
  398. . Fixed bug #69568 (call a private function in closure failed). (Nikita)
  399. . Added PHP_INT_MIN constant. (Andrea)
  400. . Added Closure::call() method. (Andrea)
  401. . Fixed bug #67959 (Segfault when calling phpversion('spl')). (Florian)
  402. . Implemented the RFC `Catchable "Call to a member function bar() on a
  403. non-object"`. (Timm)
  404. . Added options parameter for unserialize allowing to specify acceptable
  405. classes (https://wiki.php.net/rfc/secure_unserialize). (Stas)
  406. . Fixed bug #63734 (Garbage collector can free zvals that are still
  407. referenced). (Dmitry)
  408. . Removed ZEND_ACC_FINAL_CLASS, promoting ZEND_ACC_FINAL as final class
  409. modifier. (Guilherme Blanco)
  410. . is_long() & is_integer() is now an alias of is_int(). (Kalle)
  411. . Implemented FR #55467 (phpinfo: PHP Variables with $ and single quotes). (Kalle)
  412. . Added ?? operator. (Andrea)
  413. . Added <=> operator. (Andrea)
  414. . Added \u{xxxxx} Unicode Codepoint Escape Syntax. (Andrea)
  415. . Fixed oversight where define() did not support arrays yet const syntax did.
  416. (Andrea, Dmitry)
  417. . Use "integer" and "float" instead of "long" and "double" in ZPP, type hint
  418. and conversion error messages. (Andrea)
  419. . Implemented FR #55428 (E_RECOVERABLE_ERROR when output buffering in output
  420. buffering handler). (Kalle)
  421. . Removed scoped calls of non-static methods from an incompatible $this
  422. context. (Nikita)
  423. . Removed support for #-style comments in ini files. (Nikita)
  424. . Removed support for assigning the result of new by reference. (Nikita)
  425. . Invalid octal literals in source code now produce compile errors, fixes
  426. PHPSadness #31. (Andrea)
  427. . Removed dl() function on fpm-fcgi. (Nikita)
  428. . Removed support for hexadecimal numeric strings. (Nikita)
  429. . Removed obsolete extensions and SAPIs. See the full list in UPGRADING. (Anatol)
  430. . Added NULL byte protection to exec, system and passthru. (Yasuo)
  431. . Added error_clear_last() function. (Reeze Xia)
  432. . Fixed bug #68797 (Number 2.2250738585072012e-308 converted incorrectly).
  433. (Anatol)
  434. . Improved zend_qsort(using hybrid sorting algo) for better performance,
  435. and also renamed zend_qsort to zend_sort. (Laruence)
  436. . Added stable sorting algo zend_insert_sort. (Laruence)
  437. . Improved zend_memnchr(using sunday algo) for better performance. (Laruence)
  438. . Implemented the RFC `Scalar Type Decalarations v0.5`. (Anthony)
  439. . Implemented the RFC `Group Use Declarations`. (Marcio)
  440. . Implemented the RFC `Continue Output Buffering`. (Mike)
  441. . Implemented the RFC `Constructor behaviour of internal classes`. (Dan, Dmitry)
  442. . Implemented the RFC `Fix "foreach" behavior`. (Dmitry)
  443. . Implemented the RFC `Generator Delegation`. (Bob)
  444. . Implemented the RFC `Anonymous Class Support`. (Joe, Nikita, Dmitry)
  445. . Implemented the RFC `Context Sensitive Lexer`. (Marcio Almada)
  446. . Fixed bug #69511 (Off-by-one buffer overflow in php_sys_readlink).
  447. (Jan Starke, Anatol)
  448. - CLI server:
  449. . Fixed bug #68291 (404 on urls with '+'). (cmb)
  450. . Fixed bug #66606 (Sets HTTP_CONTENT_TYPE but not CONTENT_TYPE).
  451. (wusuopu, cmb)
  452. . Fixed bug #70264 (CLI server directory traversal). (cmb)
  453. . Fixed bug #69655 (php -S changes MKCALENDAR request method to MKCOL). (cmb)
  454. . Fixed bug #64878 (304 responses return Content-Type header). (cmb)
  455. . Refactor MIME type handling to use a hash table instead of linear search.
  456. (Adam)
  457. . Update the MIME type list from the one shipped by Apache HTTPD. (Adam)
  458. . Added support for SEARCH WebDav method. (Mats Lindh)
  459. - COM:
  460. . Fixed bug #69939 (Casting object to bool returns false). (Kalle)
  461. - Curl:
  462. . Fixed bug #70330 (Segmentation Fault with multiple "curl_copy_handle").
  463. (Laruence)
  464. . Fixed bug #70163 (curl_setopt_array() type confusion). (Laruence)
  465. . Fixed bug #70065 (curl_getinfo() returns corrupted values). (Anatol)
  466. . Fixed bug #69831 (Segmentation fault in curl_getinfo). (im dot denisenko at
  467. yahoo dot com)
  468. . Fixed bug #68937 (Segfault in curl_multi_exec). (Laruence)
  469. . Removed support for unsafe file uploads. (Nikita)
  470. - Date:
  471. . Fixed bug #70245 (strtotime does not emit warning when 2nd parameter is
  472. object or string). (cmb)
  473. . Fixed bug #70266 (DateInterval::__construct.interval_spec is not supposed to
  474. be optional). (cmb)
  475. . Fixed bug #70277 (new DateTimeZone($foo) is ignoring text after null byte).
  476. (cmb)
  477. . Fixed day_of_week function as it could sometimes return negative values
  478. internally. (Derick)
  479. . Removed $is_dst parameter from mktime() and gmmktime(). (Nikita)
  480. . Removed date.timezone warning
  481. (https://wiki.php.net/rfc/date.timezone_warning_removal). (Bob)
  482. . Added "v" DateTime format modifier to get the 3-digit version of fraction
  483. of seconds. (Mariano Iglesias)
  484. . Implemented FR #69089 (Added DateTime::RFC3339_EXTENDED to output in
  485. RFC3339 Extended format which includes fraction of seconds). (Mariano
  486. Iglesias)
  487. - DBA:
  488. . Fixed bug #62490 (dba_delete returns true on missing item (inifile)). (Mike)
  489. . Fixed bug #68711 (useless comparisons). (bugreports at internot dot info)
  490. - DOM:
  491. . Fixed bug #70558 ("Couldn't fetch" error in
  492. DOMDocument::registerNodeClass()). (Laruence)
  493. . Fixed bug #70001 (Assigning to DOMNode::textContent does additional entity
  494. encoding). (cmb)
  495. . Fixed bug #69846 (Segmenation fault (access violation) when iterating over
  496. DOMNodeList). (Anatol Belski)
  497. . Made DOMNode::textContent writeable. (Tjerk)
  498. - EXIF:
  499. . Fixed bug #70385 (Buffer over-read in exif_read_data with TIFF IFD tag byte
  500. value of 32 bytes). (Stas)
  501. - Fileinfo:
  502. . Fixed bug #66242 (libmagic: don't assume char is signed). (ArdB)
  503. - Filter:
  504. . New FILTER_VALIDATE_DOMAIN and better RFC conformance for FILTER_VALIDATE_URL. (Kevin Dunglas)
  505. - FPM:
  506. . Fixed bug #70538 ("php-fpm -i" crashes). (rainer dot jung at
  507. kippdata dot de)
  508. . Fixed bug #70279 (HTTP Authorization Header is sometimes passed to newer
  509. reqeusts). (Laruence)
  510. . Fixed bug #68945 (Unknown admin values segfault pools). (Laruence)
  511. . Fixed bug #65933 (Cannot specify config lines longer than 1024 bytes). (Chris Wright)
  512. . Implemented FR #67106 (Split main fpm config). (Elan Ruusamäe, Remi)
  513. - FTP:
  514. . Fixed bug #69082 (FTPS support on Windows). (Anatol)
  515. - GD:
  516. . Fixed bug #53156 (imagerectangle problem with point ordering). (cmb)
  517. . Fixed bug #66387 (Stack overflow with imagefilltoborder). (cmb)
  518. . Fixed bug #70102 (imagecreatefromwebm() shifts colors). (cmb)
  519. . Fixed bug #66590 (imagewebp() doesn't pad to even length). (cmb)
  520. . Fixed bug #66882 (imagerotate by -90 degrees truncates image by 1px). (cmb)
  521. . Fixed bug #70064 (imagescale(..., IMG_BICUBIC) leaks memory). (cmb)
  522. . Fixed bug #69024 (imagescale segfault with palette based image). (cmb)
  523. . Fixed bug #53154 (Zero-height rectangle has whiskers). (cmb)
  524. . Fixed bug #67447 (imagecrop() add a black line when cropping). (cmb)
  525. . Fixed bug #68714 (copy 'n paste error). (cmb)
  526. . Fixed bug #66339 (PHP segfaults in imagexbm). (cmb)
  527. . Fixed bug #70047 (gd_info() doesn't report WebP support). (cmb)
  528. . Replace libvpx with libwebp for bundled libgd. (cmb, Anatol)
  529. . Fixed bug #61221 (imagegammacorrect function loses alpha channel). (cmb)
  530. . Made fontFetch's path parser thread-safe. (Sara)
  531. . Removed T1Lib support. (Kalle)
  532. - GMP:
  533. . Fixed bug #70284 (Use after free vulnerability in unserialize() with GMP).
  534. (stas)
  535. - hash:
  536. . Fixed bug #70312 (HAVAL gives wrong hashes in specific cases). (letsgolee
  537. at naver dot com)
  538. - IMAP:
  539. . Fixed bug #70158 (Building with static imap fails). (cmb)
  540. . Fixed bug #69998 (curl multi leaking memory). (Pierrick)
  541. - Intl:
  542. . Fixed bug #70453 (IntlChar::foldCase() incorrect arguments and missing
  543. constants). (cmb)
  544. . Fixed bug #70454 (IntlChar::forDigit second parameter should be optional).
  545. (cmb, colinodell)
  546. . Removed deprecated aliases datefmt_set_timezone_id() and
  547. IntlDateFormatter::setTimeZoneID(). (Nikita)
  548. - JSON:
  549. . Fixed bug #62010 (json_decode produces invalid byte-sequences).
  550. (Jakub Zelenka)
  551. . Fixed bug #68546 (json_decode() Fatal error: Cannot access property
  552. started with '\0'). (Jakub Zelenka)
  553. . Replace non-free JSON parser with a parser from Jsond extension, fixes #63520
  554. (JSON extension includes a problematic license statement). (Jakub Zelenka)
  555. . Fixed bug #68938 (json_decode() decodes empty string without error).
  556. (jeremy at bat-country dot us)
  557. - LDAP:
  558. . Fixed bug #47222 (Implement LDAP_OPT_DIAGNOSTIC_MESSAGE). (Andreas Heigl)
  559. - LiteSpeed:
  560. . Updated LiteSpeed SAPI code from V5.5 to V6.6. (George Wang)
  561. - libxml:
  562. . Fixed handling of big lines in error messages with libxml >= 2.9.0.
  563. (Christoph M. Becker)
  564. - Mcrypt:
  565. . Fixed bug #70625 (mcrypt_encrypt() won't return data when no IV was
  566. specified under RC4). (Nikita)
  567. . Fixed bug #69833 (mcrypt fd caching not working). (Anatol)
  568. . Fixed possible read after end of buffer and use after free. (Dmitry)
  569. . Removed mcrypt_generic_end() alias. (Nikita)
  570. . Removed mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb(), mcrypt_ofb(). (Nikita)
  571. - Mysqli:
  572. . Fixed bug #32490 (constructor of mysqli has wrong name). (cmb)
  573. - Mysqlnd:
  574. . Fixed bug #70949 (SQL Result Sets With NULL Can Cause Fatal Memory Errors).
  575. (Laruence)
  576. . Fixed bug #70384 (mysqli_real_query():Unknown type 245 sent by the server).
  577. (Andrey)
  578. . Fixed bug #70456 (mysqlnd doesn't activate TCP keep-alive when connecting to
  579. a server). (Sergei Turchanov)
  580. . Fixed bug #70572 segfault in mysqlnd_connect. (Andrey, Remi)
  581. . Fixed Bug #69796 (mysqli_stmt::fetch doesn't assign null values to
  582. bound variables). (Laruence)
  583. - OCI8:
  584. . Fixed memory leak with LOBs. (Senthil)
  585. . Fixed bug #68298 (OCI int overflow) (Senthil).
  586. . Corrected oci8 hash destructors to prevent segfaults, and a few other fixes.
  587. (Cameron Porter)
  588. - ODBC:
  589. . Fixed bug #69975 (PHP segfaults when accessing nvarchar(max) defined
  590. columns). (cmb)
  591. - Opcache:
  592. . Fixed bug #70656 (require() statement broken after opcache_reset() or a
  593. few hours of use). (Laruence)
  594. . Fixed bug #70843 (Segmentation fault on MacOSX with
  595. opcache.file_cache_only=1). (Laruence)
  596. . Fixed bug #70724 (Undefined Symbols from opcache.so on Mac OS X 10.10).
  597. (Laruence)
  598. . Fixed compatibility with Windows 10 (see also bug #70652). (Anatol)
  599. . Attmpt to fix "Unable to reattach to base address" problem. (Matt Ficken)
  600. . Fixed bug #70423 (Warning Internal error: wrong size calculation). (Anatol)
  601. . Fixed bug #70237 (Empty while and do-while segmentation fault with opcode
  602. on CLI enabled). (Dmitry, Laruence)
  603. . Fixed bug #70111 (Segfault when a function uses both an explicit return
  604. type and an explicit cast). (Laruence)
  605. . Fixed bug #70058 (Build fails when building for i386). (Laruence)
  606. . Fixed bug #70022 (Crash with opcache using opcache.file_cache_only=1).
  607. (Anatol)
  608. . Removed opcache.load_comments configuration directive. Now doc comments
  609. loading costs nothing and always enabled. (Dmitry)
  610. . Fixed bug #69838 (Wrong size calculation for function table). (Anatol)
  611. . Fixed bug #69688 (segfault with eval and opcache fast shutdown).
  612. (Laruence)
  613. . Added experimental (disabled by default) file based opcode cache.
  614. (Dmitry, Laruence, Anatol)
  615. . Fixed bug with try blocks being removed when extended_info opcode
  616. generation is turned on. (Laruence)
  617. . Fixed bug #68644 (strlen incorrect : mbstring + func_overload=2 +UTF-8
  618. + Opcache). (Laruence)
  619. - OpenSSL:
  620. . Require at least OpenSSL version 0.9.8. (Jakub Zelenka)
  621. . Fixed bug #68312 (Lookup for openssl.cnf causes a message box). (Anatol)
  622. . Fixed bug #55259 (openssl extension does not get the DH parameters from
  623. DH key resource). (Jakub Zelenka)
  624. . Fixed bug #70395 (Missing ARG_INFO for openssl_seal()). (cmb)
  625. . Fixed bug #60632 (openssl_seal fails with AES). (Jakub Zelenka)
  626. . Implemented FR #70438 (Add IV parameter for openssl_seal and openssl_open)
  627. (Jakub Zelenka)
  628. . Fixed bug #70014 (openssl_random_pseudo_bytes() is not cryptographically
  629. secure). (Stas)
  630. . Fixed bug #69882 (OpenSSL error "key values mismatch" after
  631. openssl_pkcs12_read with extra cert). (Tomasz Sawicki)
  632. . Added "alpn_protocols" SSL context option allowing encrypted client/server
  633. streams to negotiate alternative protocols using the ALPN TLS extension when
  634. built against OpenSSL 1.0.2 or newer. Negotiated protocol information is
  635. accessible through stream_get_meta_data() output.
  636. . Removed "CN_match" and "SNI_server_name" SSL context options. Use automatic
  637. detection or the "peer_name" option instead. (Nikita)
  638. - Pcntl:
  639. . Fixed bug #70386 (Can't compile on NetBSD because of missing WCONTINUED
  640. and WIFCONTINUED). (Matteo)
  641. . Fixed bug #60509 (pcntl_signal doesn't decrease ref-count of old handler
  642. when setting SIG_DFL). (Julien)
  643. . Implemented FR #68505 (Added wifcontinued and wcontinued). (xilon-jul)
  644. . Added rusage support to pcntl_wait() and pcntl_waitpid(). (Anton Stepanenko,
  645. Tony)
  646. - PCRE:
  647. . Fixed bug #70232 (Incorrect bump-along behavior with \K and empty string
  648. match). (cmb)
  649. . Fixed bug #70345 (Multiple vulnerabilities related to PCRE functions).
  650. (Anatol Belski)
  651. . Fixed bug #70232 (Incorrect bump-along behavior with \K and empty string
  652. match). (cmb)
  653. . Fixed bug #53823 (preg_replace: * qualifier on unicode replace garbles the
  654. string). (cmb)
  655. . Fixed bug #69864 (Segfault in preg_replace_callback). (cmb, ab)
  656. - PDO:
  657. . Fixed bug #70861 (Segmentation fault in pdo_parse_params() during Drupal 8
  658. test suite). (Anatol)
  659. . Fixed bug #70389 (PDO constructor changes unrelated variables). (Laruence)
  660. . Fixed bug #70272 (Segfault in pdo_mysql). (Laruence)
  661. . Fixed bug #70221 (persistent sqlite connection + custom function
  662. segfaults). (Laruence)
  663. . Removed support for the /e (PREG_REPLACE_EVAL) modifier. (Nikita)
  664. . Fixed bug #59450 (./configure fails with "Cannot find php_pdo_driver.h").
  665. (maxime dot besson at smile dot fr)
  666. - PDO_DBlib:
  667. . Fixed bug #69757 (Segmentation fault on nextRowset).
  668. (miracle at rpz dot name)
  669. - PDO_mysql:
  670. . Fixed bug #68424 (Add new PDO mysql connection attr to control multi
  671. statements option). (peter dot wolanin at acquia dot com)
  672. - PDO_OCI:
  673. . Fixed bug #70308 (PDO::ATTR_PREFETCH is ignored). (Chris Jones)
  674. - PDO_pgsql:
  675. . Fixed bug #69752 (PDOStatement::execute() leaks memory with DML
  676. Statements when closeCuror() is u). (Philip Hofstetter)
  677. . Removed PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT attribute in favor of
  678. ATTR_EMULATE_PREPARES). (Nikita)
  679. - Phar:
  680. . Fixed bug #69720 (Null pointer dereference in phar_get_fp_offset()). (Stas)
  681. . FIxed bug #70433 (Uninitialized pointer in phar_make_dirstream when zip
  682. entry filename is "/"). (Stas)
  683. . Improved fix for bug #69441. (Anatol Belski)
  684. . Fixed bug #70019 (Files extracted from archive may be placed outside of
  685. destination directory). (Anatol Belski)
  686. - Phpdbg:
  687. . Fixed bug #70614 (incorrect exit code in -rr mode with Exceptions). (Bob)
  688. . Fixed bug #70532 (phpdbg must respect set_exception_handler). (Bob)
  689. . Fixed bug #70531 (Run and quit mode (-qrr) should not fallback to
  690. interactive mode). (Bob)
  691. . Fixed bug #70533 (Help overview (-h) does not rpint anything under Windows).
  692. (Anatol)
  693. . Fixed bug #70449 (PHP won't compile on 10.4 and 10.5 because of missing
  694. constants). (Bob)
  695. . Fixed bug #70214 (FASYNC not defined, needs sys/file.h include). (Bob)
  696. . Fixed bug #70138 (Segfault when displaying memory leaks). (Bob)
  697. - Reflection:
  698. . Fixed bug #70650 (Wrong docblock assignment). (Marcio)
  699. . Fixed bug #70674 (ReflectionFunction::getClosure() leaks memory when used
  700. for internal functions). (Dmitry, Bob)
  701. . Fixed bug causing bogus traces for ReflectionGenerator::getTrace(). (Bob)
  702. . Fixed inheritance chain of Reflector interface. (Tjerk)
  703. . Added ReflectionGenerator class. (Bob)
  704. . Added reflection support for return types and type declarations. (Sara,
  705. Matteo)
  706. - Session:
  707. . Fixed bug #70876 (Segmentation fault when regenerating session id with
  708. strict mode). (Laruence)
  709. . Fixed bug #70529 (Session read causes "String is not zero-terminated" error).
  710. (Yasuo)
  711. . Fixed bug #70013 (Reference to $_SESSION is lost after a call to
  712. session_regenerate_id()). (Yasuo)
  713. . Fixed bug #69952 (Data integrity issues accessing superglobals by
  714. reference). (Bob)
  715. . Fixed bug #67694 (Regression in session_regenerate_id()). (Tjerk)
  716. . Fixed bug #68941 (mod_files.sh is a bash-script). (bugzilla at ii.nl, Yasuo)
  717. - SOAP:
  718. . Fixed bug #70940 (Segfault in soap / type_to_string). (Remi)
  719. . Fixed bug #70900 (SoapClient systematic out of memory error). (Dmitry)
  720. . Fixed bug #70875 (Segmentation fault if wsdl has no targetNamespace
  721. attribute). (Matteo)
  722. . Fixed bug #70715 (Segmentation fault inside soap client). (Laruence)
  723. . Fixed bug #70709 (SOAP Client generates Segfault). (Laruence)
  724. . Fixed bug #70388 (SOAP serialize_function_call() type confusion / RCE).
  725. (Stas)
  726. . Fixed bug #70081 (SoapClient info leak / null pointer dereference via
  727. multiple type confusions). (Stas)
  728. . Fixed bug #70079 (Segmentation fault after more than 100 SoapClient
  729. calls). (Laruence)
  730. . Fixed bug #70032 (make_http_soap_request calls
  731. zend_hash_get_current_key_ex(,,,NULL). (Laruence)
  732. . Fixed bug #68361 (Segmentation fault on SoapClient::__getTypes). (Laruence)
  733. - SPL:
  734. . Fixed bug #70959 (ArrayObject unserialize does not restore protected
  735. fields). (Laruence)
  736. . Fixed bug #70853 (SplFixedArray throws exception when using ref variable
  737. as index). (Laruence)
  738. . Fixed bug #70868 (PCRE JIT and pattern reuse segfault). (Laruence)
  739. . Fixed bug #70730 (Incorrect ArrayObject serialization if unset is called
  740. in serialize()). (Laruence)
  741. . Fixed bug #70573 (Cloning SplPriorityQueue leads to memory leaks). (Dmitry)
  742. . Fixed bug #70303 (Incorrect constructor reflection for ArrayObject). (cmb)
  743. . Fixed bug #70068 (Dangling pointer in the unserialization of ArrayObject
  744. items). (sean.heelan)
  745. . Fixed bug #70166 (Use After Free Vulnerability in unserialize() with
  746. SPLArrayObject). (taoguangchen at icloud dot com)
  747. . Fixed bug #70168 (Use After Free Vulnerability in unserialize() with
  748. SplObjectStorage). (taoguangchen at icloud dot com)
  749. . Fixed bug #70169 (Use After Free Vulnerability in unserialize() with
  750. SplDoublyLinkedList). (taoguangchen at icloud dot com)
  751. . Fixed bug #70053 (MutlitpleIterator array-keys incompatible change in
  752. PHP 7). (Tjerk)
  753. . Fixed bug #69970 (Use-after-free vulnerability in
  754. spl_recursive_it_move_forward_ex()). (Laruence)
  755. . Fixed bug #69845 (ArrayObject with ARRAY_AS_PROPS broken). (Dmitry)
  756. . Changed ArrayIterator implementation using zend_hash_iterator_... API.
  757. Allowed modification of iterated ArrayObject using the same behavior
  758. as proposed in `Fix "foreach" behavior`. Removed "Array was modified
  759. outside object and internal position is no longer valid" hack. (Dmitry)
  760. . Implemented FR #67886 (SplPriorityQueue/SplHeap doesn't expose extractFlags
  761. nor curruption state). (Julien)
  762. . Fixed bug #66405 (RecursiveDirectoryIterator::CURRENT_AS_PATHNAME
  763. breaks the RecursiveIterator). (Paul Garvin)
  764. - SQLite3:
  765. . Fixed bug #70571 (Memory leak in sqlite3_do_callback). (Adam)
  766. . Fixed bug #69972 (Use-after-free vulnerability in
  767. sqlite3SafetyCheckSickOrOk()). (Laruence)
  768. . Fixed bug #69897 (segfault when manually constructing SQLite3Result).
  769. (Kalle)
  770. . Fixed bug #68260 (SQLite3Result::fetchArray declares wrong
  771. required_num_args). (Julien)
  772. - Standard:
  773. . Fixed count on symbol tables. (Laruence)
  774. . Fixed bug #70963 (Unserialize shows UNKNOWN in result). (Laruence)
  775. . Fixed bug #70910 (extract() breaks variable references). (Laruence)
  776. . Fixed bug #70808 (array_merge_recursive corrupts memory of unset items).
  777. (Laruence)
  778. . Fixed bug #70667 (strtr() causes invalid writes and a crashes). (Dmitry)
  779. . Fixed bug #70668 (array_keys() doesn't respect references when $strict is
  780. true). (Bob, Dmitry)
  781. . Implemented the RFC `Random Functions Throwing Exceptions in PHP 7`.
  782. (Sammy Kaye Powers, Anthony)
  783. . Fixed bug #70487 (pack('x') produces an error). (Nikita)
  784. . Fixed bug #70342 (changing configuration with ignore_user_abort(true) isn't
  785. working). (Laruence)
  786. . Fixed bug #70295 (Segmentation fault with setrawcookie). (Bob)
  787. . Fixed bug #67131 (setcookie() conditional for empty values not met). (cmb)
  788. . Fixed bug #70365 (Use-after-free vulnerability in unserialize() with
  789. SplObjectStorage). (taoguangchen at icloud dot com)
  790. . Fixed bug #70366 (Use-after-free vulnerability in unserialize() with
  791. SplDoublyLinkedList). (taoguangchen at icloud dot com)
  792. . Fixed bug #70250 (extract() turns array elements to references).
  793. (Laruence)
  794. . Fixed bug #70211 (php 7 ZEND_HASH_IF_FULL_DO_RESIZE use after free).
  795. (Laruence)
  796. . Fixed bug #70208 (Assert breaking access on objects). (Bob)
  797. . Fixed bug #70140 (str_ireplace/php_string_tolower - Arbitrary Code
  798. Execution). (CVE-2015-6527) (Laruence)
  799. . Implemented FR #70112 (Allow "dirname" to go up various times). (Remi)
  800. . Fixed bug #36365 (scandir duplicates file name at every 65535th file). (cmb)
  801. . Fixed bug #70096 (Repeated iptcembed() adds superfluous FF bytes). (cmb)
  802. . Fixed bug #70018 (exec does not strip all whitespace). (Laruence)
  803. . Fixed bug #69983 (get_browser fails with user agent of null).
  804. (Kalle, cmb, Laruence)
  805. . Fixed bug #69976 (Unable to parse "all" urls with colon char). (cmb)
  806. . Fixed bug #69768 (escapeshell*() doesn't cater to !). (cmb)
  807. . Fixed bug #62922 (Truncating entire string should result in string).
  808. (Nikita)
  809. . Fixed bug #69723 (Passing parameters by reference and array_column).
  810. (Laruence)
  811. . Fixed bug #69523 (Cookie name cannot be empty). (Christoph M. Becker)
  812. . Fixed bug #69325 (php_copy_file_ex does not pass the argument).
  813. (imbolk at gmail dot com)
  814. . Fixed bug #69299 (Regression in array_filter's $flag argument in PHP 7).
  815. (Laruence)
  816. . Removed call_user_method() and call_user_method_array() functions. (Kalle)
  817. . Fixed user session handlers (See rfc:session.user.return-value). (Sara)
  818. . Added intdiv() function. (Andrea)
  819. . Improved precision of log() function for base 2 and 10. (Marc Bennewitz)
  820. . Remove string category support in setlocale(). (Nikita)
  821. . Remove set_magic_quotes_runtime() and its alias magic_quotes_runtime().
  822. (Nikita)
  823. . Fixed bug #65272 (flock() out parameter not set correctly in windows).
  824. (Daniel Lowrey)
  825. . Added preg_replace_callback_array function. (Wei Dai)
  826. . Deprecated salt option to password_hash. (Anthony)
  827. . Fixed bug #69686 (password_verify reports back error on PHP7 will null
  828. string). (Anthony)
  829. . Added Windows support for getrusage(). (Kalle)
  830. . Removed hardcoded limit on number of pipes in proc_open(). (Tony)
  831. - Streams:
  832. . Fixed bug #70361 (HTTP stream wrapper doesn't close keep-alive connections).
  833. (Niklas Keller)
  834. . Fixed bug #68532 (convert.base64-encode omits padding bytes).
  835. (blaesius at krumedia dot de)
  836. . Removed set_socket_blocking() in favor of its alias stream_set_blocking().
  837. (Nikita)
  838. - Tokenizer:
  839. . Fixed bug #69430 (token_get_all has new irrecoverable errors). (Nikita)
  840. - XMLReader:
  841. . Fixed bug #70309 (XmlReader read generates extra output). (Anatol)
  842. - XMLRPC
  843. . Fixed bug #70526 (xmlrpc_set_type returns false on success). (Laruence)
  844. - XSL:
  845. . Fixed bug #70678 (PHP7 returns true when false is expected). (Felipe)
  846. . Fixed bug #70535 (XSLT: free(): invalid pointer). (Laruence)
  847. . Fixed bug #69782 (NULL pointer dereference). (Stas)
  848. . Fixed bug #64776 (The XSLT extension is not thread safe). (Mike)
  849. . Removed xsl.security_prefs ini option. (Nikita)
  850. - Zlib:
  851. . Added deflate_init(), deflate_add(), inflate_init(), inflate_add()
  852. functions allowing incremental/streaming compression/decompression.
  853. (Daniel Lowrey & Bob Weinand)
  854. - Zip:
  855. . Fixed bug #70322 (ZipArchive::close() doesn't indicate errors). (cmb)
  856. . Fixed bug #70350 (ZipArchive::extractTo allows for directory traversal when
  857. creating directories). (neal at fb dot com)
  858. . Added ZipArchive::setCompressionName and ZipArchive::setCompressionIndex
  859. methods. (Remi, Cedric Delmas)
  860. . Update bundled libzip to 1.0.1. (Remi, Anatol)
  861. . Fixed bug #67161 (ZipArchive::getStream() returns NULL for certain file).
  862. (Christoph M. Becker)