php-src/NEWS

406 lines
17 KiB
Plaintext
Raw Normal View History

2015-07-08 08:37:59 +08:00
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2015-07-08 08:37:59 +08:00
23 Jul 2015, PHP 7.0.0 Beta 2
2015-06-24 16:21:54 +08:00
09 Jul 2015, PHP 7.0.0 Beta 1
2013-11-27 16:34:40 +08:00
2015-06-10 16:47:06 +08:00
- Core:
. Fixed bug #70006 (cli - function with default arg = STDOUT crash output).
(Laruence)
. Fixed bug #69521 (Segfault in gc_collect_cycles()).
(arjen at react dot com, Laruence)
. Improved zend_string API (Francois Laupretre)
. Fixed bug #69955 (Segfault when trying to combine [] and assign-op on
ArrayAccess object). (Laruence)
2015-07-03 03:19:26 +08:00
. Fixed bug #69957 (Different ways of handling div/mod/intdiv). (Bob)
. Fixed bug #69900 (Too long timeout on pipes). (Anatol)
Fixed bug #62210 (Exceptions can leak temporary variables. As a part of the fix serious refactoring was done. op_array->brk_cont_array was removed, and replaced with more general and speed efficient op_array->T_liveliness. ZEND_GOTO opcode is always replaced by ZEND_JMP at compile time). (Bob, Dmitry, Laruence) Squashed commit of the following: commit 38e22106d4bdcc829dd2b64be1d3c6cdc089f3ed Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Jul 7 15:12:19 2015 +0300 Added NEWS entry commit 0a355935bfb10b5a4c893f4db9496ea8abbcf71b Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Jul 7 15:06:32 2015 +0300 Inline function, to eliminate repeatable checks commit d937584f3aef0baae6001377b61fd700b6f36e14 Merge: 0341626 32677f5 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Jul 7 14:35:49 2015 +0300 Merge branch 'master' into temporary_cleaning * master: Fixed bug #70006 (cli - function with default arg = STDOUT crash output). Fix x86 build Fixed use after free on closure_call_leak_with_exception.phpt Fixed test commit 0341626ea94a5e474c660732d33884460847d5e7 Merge: 74869fa dec35de Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Jul 7 12:00:53 2015 +0300 Merge branch 'temporary_cleaning' of https://github.com/laruence/php-src into temporary_cleaning * 'temporary_cleaning' of https://github.com/laruence/php-src: Fixed checkpoint get Fixed crash of invalid pointer derefer cleanup commit 74869fa67375b8daf772ac30b6b936fd2a2132c6 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Jul 7 11:45:34 2015 +0300 Fixed wrong GOTO resolution commit dec35ded3294e3022e88a623188c3d1d71381675 Author: Xinchen Hui <laruence@gmail.com> Date: Tue Jul 7 15:58:49 2015 +0800 Fixed checkpoint get commit b0f419540ad24c44810c9b05da046965618ffc65 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Jul 7 10:47:11 2015 +0300 Fixed crash of invalid pointer derefer (laruence) commit 7a428d98ca2899c5933914caa0cd17b4126e952c Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Jul 7 10:35:47 2015 +0300 Fixed identation commit 9c3a4dce9ce02034d19d28182aa9c1298d528daf Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Jul 7 10:33:52 2015 +0300 Fixed invalid size commit 653abc670b2a1f453b0fc3fc4a9eca919ee870cc Author: Xinchen Hui <laruence@gmail.com> Date: Tue Jul 7 11:29:14 2015 +0800 Fixed crash of invalid pointer derefer commit e04500ceda606ac4f364d03bcd562327bdc74eee Author: Xinchen Hui <laruence@gmail.com> Date: Tue Jul 7 11:28:26 2015 +0800 cleanup commit 34183e1687681038e77b650078927b35ee84e933 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Jul 7 04:49:46 2015 +0300 op_array->T_liveliness compression commit 2f6ad845795a08c3d7ac219e9c42950565b20394 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Jul 7 04:44:44 2015 +0300 White spaces commit be83f115a3f82a548c8d377c66574de5e5187410 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Jul 7 04:42:26 2015 +0300 Identation commit 1f5084b99038c374ac012b017c4d1652bb5d4222 Merge: 91b620d 1adf3df Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Jul 7 04:41:54 2015 +0300 Merge branch 'master' into temporary_cleaning * master: Throw TypeError for invalid callback Fix crash when exception occurs during nested rope Fix crash when exception is thrown during ROPE_END Small cleanup in ternary compilation move the define to the right place fix ext/ldap build Rectify information about invalid shift warning being now ArithmeticError commit 91b620d684c5a2296774432d5d0ff8f5d14397d6 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Jul 7 04:32:04 2015 +0300 Replace GOTO by FREE/FE_FREE and JMP at compile time commit 7052e5697918fab83d2975977c3392f7188fbc87 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Jul 7 02:25:08 2015 +0300 Use zend_regenerate_var_liveliness_info() to regenerate information after pass two. commit ae72b0dc6797815a846b8f95abccb36367422d27 Merge: a81c4bb a919fe8 Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Jul 6 21:02:34 2015 +0300 Merge branch 'master' into temporary_cleaning * master: Do not display EXT_TYPE_UNUSED in phpdbg opcodes Run debug build with opcache on travis commit a81c4bb8c6f1ba8124a5a7636694480ff0f1328c Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Jul 6 20:59:34 2015 +0300 Improved algorithm. It's actually the same algorithm with second loop removed and simpler temporary data structures. The only difference may be in "re-defined" vatriable handling. Now live-range in that case started from the seconnd definition (this must be more safe). commit 9a16810f7a7c10373603c5250d985616acf45e97 Merge: bbfbe47 001ecd3 Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Jul 6 17:57:45 2015 +0300 Merge branch 'master' into temporary_cleaning * master: Simplify TMP var number decoding (without HashTable) commit bbfbe470c865cb8b3cae8bf6518e6d06af525522 Merge: 0bda4ab 436b01e Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Jul 6 17:02:01 2015 +0300 Merge branch 'master' into temporary_cleaning * master: Avoid dangerous optimization Fixed JMPZNZ instruction printing Attempt at falling back on ldap_find_control for Mac OS commit 0bda4abea7ba0a51c2ec125edb547645d0329792 Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Jul 6 16:05:33 2015 +0300 Fixed live-range construction for OP_DATA opcode Added comments about algorithm assumtions commit 521ad9df98fdf1dd8b7c212799ddeb1a84483e6f Merge: 4398dab a09dcb0 Author: Bob Weinand <bobwei9@hotmail.com> Date: Mon Jul 6 14:54:15 2015 +0200 Merge branch 'master' of https://github.com/php/php-src into temporary_cleaning commit 4398dab82f9a5ce64df55b24988ce7d31e24074f Author: Bob Weinand <bobwei9@hotmail.com> Date: Mon Jul 6 13:51:27 2015 +0200 Add a few phpt tests related to temporary cleaning commit 739656f83ff5b570bb311d2c7cb2d72380a3c759 Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Jul 6 14:28:49 2015 +0300 Fixed Zend/tests/foreach_004.phpt failure (FE_FETCH shouldn't be included into TMP vatriablr live range) commit 3df462a2bcf5fa8f9244ea299178152a5d436277 Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Jul 6 13:41:02 2015 +0300 Improve data layout (reduce the op_array structure size on 64-bit systems) commit 883b73c56e6dab6489ae4cda2c1331b53a995586 Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Jul 6 13:28:45 2015 +0300 Removed op_array->brk_cont_array commit ae5e58b59843513505e84e396c1446ac35cb1b94 Author: Bob Weinand <bobwei9@hotmail.com> Date: Mon Jul 6 04:22:58 2015 +0200 Fix bug with brk_cont variable free / free loop vars via temporary liveliness info commit b4223ca62771e1003c9ab778a09a177ad71e6d57 Author: Bob Weinand <bobwei9@hotmail.com> Date: Mon Jul 6 04:07:07 2015 +0200 Fix bugs / cleanup fixes commit ea33189d220c7fc0884848571635abe3cddd2f4d Author: Xinchen Hui <laruence@gmail.com> Date: Sun Jul 5 20:58:38 2015 +0800 Removed useless TsTop commit 1dbb007e4addba9ac3bfc227db27a651cbcf5ede Merge: 550bbf8 3a8af24 Author: Xinchen Hui <laruence@gmail.com> Date: Sat Jul 4 15:06:44 2015 +0800 Merge branch 'temporary_cleaning' of https://github.com/dstogov/php-src into temporary_cleaning commit 3a8af245290ceb507108340831254672f24022fa Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Jul 3 16:15:36 2015 +0300 More exceptions from regular liveliness analyses (with explanation in comments). Mark old "unexplained" exceptions with ???. commit ba721efa2cbd2136668fec956ef3b034ac1a29d6 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Jul 3 14:16:09 2015 +0300 Print list of live temp variables (at least for internal debugging) commit 8d1f88fe91e62b4333703c58b871d85b66fb7b70 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Jul 3 13:31:56 2015 +0300 Use op_array->T_liveliness to free incomplete ropes and restore error_reporting level on exception commit 80c1d0d779e6e9609a211907838f3727aa7b301a Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Jul 3 11:05:39 2015 +0300 Don't keep empty T_liveliness commit 501ae8aaac0a92368b50e9f342b04d7334d263f6 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Jul 2 22:31:48 2015 +0300 Reverted changes to Zend/zend_arena.h. Reuse CG(arena) instead of creating a new one. commit a4fce36907147df5ac1af78b44135e3f07c1844c Merge: 6ff7246 fd0fcce Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Jul 2 22:01:42 2015 +0300 Merge branch 'temporary_cleaning' of github.com:bwoebi/php-src into temporary_cleaning * 'temporary_cleaning' of github.com:bwoebi/php-src: Fix remaining issues with compacted temporaries Fix regression from last commit (+1 ?!) Fix off-by-one (opcache may remove last ZEND_RETURN) Speed algorithm up, more fail safety when reusing temporaries Dumb bug in opcode.c (forgot to update Ts[i]) Fix opcache support Exempt ROPE temporaries from freeing Hmm, we need temporary info for all the opcodes Add opcache support for cleaning in optimization step (Opcache seems to have a few unrelated issues which blow up together with that patch) Add proper temporary cleaning upon frame abortion Fix arena on small sizes (size < sizeof(zend_arena)) commit fd0fcce81177717f3a05ac87192b5ed05eead0a1 Author: Bob Weinand <bobwei9@hotmail.com> Date: Thu Jul 2 20:00:33 2015 +0200 Fix remaining issues with compacted temporaries commit 427dc58bbb93022d1c2077f874afcdb9dd82d5c5 Author: Bob Weinand <bobwei9@hotmail.com> Date: Wed Jul 1 22:49:12 2015 +0200 Fix regression from last commit (+1 ?!) commit 1adcf56a6e9f09e7ad06331d4d6280035b17a7d1 Author: Bob Weinand <bobwei9@hotmail.com> Date: Wed Jul 1 22:17:07 2015 +0200 Fix off-by-one (opcache may remove last ZEND_RETURN) commit 25b231b7841fa4078c65976cabdd843845a6cbe6 Author: Bob Weinand <bobwei9@hotmail.com> Date: Wed Jul 1 20:59:24 2015 +0200 Speed algorithm up, more fail safety when reusing temporaries commit 22d9d05350e35d180018d0bccbad6f173cb4797d Author: Bob Weinand <bobwei9@hotmail.com> Date: Wed Jul 1 16:48:46 2015 +0200 Dumb bug in opcode.c (forgot to update Ts[i]) commit 6538269bfa5bcbad34fc2f051b0fd5e4ebf2ff00 Author: Bob Weinand <bobwei9@hotmail.com> Date: Wed Jul 1 13:05:52 2015 +0200 Fix opcache support commit 333a7c4a8813a45dc79ce55b8e9c0a0b98671e13 Author: Bob Weinand <bobwei9@hotmail.com> Date: Sat Jun 27 22:40:21 2015 +0200 Exempt ROPE temporaries from freeing commit 02585f77085427baea48448c134a96c542af3337 Author: Bob Weinand <bobwei9@hotmail.com> Date: Fri Jun 26 16:20:55 2015 +0200 Hmm, we need temporary info for all the opcodes commit cbcaedbd78199897e5cacffd700b706f21590abf Author: Bob Weinand <bobwei9@hotmail.com> Date: Fri Jun 26 01:04:09 2015 +0200 Add opcache support for cleaning in optimization step (Opcache seems to have a few unrelated issues which blow up together with that patch) commit fef649f4067823a1f96f85340cf715e5877310bc Author: Bob Weinand <bobwei9@hotmail.com> Date: Fri Jun 26 01:02:27 2015 +0200 Add proper temporary cleaning upon frame abortion commit 1cec2e7271b789b84601f8acf385950af1bb0c7c Author: Bob Weinand <bobwei9@hotmail.com> Date: Thu Jun 25 23:33:21 2015 +0200 Fix arena on small sizes (size < sizeof(zend_arena))
2015-07-07 20:41:12 +08:00
. Fixed bug #62210 (Exceptions can leak temporary variables. As a part of
the fix serious refactoring was done. op_array->brk_cont_array was removed,
and replaced with more general and speed efficient op_array->T_liveliness.
ZEND_GOTO opcode is always replaced by ZEND_JMP at compile time).
(Bob, Dmitry, Laruence)
2015-06-24 16:21:54 +08:00
2015-06-27 20:38:37 +08:00
- CLI server:
2015-06-28 02:07:06 +08:00
. Fixed bug #69655 (php -S changes MKCALENDAR request method to MKCOL). (cmb)
. Fixed bug #64878 (304 responses return Content-Type header). (cmb)
2015-06-27 20:38:37 +08:00
- COM:
. Fixed bug #69939 (Casting object to bool returns false). (Kalle)
- JSON
. Fixed bug #62010 (json_decode produces invalid byte-sequences).
2015-07-03 03:19:26 +08:00
(Jakub Zelenka)
2015-06-28 19:13:41 +08:00
- OCI8:
. Corrected oci8 hash destructors to prevent segfaults, and a few other fixes.
(Cameron Porter)
2015-07-03 06:29:44 +08:00
- ODBC:
. Fixed bug #69975 (PHP segfaults when accessing nvarchar(max) defined
columns). (cmb)
- OpenSSL:
. Fixed bug #69882 (OpenSSL error "key values mismatch" after
openssl_pkcs12_read with extra cert) (Tomasz Sawicki)
2015-06-24 16:21:54 +08:00
- PCRE:
. Fixed bug #53823 (preg_replace: * qualifier on unicode replace garbles the
2015-06-24 16:21:54 +08:00
string). (cmb)
- Session:
. Fixed bug #69952 (Data integrity issues accessing superglobals by
reference). (Bob)
2015-07-07 21:29:20 +08:00
- SPL:
. Fixed bug #69970 (Use-after-free vulnerability in
spl_recursive_it_move_forward_ex()). (Laruence)
- Standard:
. Fixed bug #69983 (get_browser fails with user agent of null).
(Kalle, cmb, Laruence)
. Fixed bug #69976 (Unable to parse "all" urls with colon char). (cmb)
. Fixed bug #69768 (escapeshell*() doesn't cater to !). (cmb)
2015-07-07 21:38:37 +08:00
- Sqlite3:
. Fixed bug #69972 (Use-after-free vulnerability in
sqlite3SafetyCheckSickOrOk()). (Laruence)
2015-06-24 16:21:54 +08:00
25 Jun 2015, PHP 7.0.0 Alpha 2
- Core:
. Fixed bug #69872 (uninitialised value in strtr with array). (Laruence)
2015-06-18 19:59:15 +08:00
. Fixed bug #69868 (Invalid read of size 1 in zend_compile_short_circuiting).
(Laruence)
2015-06-20 21:24:51 +08:00
. Fixed bug #69849 (Broken output of apache_request_headers). (Kalle)
. Fixed bug #69840 (iconv_substr() doesn't work with UTF-16BE). (Kalle)
. Fixed bug #69823 (PHP 7.0.0alpha1 segmentation fault when exactly 33
extensions are loaded). (Laruence)
. Fixed bug #69805 (null ptr deref and seg fault in zend_resolve_class_name).
(Laruence)
. Fixed bug #69802 (Reflection on Closure::__invoke borks type hint class
name). (Dmitry)
. Fixed bug #69761 (Serialization of anonymous classes should be prevented).
(Laruence)
2015-06-10 16:47:06 +08:00
. Fixed bug #69551 (parse_ini_file() and parse_ini_string() segmentation
fault). (Christoph M. Becker)
2015-06-10 17:27:24 +08:00
. Fixed bug #69781 (phpinfo() reports Professional Editions of Windows
7/8/8.1/10 as "Business"). (Christian Wenz)
2015-06-20 22:39:23 +08:00
. Fixed bug #69835 (phpinfo() does not report many Windows SKUs).
2015-06-19 04:04:55 +08:00
(Christian Wenz)
. Fixed bug #69889 (Null coalesce operator doesn't work for string offsets).
(Nikita)
2015-06-20 23:23:58 +08:00
. Fixed bug #69891 (Unexpected array comparison result). (Nikita)
2015-06-20 22:39:23 +08:00
. Fixed bug #69892 (Different arrays compare indentical due to integer key
truncation). (Nikita)
2015-06-20 23:14:48 +08:00
. Fixed bug #69893 (Strict comparison between integer and empty string keys
crashes). (Nikita)
2015-06-10 16:47:06 +08:00
2015-06-19 18:48:14 +08:00
- DOM:
. Fixed bug #69846 (Segmenation fault (access violation) when iterating over
DOMNodeList). (Anatol Belski)
2015-06-17 08:27:05 +08:00
- GD:
. Fixed bug #61221 (imagegammacorrect function loses alpha channel). (cmb)
- mysqlnd:
. Fixed Bug #69796 (mysqli_stmt::fetch doesn't assign null values to
2015-06-20 20:38:03 +08:00
bound variables). (Laruence)
- Curl:
. Fixed bug #69831 (Segmentation fault in curl_getinfo). (im dot denisenko at
yahoo dot com)
- Opcache:
. Removed opcache.load_comments configuration directive. Now doc comments
loading costs nothing and always enabled. (Dmitry)
2015-06-20 15:33:37 +08:00
. Fixed bug #69838 (Wrong size calculation for function table). (Anatol)
- PCRE:
. Fixed bug #69864 (Segfault in preg_replace_callback) (cmb, ab)
2015-06-10 22:42:52 +08:00
- PDO_pgsql:
. Fixed bug #69752 (PDOStatement::execute() leaks memory with DML
Statements when closeCuror() is u). (Philip Hofstetter)
- SPL
. Fixed bug #69845 (ArrayObject with ARRAY_AS_PROPS broken). (Dmitry)
- SQLite3
. Fixed bug #69897 (segfault when manually constructing SQLite3Result).
(Kalle)
2015-06-20 20:38:03 +08:00
- Standard
. Fixed bug #62922 (Truncating entire string should result in string).
(Nikita)
2015-06-09 20:20:55 +08:00
11 Jun 2015, PHP 7.0.0 Alpha 1
2014-08-01 23:28:20 +08:00
- Core:
. Fixed bug #69767 (Default parameter value with wrong type segfaults).
(cmb, Laruence)
2015-06-05 18:42:21 +08:00
. Fixed bug #69756 (Fatal error: Nesting level too deep - recursive dependency
? with ===). (Dmitry, Laruence)
. Fixed bug #69758 (Item added to array not being removed by array_pop/shift
). (Laruence)
2015-05-12 19:36:13 +08:00
. Fixed bug #68475 (Add support for $callable() sytnax with 'Class::method').
(Julien, Aaron Piotrowski)
. Fixed bug #69485 (Double free on zend_list_dtor). (Laruence)
. Fixed bug #69427 (Segfault on magic method __call of private method in
superclass). (Laruence)
Squashed commit of the following: commit 2399fc84c541da9c2176c5b7f6dd039a3c84dc64 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Apr 10 12:38:08 2015 +0300 Removed useless assignment commit 796b6338174348eee0d74a67706d77b7ce1a60c3 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Apr 10 12:35:31 2015 +0300 Fixed execution with overriden zend_execute_ex() commit 4a9fb125aa999059f8bc42ebb6ee573c7866b35b Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Apr 10 02:02:58 2015 +0300 Fixed executor without global registers commit d456c30e00589ccda35a4b57ae903ef2d3c07d95 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Apr 10 01:30:35 2015 +0300 Restored original behavior for tests/classes/__call_004.phpt commit 479646d37fef050536f1afb12b082618f1f1a3d0 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Apr 10 00:32:17 2015 +0300 Fixed test. We don't keep stack frame for fake function anymore. commit 9ae61e33e24b2c811d4ab1ca4ab22847c64a780e Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Apr 10 00:30:09 2015 +0300 Use ZEND_ACC_CALL_VIA_TRAMPOLINE instead of ZEND_ACC_CALL_VIA_HANDLER. Keep ZEND_ACC_CALL_VIA_HANDLER for compatibility. commit 0a8403a2a0c27aa3db271774f8559739a6b8400e Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Apr 10 00:05:43 2015 +0300 Rename PROXY_CALL into CALL_TRAMPLINE. Generalize API to allow reuse EG(trampline) for other purposes. commit 4ea0525c10554e36185a0b8b6303106813b6a1c2 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Apr 9 23:22:25 2015 +0300 Reuse EG(proxy_call_op) for all proxy. Move proxy related functions from zend_objects_API to zend_object_handlers. commit 529bf737ca388ad56fb4ae20ccb81e6276f25ec0 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Apr 9 21:42:23 2015 +0300 Accurate use of proxy_call commit 5d62837d5ba3855743fe1981786ebd65d9da0b63 Merge: 83e749f 690843f Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Apr 9 19:40:00 2015 +0300 Merge branch 'master' into opcodefy-call * master: Fixed GOTO executor Fixed typo Changed ArrayIterator implementation using zend_hash_iterator_... API. Allowed modification of itterated ArrayObject using the same behavior as proposed in `Fix "foreach" behavior`. Removed "Array was modified outside object and internal position is no longer valid" hack. commit 83e749ff3b6623e39b236a72e9b907d5b788ae5e Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Apr 9 19:39:10 2015 +0300 Improved ZEND_PROXY_CALL commit 0c829afc534e6d5ff27a0dea3a4815da303bd1ef Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Apr 9 15:14:49 2015 +0300 Reverted white-space changes commit df65144488afa3e9020d75e1ada5529b138afc5a Merge: 5fd2f97 97756d9 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Apr 9 14:37:07 2015 +0300 Merge branch 'opcodefy-call' of github.com:laruence/php-src into opcodefy-call * 'opcodefy-call' of github.com:laruence/php-src: Ready for PR Fixed static call Improve performance by using prealloated op_arrray Respect called_scope Support internal magical __call/__callStatic opcode-fy magical __callStatic Opcode-fy magical __call commit 97756d9190e07a072a7b48135304dc25a964845f Author: Xinchen Hui <laruence@gmail.com> Date: Thu Apr 9 19:07:59 2015 +0800 Ready for PR commit 74f993084627061e783645a866390b68e2981698 Author: Xinchen Hui <laruence@gmail.com> Date: Thu Apr 9 19:03:00 2015 +0800 Fixed static call commit ec1d9eb592db0c3b7b0e3d21e7f445ed8bccfd4d Author: Xinchen Hui <laruence@gmail.com> Date: Thu Apr 9 18:23:17 2015 +0800 Improve performance by using prealloated op_arrray commit df7fbbf949c99f2c5ae3da2a1199235651c7cc82 Author: Xinchen Hui <laruence@gmail.com> Date: Thu Apr 9 15:10:02 2015 +0800 Respect called_scope commit 769d1d59fb48b6f7f93d7412eefbf26135fa3e59 Author: Xinchen Hui <laruence@gmail.com> Date: Thu Apr 9 12:19:23 2015 +0800 Support internal magical __call/__callStatic commit a980fedd5b0e0683713dd4f6eaad62adf4b4732f Author: Xinchen Hui <laruence@gmail.com> Date: Wed Apr 8 18:35:41 2015 +0800 opcode-fy magical __callStatic commit 73855f7d53baa2efc2b8a88314f51c784c81b59d Author: Xinchen Hui <laruence@gmail.com> Date: Wed Apr 8 14:21:55 2015 +0800 Opcode-fy magical __call
2015-04-11 04:01:00 +08:00
. Improved __call() and __callStatic() magic method handling. Now they are
called in a stackless way using ZEND_CALL_TRAMPOLINE opcode, without
additional stack frame. (Laruence, Dmitry)
2015-04-11 09:48:09 +08:00
. Optimized strings concatenation. (Dmitry, Laruence)
. Fixed weird operators behavior. Division by zero now emits warning and
returns +/-INF, modulo by zero and intdid() throws an exception, shifts
by negative offset throw exceptions. Compile-time evaluation of division
by zero is disabled. (Dmitry, Andrea, Nikita)
. Fixed bug #69371 (Hash table collision leads to inaccessible array keys).
(Laruence)
. Fixed bug #68933 (Invalid read of size 8 in zend_std_read_property).
2015-01-31 19:12:30 +08:00
(Laruence, arjen at react dot com)
. Fixed bug #68252 (segfault in Zend/zend_hash.c in function
_zend_hash_del_el). (Laruence)
2015-05-07 21:37:46 +08:00
. Fixed bug #65598 (Closure executed via static autoload incorrectly marked as
static). (Nikita)
. Fixed bug #66811 (Cannot access static::class in lambda, writen outside of a
class). (Nikita)
. Fixed bug #69568 (call a private function in closure failed). (Nikita)
2014-08-01 23:28:20 +08:00
. Added PHP_INT_MIN constant. (Andrea)
2014-10-26 00:05:52 +08:00
. Added Closure::call() method. (Andrea)
. Fixed bug #67959 (Segfault when calling phpversion('spl')). (Florian)
. Implemented the RFC `Catchable "Call to a member function bar() on a
2014-11-23 14:23:55 +08:00
non-object"`. (Timm)
. Added options parameter for unserialize allowing to specify acceptable
classes (https://wiki.php.net/rfc/secure_unserialize). (Stas)
. Fixed bug #63734 (Garbage collector can free zvals that are still
referenced). (Dmitry)
2014-12-05 12:15:23 +08:00
. Removed ZEND_ACC_FINAL_CLASS, promoting ZEND_ACC_FINAL as final class
modifier. (Guilherme Blanco)
2014-12-15 05:32:42 +08:00
. is_long() & is_integer() is now an alias of is_int(). (Kalle)
2014-12-15 05:49:00 +08:00
. Implemented FR #55467 (phpinfo: PHP Variables with $ and single quotes). (Kalle)
2014-12-19 09:06:46 +08:00
. Added ?? operator. (Andrea)
2015-02-20 06:02:04 +08:00
. Added <=> operator. (Andrea)
2014-12-19 09:06:46 +08:00
. Added \u{xxxxx} Unicode Codepoint Escape Syntax. (Andrea)
. Fixed oversight where define() did not support arrays yet const syntax did.
(Andrea, Dmitry)
. Use "integer" and "float" instead of "long" and "double" in ZPP, type hint
and conversion error messages. (Andrea)
. Implemented FR #55428 (E_RECOVERABLE_ERROR when output buffering in output
buffering handler). (Kalle)
. Removed scoped calls of non-static methods from an incompatible $this
context. (Nikita)
. Removed support for #-style comments in ini files. (Nikita)
2014-09-10 21:55:26 +08:00
. Removed support for assigning the result of new by reference. (Nikita)
. Invalid octal literals in source code now produce compile errors, fixes
PHPSadness #31. (Andrea)
2014-09-11 19:03:58 +08:00
. Removed dl() function on fpm-fcgi. (Nikita)
. Removed support for hexadecimal numeric strings. (Nikita)
2015-02-10 15:59:10 +08:00
. Removed obsolete extensions and SAPIs. See the full list in UPGRADING. (Anatol)
. Added NULL byte protection to exec, system and passthru. (Yasuo)
. Added error_clear_last() function. (Reeze Xia)
2015-03-18 02:48:55 +08:00
. Fixed bug #68797 (Number 2.2250738585072012e-308 converted incorrectly).
(Anatol)
2015-04-11 17:48:05 +08:00
. Improved zend_qsort(using hybrid sorting algo) for better performance,
and also renamed zend_qsort to zend_sort. (Laruence)
2015-04-11 09:48:09 +08:00
. Added stable sorting algo zend_insert_sort. (Laruence)
. Implemented the RFC `Scalar Type Decalarations v0.5`. (Anthony)
. Implemented the RFC `Group Use Declarations`. (Marcio)
2015-03-25 22:22:37 +08:00
. Implemented the RFC `Continue Output Buffering`. (Mike)
. Implemented the RFC `Constructor behaviour of internal classes`. (Dan, Dmitry)
. Implemented the RFC `Fix "foreach" behavior`. (Dmitry)
. Implemented the RFC `Generator Delegation`. (Bob)
2015-05-26 01:00:08 +08:00
. Implemented the RFC `Anonymous Class Support`. (Joe, Nikita, Dmitry)
2015-05-26 05:07:37 +08:00
. Implemented the RFC `Context Sensitive Lexer`. (Marcio Almada)
. Fixed bug #69511 (Off-by-one buffer overflow in php_sys_readlink).
(Jan Starke, Anatol)
2015-06-09 20:20:55 +08:00
- CLI server:
. Refactor MIME type handling to use a hash table instead of linear search.
(Adam)
. Update the MIME type list from the one shipped by Apache HTTPD. (Adam)
. Added support for SEARCH WebDav method. (Mats Lindh)
2015-01-30 13:14:44 +08:00
- Curl:
. Fixed bug #68937 (Segfault in curl_multi_exec). (Laruence)
. Removed support for unsafe file uploads. (Nikita)
2014-12-10 18:24:43 +08:00
- Date:
. Fixed day_of_week function as it could sometimes return negative values
internally. (Derick)
. Removed $is_dst parameter from mktime() and gmmktime(). (Nikita)
. Removed date.timezone warning
(https://wiki.php.net/rfc/date.timezone_warning_removal). (Bob)
. Added "v" DateTime format modifier to get the 3-digit version of fraction
of seconds. (Mariano Iglesias)
. Implemented FR #69089: Added DateTime::RFC3339_EXTENDED to output in
RFC3339 Extended format which includes fraction of seconds (Mariano
Iglesias)
2015-05-12 19:29:23 +08:00
2013-12-05 18:30:52 +08:00
- DBA:
. Fixed bug #62490 (dba_delete returns true on missing item (inifile)). (Mike)
2015-01-20 22:11:19 +08:00
. Fixed bug #68711 (useless comparisons). (bugreports at internot dot info)
2013-12-24 07:23:03 +08:00
2014-11-11 16:33:36 +08:00
- DOM:
. Made DOMNode::textContent writeable. (Tjerk)
2014-02-27 08:19:08 +08:00
- GD:
. Made fontFetch's path parser thread-safe. (Sara)
. Removed T1Lib support. (Kalle)
2013-11-04 20:32:45 +08:00
2014-11-11 16:33:36 +08:00
- Fileinfo:
. Fixed bug #66242 (libmagic: don't assume char is signed). (ArdB)
2014-11-27 18:40:48 +08:00
- Filter:
. New FILTER_VALIDATE_DOMAIN and better RFC conformance for FILTER_VALIDATE_URL. (Kevin Dunglas)
2014-11-11 16:33:36 +08:00
- FPM:
2015-03-01 17:44:30 +08:00
. Fixed bug #68945 (Unknown admin values segfault pools). (Laruence)
2014-11-11 16:33:36 +08:00
. Fixed bug #65933 (Cannot specify config lines longer than 1024 bytes). (Chris Wright)
2014-12-14 21:23:43 +08:00
. Implement request #67106 (Split main fpm config). (Elan Ruusamäe, Remi)
2014-11-11 16:33:36 +08:00
2015-04-28 23:08:03 +08:00
- FTP:
. Fixed bug #69082 (FTPS support on Windows). (Anatol)
2015-04-28 23:08:03 +08:00
- Intl:
. Removed deprecated aliases datefmt_set_timezone_id() and
IntlDateFormatter::setTimeZoneID(). (Nikita)
- JSON
2015-02-03 03:48:19 +08:00
. Replace non-free JSON parser with a parser from Jsond extension, fixes #63520
(JSON extension includes a problematic license statement). (Jakub Zelenka)
. Fixed bug #68938 (json_decode() decodes empty string without error).
(jeremy at bat-country dot us)
. Fixed bug #68546 (json_decode() Fatal error: Cannot access property
started with '\0'). (Jakub Zelenka)
2015-02-03 03:48:19 +08:00
2015-05-12 19:29:23 +08:00
- LDAP
. Fixed bug #47222 (Implement LDAP_OPT_DIAGNOSTIC_MESSAGE). (Andreas Heigl)
- LiteSpeed:
. Updated LiteSpeed SAPI code from V5.5 to V6.6. (George Wang)
2015-06-08 16:15:03 +08:00
- libxml:
. Fixed handling of big lines in error messages with libxml >= 2.9.0.
(Christoph M. Becker)
2014-12-10 18:24:43 +08:00
- Mcrypt:
. Fixed possible read after end of buffer and use after free. (Dmitry)
. Removed mcrypt_generic_end() alias. (Nikita)
2015-03-09 18:14:35 +08:00
. Removed mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb(), mcrypt_ofb(). (Nikita)
2014-12-10 18:24:43 +08:00
2014-12-24 18:30:36 +08:00
- Opcache:
. Fixed bug #69688 (segfault with eval and opcache fast shutdown).
(Laruence)
. Added experimental (disabled by default) file based opcode cache.
(Dmitry, Laruence, Anatol)
2015-01-13 23:39:33 +08:00
. Fixed bug with try blocks being removed when extended_info opcode
generation is turned on. (Laruence)
2014-12-24 18:30:36 +08:00
. Fixed bug #68644 (strlen incorrect : mbstring + func_overload=2 +UTF-8
+ Opcache). (Laruence)
2015-01-23 14:05:28 +08:00
- OpenSSL:
2015-03-10 13:15:04 +08:00
. Added "alpn_protocols" SSL context option allowing encrypted client/server
streams to negotiate alternative protocols using the ALPN TLS extension when
built against OpenSSL 1.0.2 or newer. Negotiated protocol information is
accessible through stream_get_meta_data() output.
. Removed "CN_match" and "SNI_server_name" SSL context options. Use automatic
detection or the "peer_name" option instead. (Nikita)
2015-01-23 14:05:28 +08:00
2014-11-29 21:51:18 +08:00
- pcntl:
. Fixed bug #60509 (pcntl_signal doesn't decrease ref-count of old handler
when setting SIG_DFL). (Julien)
2015-03-17 18:07:15 +08:00
. Added wifcontinued and wcontinued. (xilon-jul)
2015-05-13 21:43:03 +08:00
. Added rusage support to pcntl_wait() and pcntl_waitpid(). (Anton Stepanenko,
Tony)
2014-11-29 21:51:18 +08:00
2014-09-10 23:19:02 +08:00
- PCRE:
. Removed support for the /e (PREG_REPLACE_EVAL) modifier. (Nikita)
2015-02-06 22:47:16 +08:00
- PDO:
. Fixed bug #59450 (./configure fails with "Cannot find php_pdo_driver.h").
(maxime dot besson at smile dot fr)
2014-12-06 00:07:13 +08:00
- PDO_mysql:
. Fixed bug #68424 (Add new PDO mysql connection attr to control multi
statements option). (peter dot wolanin at acquia dot com)
- PDO_pgsql:
. Removed PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT attribute in favor of
ATTR_EMULATE_PREPARES). (Nikita)
2014-11-11 16:33:36 +08:00
- Reflection
2014-12-21 11:08:29 +08:00
. Fixed inheritance chain of Reflector interface. (Tjerk)
. Added ReflectionGenerator class. (Bob)
. Added reflection support for return types and type declarations. (Sara,
Matteo)
2014-11-11 16:33:36 +08:00
- Session:
. Fixed bug #67694 (Regression in session_regenerate_id()). (Tjerk)
2015-03-01 17:44:30 +08:00
. Fixed bug #68941 (mod_files.sh is a bash-script). (bugzilla at ii.nl, Yasuo)
2013-11-04 20:32:45 +08:00
2014-11-11 16:33:36 +08:00
- SOAP:
2015-03-01 17:44:30 +08:00
. Fixed bug #68361 (Segmentation fault on SoapClient::__getTypes). (Laruence)
2014-11-11 16:33:36 +08:00
2014-08-26 00:32:40 +08:00
- SPL:
. Changed ArrayIterator implementation using zend_hash_iterator_... API.
2015-04-09 20:47:34 +08:00
Allowed modification of iterated ArrayObject using the same behavior
as proposed in `Fix "foreach" behavior`. Removed "Array was modified
outside object and internal position is no longer valid" hack. (Dmitry)
2014-08-26 00:32:40 +08:00
. Implemented #67886 (SplPriorityQueue/SplHeap doesn't expose extractFlags
nor curruption state). (Julien)
2014-11-29 19:15:17 +08:00
. Fixed bug #66405 (RecursiveDirectoryIterator::CURRENT_AS_PATHNAME
breaks the RecursiveIterator). (Paul Garvin)
2014-08-26 00:32:40 +08:00
2015-01-09 23:26:10 +08:00
- Sqlite3:
. Fixed bug #68260 (SQLite3Result::fetchArray declares wrong
2015-01-09 23:26:10 +08:00
required_num_args). (Julien)
2014-11-11 16:33:36 +08:00
- Standard:
. Fixed bug #69723 (Passing parameters by reference and array_column).
(Laruence)
2015-05-12 19:29:23 +08:00
. Fixed bug #69523 (Cookie name cannot be empty). (Christoph M. Becker)
. Fixed bug #69325 (php_copy_file_ex does not pass the argument).
(imbolk at gmail dot com)
. Fixed bug #69299 (Regression in array_filter's $flag argument in PHP 7).
(Laruence)
2014-11-11 16:33:36 +08:00
. Removed call_user_method() and call_user_method_array() functions. (Kalle)
. Fixed user session handlers (See rfc:session.user.return-value). (Sara)
2014-11-11 16:33:36 +08:00
. Added intdiv() function. (Andrea)
. Improved precision of log() function for base 2 and 10. (Marc Bennewitz)
. Remove string category support in setlocale(). (Nikita)
. Remove set_magic_quotes_runtime() and its alias magic_quotes_runtime().
(Nikita)
. Fixed bug #65272 (flock() out parameter not set correctly in windows).
2014-08-27 16:47:44 +08:00
(Daniel Lowrey)
. Added preg_replace_callback_array function. (Wei Dai)
. Deprecated salt option to password_hash. (Anthony)
. Fixed bug #69686 (password_verify reports back error on PHP7 will null
string). (Anthony)
. Added Windows support for getrusage(). (Kalle)
. Removed hardcoded limit on number of pipes in proc_open(). (Tony)
2014-11-11 16:33:36 +08:00
2014-12-13 00:02:20 +08:00
- Streams:
. Fixed bug #68532 (convert.base64-encode omits padding bytes).
(blaesius at krumedia dot de)
2014-09-10 23:31:37 +08:00
. Removed set_socket_blocking() in favor of its alias stream_set_blocking().
(Nikita)
2014-12-13 00:02:20 +08:00
2014-11-11 16:33:36 +08:00
- XSL:
. Fixed bug #64776 (The XSLT extension is not thread safe). (Mike)
. Removed xsl.security_prefs ini option. (Nikita)
2014-09-02 06:47:49 +08:00
2015-04-24 23:19:58 +08:00
- Zlib:
. Added deflate_init(), deflate_add(), inflate_init(), inflate_add()
functions allowing incremental/streaming compression/decompression.
(Daniel Lowrey & Bob Weinand)
2015-05-06 21:24:41 +08:00
- Zip:
. Added ZipArchive::setCompressionName and ZipArchive::setCompressionIndex
methods (Remi, Cedric Delmas)
. Update bundled libzip to 1.0.1 (Remi, Anatol)
2015-05-12 20:34:14 +08:00
. Fixed bug #67161. (ZipArchive::getStream() returns NULL for certain file)
(Christoph M. Becker)
2015-05-06 21:24:41 +08:00
<<< NOTE: Insert NEWS from last stable release here prior to actual release! >>>