summaryrefslogtreecommitdiff
path: root/UPGRADING.INTERNALS
Commit message (Collapse)AuthorAgeFilesLines
* Update changelogsPeter Kokot2019-04-201-8/+9
|
* Remove PHP_READDIR_R_TYPEPeter Kokot2019-04-131-1/+1
| | | | | | | The PHP_READDIR_R_TYPE m4 macro has been removed via 2b28f7189144a21e753dbc09efadd571121a82b9. HAVE_POSIX_READDIR_R in windows header file is also not needed anymore.
* [ci skip] Mention PHP_PROG_BISON and PHP_PROG_RE2CPeter Kokot2019-03-301-2/+6
|
* tsrm environment lockJoe Watkins2019-03-291-1/+15
|
* Sync the changes to ext/filter with 7.4, now that it works.Kalle Sommer Nielsen2019-03-201-1/+4
| | | | | - Removed --with-pcre-dir - The filter extension can now be built as shared on Unix with ./configure
* [ci skip] Update changelogPeter Kokot2019-03-181-1/+1
|
* [ci skip] Update changelogPeter Kokot2019-03-161-0/+1
|
* [ci skip] Mention removed m4 macrosPeter Kokot2019-03-131-2/+4
|
* add --enable-rtld-now in upgrade infoRemi Collet2019-03-121-0/+2
|
* While the compiler does not have the FBC set for zend_get_call_op, optimizer ↵Joe Watkins2019-02-211-0/+6
| | | | | | | | | | does, and so incorrectly results in ignoring these flags. If someone has a better patch, please merge it ASAP, this appears to be correct as I and Nikita originally thought. Revert "Revert "zend_get_call_op ignoring compiler flags zend_get_call_op will ignore ZEND_COMPILE_IGNORE_USER_FUNCTIONS and ZEND_COMPILE_IGNORE_USER_FUNCTIONS, breaking the intention of these flags"" This reverts commit 0bbbd0f9e7449a2f204f959d06e5266175a86be9.
* Revert "zend_get_call_op ignoring compiler flags zend_get_call_op will ↵Joe Watkins2019-02-211-6/+0
| | | | | | ignore ZEND_COMPILE_IGNORE_USER_FUNCTIONS and ZEND_COMPILE_IGNORE_USER_FUNCTIONS, breaking the intention of these flags" This reverts commit 46807ec5da23d399873d9a1fcf4b73b7a783d23b.
* zend_get_call_op ignoring compiler flags zend_get_call_op will ignore ↵Joe Watkins2019-02-211-0/+6
| | | | ZEND_COMPILE_IGNORE_USER_FUNCTIONS and ZEND_COMPILE_IGNORE_USER_FUNCTIONS, breaking the intention of these flags
* [ci skip] Update changelogPeter Kokot2019-02-201-0/+2
|
* begin handlers are currently invoked without access to the arguments being ↵Joe Watkins2019-02-191-0/+4
| | | | sent, this moves the opcode after SEND
* ZEND_COMPILE_EXTENDED_INFO split Currently a tool may not decide between ↵Joe Watkins2019-02-191-0/+6
| | | | debugging and profiling behaviour: We split ZEND_COMPILE_EXTENDED_INFO into ZEND_COMPILE_EXTENDED_FCALL and ZEND_COMPILE_EXTENDED_STMT We define ZEND_COMPILE_EXTENDED_INFO as ZEND_COMPILE_EXTENDED_STMT|ZEND_COMPILE_EXTENDED_FCALL
* Fixed bug #77613 (method visibility change) (reverted ZEND_ACC_CTOR and ↵Dmitry Stogov2019-02-141-3/+0
| | | | ZEND_ACC_DTOR flags removal)
* [ci skip] Move OPcache configure option changesPeter Kokot2019-02-081-2/+0
|
* [ci skip] Update changelogPeter Kokot2019-02-071-0/+2
|
* Implement typed propertiesNikita Popov2019-01-111-0/+13
| | | | | | | | | | RFC: https://wiki.php.net/rfc/typed_properties_v2 This is a squash of PR #3734, which is a squash of PR #3313. Co-authored-by: Bob Weinand <bobwei9@hotmail.com> Co-authored-by: Joe Watkins <krakjoe@php.net> Co-authored-by: Dmitry Stogov <dmitry@zend.com>
* Revert HASH_FLAG_INITIALIZED into HASH_FLAG_UNINITIALIZED.Dmitry Stogov2018-12-281-0/+5
|
* Added note about changes in class declaration opcodesDmitry Stogov2018-12-241-0/+7
|
* Removed add_get_assoc_*() and add_get_index_*() API functionsDmitry Stogov2018-12-191-0/+4
|
* Allow empty $escape to eschew escaping CSVChristoph M. Becker2018-12-151-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Albeit CSV is still a widespread data exchange format, it has never been officially standardized. There exists, however, the “informational” RFC 4180[1] which has no notion of escape characters, but rather defines `escaped` as strings enclosed in double-quotes where contained double-quotes have to be doubled. While this concept is supported by PHP's implementation (`$enclosure`), the `$escape` sometimes interferes, so that `fgetcsv()` is unable to correctly parse externally generated CSV, and `fputcsv()` is sometimes generating non-compliant CSV. Since PHP's `$escape` concept is availble for many years, we cannot drop it for BC reasons (even though many consider it as bug). Instead we allow to pass an empty string as `$escape` parameter to the respective functions, which results in ignoring/omitting any escaping, and as such is more inline with RFC 4180. It is noteworthy that this is almost no userland BC break, since formerly most functions did not accept an empty string, and failed in this case. The only exception was `str_getcsv()` which did accept an empty string, and used a backslash as escape character then (which appears to be unintended behavior, anyway). The changed functions are `fputcsv()`, `fgetcsv()` and `str_getcsv()`, and also the `::setCsvControl()`, `::getCsvControl()`, `::fputcsv()`, and `::fgetcsv()` methods of `SplFileObject`. The implementation also changes the type of the escape parameter of the PHP_APIs `php_fgetcsv()` and `php_fputcsv()` from `char` to `int`, where `PHP_CSV_NO_ESCAPE` means to ignore/omit escaping. The parameter accepts the same values as `isalpha()` and friends, i.e. “the value of which shall be representable as an `unsigned char` or shall equal the value of the macro `EOF`. If the argument has any other value, the behavior is undefined.” This is a subtle BC break, since the character `chr(128)` has the value `-1` if `char` is signed, and so likely would be confused with `EOF` when converted to `int`. We consider this BC break to be acceptable, since it's rather unlikely that anybody uses `chr(128)` as escape character, and it easily can be fixed by casting all `escape` arguments to `unsigned char`. This patch implements the feature requests 38301[2] and 51496[3]. [1] <https://tools.ietf.org/html/rfc4180> [2] <https://bugs.php.net/bug.php?id=38301> [3] <https://bugs.php.net/bug.php?id=51496>
* Fix a typo in UPGRADING.INTERNALSTyson Andre2018-10-171-1/+1
|
* Immutable clases and op_arrays.Dmitry Stogov2018-10-171-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Squashed commit of the following: commit cd0c36c3f943849e5b97a8dbe2dd029fbeab3df9 Merge: 4740dabb84 ad6738e886 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 14:43:38 2018 +0300 Merge branch 'master' into immutable * master: Remove the "auto" encoding Fixed bug #77025 Add vtbls for EUC-TW encoding commit 4740dabb843c6d4f7f866b4a2456073c9eaf4c77 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 14:12:28 2018 +0300 Reverted back ce->iterator_funcs_ptr. Initialize ce->iterator_funcs_ptr fields in immutable classes. commit ad7a78b253be970db70c2251e66f9297d8e7f829 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:46:30 2018 +0300 Added comment commit 0276ea51875bab37be01a4dc5e5a047c5698c571 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:42:43 2018 +0300 Added type cast commit c63fc5d5f19c58498108d1698055b2b442227eb3 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:36:51 2018 +0300 Moved static class members initialization into the proper place. commit b945548e9306b1826c881918858b5e5aa3eb3002 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:21:03 2018 +0300 Removed redundand assertion commit d5a41088401814c829847db212488f8aae39bcd2 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:19:13 2018 +0300 Removed duplicate code commit 8dadca8864e66de70a24bdf1181bcf7dd8fb27d7 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:05:43 2018 +0300 Hide offset encoding magic in ZEND_MAP_PTR_IS_OFFSET(), ZEND_MAP_PTR_OFFSET2PTR() and ZEND_MAP_PTR_PTR2OFFSET() macros. commit 9ef07c88bd76801e2d4fbfeab3ebfd6e6a67ac5f Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 10:48:29 2018 +0300 typo commit a06f0f3d3aba53e766046221ee44fb9720389ecc Merge: 94099586ec 3412345ffe Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 10:47:07 2018 +0300 Merge branch 'master' into immutable * master: Remove unused variable makefile_am_files Classify object handlers are required/optional Add support for getting SKIP_TAGSTART and SKIP_WHITE options Remove some obsolete config_vars.mk occurrences Remove bsd_converted from .gitignore Remove configuration parser and scanners ignores Remove obsolete buildconf.stamp from .gitignore [ci skip] Add magicdata.patch exception to .gitignore Remove outdated ext/spl/examples items from .gitignore Remove unused test.inc in ext/iconv/tests commit 94099586ec599117581ca01c15b1f6c5f749e23a Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 15 23:34:01 2018 +0300 Immutable clases and op_arrays
* Classify object handlers are required/optionalNikita Popov2018-10-161-0/+23
|
* Trim trailing whitespace in source code filesPeter Kokot2018-10-131-4/+4
|
* Add UPGRADING notesNikita Popov2018-10-101-0/+48
| | | | [ci skip]
* Implemented RFC "Always available hash extension"Kalle Sommer Nielsen2018-10-031-4/+14
|
* Rename ZEND_ACC_NO_RT_ARENA into ZEND_ACC_HEAP_RT_CACHE and use it for ↵Dmitry Stogov2018-10-021-0/+2
| | | | pseudo-main op_arrays.
* [ci skip] Update UPGRADING.INTERNALSAnatol Belski2018-09-221-0/+4
|
* Replace ZEND_ACC_ANON_BOUND, ZEND_ACC_UNRESOLVED_PARENT and ↵Dmitry Stogov2018-09-181-0/+3
| | | | ZEND_ACC_UNRESOLVED_INTERFACES with single ZEND_ACC_LINKED.
* Make ext/xml API privateNikita Popov2018-09-161-0/+5
| | | | Also remove dead functions
* Remove zend_check_private()Dmitry Stogov2018-09-131-0/+3
|
* Renumber ZEND_ACC_... flagsDmitry Stogov2018-09-111-2/+3
|
* Get rid of ZEND_ACC_IMPLICIT_PUBLICDmitry Stogov2018-09-111-0/+1
|
* Squashed commit of the following:Dmitry Stogov2018-09-111-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 2d3cac9e005d6bef9aa73ab57cc674aa53125954 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Sep 11 11:54:47 2018 +0300 Fixed static property access commit 31786ee27282f319f3ef2a07635b1f325cbd67c6 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Sep 11 11:05:29 2018 +0300 Avoid duplicate checks commit 5ae502b979ea33d058d01a9421eec5afd0084e8d Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Sep 11 10:39:17 2018 +0300 Optimization commit 82c17f0e8af02c9cf7d1bbdae4e3158330148203 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Sep 11 09:26:50 2018 +0300 Removed unused zend_duplicate_property_info() commit ba53d1d0dd91d5530328a11cac93ff9e75c462b5 Merge: eacc11b8fd c4b14370cf Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Sep 11 09:24:13 2018 +0300 Merge branch 'master' into shadow * master: 7.0.33 next Sync NEWS [ci skip] add NEWS for 76582 Enforce ordering of property compare in object comparisons Fixed wrong assertion Skip test on unsuitable env commit eacc11b8fdeb002ee6a149defd8b5a8c3412896a Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Sep 10 13:12:39 2018 +0300 Fixed failure of ext/spl/tests/array_017.phpt commit 62d1871430a1b81c84b790460afff0682648689a Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Sep 10 11:55:07 2018 +0300 Fixed issues commit 1d37e3a40e4d07c4b933ed6f9d2e649dd01180f0 Merge: d6c3f098b6 1e550e6f7e Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Sep 10 10:21:20 2018 +0300 Merge branch 'master' into shadow * master: Update NEWS Fix for bug #76582 Fix ssl stream reneg limit test to print only after first renegotiation Make a copy unconditionally Fix memory leak in pcre cache Remove not needed checking for <errno.h> Remove HAVE_ASSERT_H Add test for bug #76850 Fixed bug #76850 Exit code mangled by set locale/preg_match Remove empty PHP tags from test Fix #75273: php_zlib_inflate_filter() may not update bytes_consumed Fix PCRE2 exclusion and remove dead libs in Makefile.gcov Report mem leaks to stderr if no Win debugger is present Use combined assignment contanation operator Fixed bug #76796 Support fixed address mmap without replacement commit d6c3f098b6015e76d042691de0af2e1426c66829 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Sep 7 13:56:30 2018 +0300 Get rid of ZEND_ACC_SHADOW
* Fix typos in UPGRADING.INTERNALSFabien Villepinte2018-09-051-2/+2
|
* Get rid of ZEND_ACC_CTOR, ZEND_ACC_DTOR and ZEND_ACC_IMPLEMENTED_ABSTRACTDmitry Stogov2018-09-051-0/+8
|
* Remove AC_FUNC_UTIME_NULLPeter Kokot2018-09-041-2/+3
| | | | | | | | | | | | | | | Autoconf 2.59d (released in 2006) [1] started promoting several macros as not relevant for newer systems, including the AC_FUNC_UTIME_NULL. This macro checks if `utime(file, NULL)` sets file's timestamp to the current time and defines the `HAVE_UTIME_NULL` symbol. This check was relevant on very old systems (for example, 4.3BSD released in 1986) and today can be omitted for systems with utime since it should be well supported by now. [2] Refs: [1] http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS [2] https://www.gnu.org/software/autoconf/manual/autoconf-2.69/autoconf.html
* Remove AC_FUNC_VPRINTFPeter Kokot2018-08-291-0/+2
| | | | | | | | | | | | | | | | Autoconf 2.59d (released in 2006) 1 started promoting several macros as not relevant for newer systems anymore, including the AC_FUNC_VPRINTF. This macro checks for presence of the vprint function otherwise checks for presence of the _doprnt function. This check was relevant on very old systems and today can be omitted since it should be well supported by now. [2] Also PHP doesn't use the HAVE_VPRINTF or HAVE_DOPRNT symbols. Refs: [1] http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS [2] https://www.gnu.org/software/autoconf/manual/autoconf-2.69/autoconf.html
* Implement #64517: Add AC_ARG_PROGRAM macroPeter Kokot2018-08-291-0/+2
| | | | | | | | | | | | | | | | The AC_ARG_PROGRAM Autoconf macro provides program name transformations when installing. This patch implements #64517 and prepares the implementation for the request #60518. In ./configure --help it additionally outputs --program-prefix=PREFIX, --program-suffix=SUFFIX and the upcoming --program-transform-name=PROGRAM option. Macro AC_ARG_PROGRAM is available since Autoconf 2.0 and needs to be called after the AC_CANONICAL_TARGET macro. Refs: - https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Transforming-Names.html
* Change zend_lookup_class_ex() and zend_fetch_class_by_name() prototypes to ↵Dmitry Stogov2018-08-221-0/+5
| | | | accept optional lower-case class name as zend_string*, instead of zval*.
* Create and expose php_sys_symlink() and php_sys_link()Christoph M. Becker2018-08-021-0/+5
| | | | | | | These macros are supposed to behave like POSIX's symlink() and link(), respectively, on POSIX compliant systems and on Windows. Future scope: merge link.c and link_win32.c
* Prepare UPGRADING(.INTERNALS) for PHP 7.4Christoph M. Becker2018-07-311-177/+1
| | | | | We also add this as task to README.RELEASE_PROCESS, so that it's not overlooked next time.
* Remove TSRM_CHECK_GCC_ARG and LIBZEND_CPLUSPLUS_CHECKSPeter Kokot2018-07-311-1/+2
| | | | | This removes two old Autoconf macro definitions since they are not used anymore.
* [ci skip] Document RETSIGTYPEPeter Kokot2018-07-291-0/+4
|
* [ci skip] Note HAVE_ST_BLKSIZE and HAVE_ST_RDEVPeter Kokot2018-07-291-0/+4
|
* [ci skip] Note removal of PHP_PROG_LEXPeter Kokot2018-07-291-0/+1
|
* Pack zend_constant.flags and zend_constant.module_number into reserved space ↵Dmitry Stogov2018-07-261-0/+6
| | | | inside zend_constant.value.