summaryrefslogtreecommitdiff
path: root/UPGRADING.INTERNALS
Commit message (Collapse)AuthorAgeFilesLines
* uint/ulong removal may affect other platforms as wellChristoph M. Becker2019-12-111-2/+2
|
* Add upgrading entriesNikita Popov2019-07-221-0/+4
| | | | [ci skip]
* Fix internals upgrading logPeter Kokot2019-07-221-2/+2
|
* Update changelogsPeter Kokot2019-07-181-0/+3
|
* Update changelogPeter Kokot2019-07-181-0/+1
|
* Update changelogPeter Kokot2019-07-181-0/+1
|
* Update changelogPeter Kokot2019-07-161-1/+4
|
* Update changelogsPeter Kokot2019-07-131-2/+5
| | | | | | | - PHP-7.4 alpha, beta, RC versions already include bugs logged in the NEWS - some links to RFCs - php_error_docref0
* Throw notice on array access on illegal typeNikita Popov2019-07-101-0/+1
| | | | | | | | | | | | | | | No notice is thrown for list() accesses, because we did not come to an agreement regarding patterns like while ([$key, $value] = yield $it->next()) { ... } where silent null access may be desirable. No effort is made to suppress multiple notices in access chains likes $x[0][0][0], because the technical complexity this causes does not seem worthwhile. RFC: https://wiki.php.net/rfc/notice-for-non-valid-array-container
* Catch up with recent changes [ci skip]Peter Kokot2019-07-081-2/+13
| | | | | | - RFC about password_hash portability improvements added - build system minor updates noted - typos
* Replace ZEND_ASSIGN_ADD (and others) by ZEND_ASSIGN_OP, ZEND_ASSIGN_DIM_OP, ↵Dmitry Stogov2019-07-051-0/+8
| | | | ZEND_ASSGIN_OBJ_OP and ZEND_ASSIGN_STATIC_PROP_OP
* Update changelogs [ci skip]Peter Kokot2019-07-011-15/+35
|
* Update changelogs [ci skip]Peter Kokot2019-06-281-2/+3
|
* Catch up with some recent changes [ci skip]Peter Kokot2019-06-281-0/+10
| | | | | | - Mention mysqli::stat() - Mention removal of HAVE_* for always defined extensions - Mention removed symbols defined during the build
* Document removal of uint and ulong typedefsChristoph M. Becker2019-06-191-0/+4
|
* Allow exceptions in __toString()Nikita Popov2019-06-051-0/+10
| | | | | | | | | | RFC: https://wiki.php.net/rfc/tostring_exceptions And convert some object to string conversion related recoverable fatal errors into Error exceptions. Improve exception safety of internal code performing string conversions.
* PHP 7.4 is built with Visual Studio 2019 on WindowsChristoph M. Becker2019-06-041-0/+2
|
* Use PKG_CHECK_MODULES to detect valgrind, and share build config with pcreHugh McMaster2019-05-251-0/+2
|
* 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.