===== Release Manager ===== Andrei Zmievski ===== Timetable ===== * NEWS: [[http://cvs.php.net/viewvc.cgi/php-src/NEWS?view=markup&pathrev=HEAD|6.0]] ===== To-do items ===== several items taken from here http://derickrethans.nl/files/meeting-notes.html === Migration === - figure out and document the migration path - develop a set of migration scripts when possible to ease the 5.x -> 6 transition === Unicode === This section has not been updated in a while and so its probably better to look at the [[http://cvs.php.net/viewvc.cgi/php-src/unicode-todo.txt?view=markup| todo]] and [[http://cvs.php.net/viewvc.cgi/php-src/unicode-progress.txt?view=markup| progress]] overviews in cvs, and the [[http://www.php.net/~scoates/unicode/|progress tool]]) - add unicode to PDO. [[PDOUnicode|PDO Unicode notes]] - implement caching of the last 3 opened collators - == should be the same as strcmp, and not using collation. strcoll() does. - use locale based functions where they make sense, and pick a conservative default. Examples are strtoupper/strtolower, stristr etc.. - provide an additional error mode for character set conversion failures that throw exceptions on failures. - In run-tests.php output something at the end of c's main() to capture SEGVs during php shutdown in run-tests.php, probably change run-tests.php to catch SEGV (marcus) - deprecate ext/ctype in 6.0 and move to pecl in 6.1 in preference of unicode replacement functions. Note: the unicode replacements functions need to be merged to 5.x(without actual unicode support) for forward compatibility (andrei) - JIT fetch & (de-)encode of auto-globals based on [[http://marc.info/?l=php-internals&m=117145486824260&w=2|this patch]]. Need to account for extensions wanting to access request data during RINIT. [[http://marc.info/?l=php-internals&m=116613042405124&w=2|Some]] [[http://marc.info/?l=php-internals&m=116957894007497&w=2|more]] references. **DONE** (Andrei) - cleanups - remove UG(unicode) checks/references, Unicode is always "on" **DONE** (Felipe, Steph) - Get rid of the BC crap in ext/date (derick) - Try to find a way to see how case sensitive identifiers could be gradually be implemented, but do not "fix" it for PHP6. === PECL === - ext/dba should be handled in the same way as PDO through drivers maintained in PECL. but all the handlers stay in the distribution. - ext/soap - ext/soap will be turned on by default - implement some of the security extensions to ext/soap (rob) - watch axis2 based implementation development - make use of the HTTP streams layer (dmitry) - add ext/bitset to core once CS violations are fixed (Scott) - Violations fixed, just needs to be merged. === Engine === - add foreach( $a as $k => list($a, $b)) {} syntax (andrei) - speed up @-operator and ask andi for approval (ilia, marcus) - add ability to allocate persistent zvals in PHP. === OO changes === - [[http://www.zend.com/zend/week/week248.php#Heading3 | Property overloading RFC]] aka abstract/virtual properties and get/set handlers (derick) - object casting to primitive types BC mess (derick) - add internal flag only to force calling of the parent constructor - add support for type-hinted return values. - implements the ReflectionClass cache in struct zend_class_entry*. (marcus) - class operator cleanup (static=static, non-static=non-static and no more ZEND_ACC_ALLOW_STATIC) (marcus) - Closures - $this support in closures & object scoping, see [[http://wiki.php.net/rfc/closures/object-extension|object extension proposal]] - Decide on how reflection will interact with $this / object scoping of closures and possibly object extension === Other Additions/Changes === - allow opened files to be deleted on windows [[http://www.zend.com/zend/week/week248.php#Heading7|Streams]] (wez) - APC - include APC in the core distributions (turned off by default) and switch to mmap as default shared memory storage. - ability to move autoloaded main classes in apc's class lookup preventing the overhead of doing the inheritance process all the time. (marcus) - include the protection against HTTP Response Splitting attacks (header() shouldn't accept multiple headers in one call) from hardended php - add sand boxing if we have a rock solid implementation (sara) - prepare a patch that disallows mixing different open/close tags. (jani) - look at creating a solid plan to rewrite build system and when there is a volunteer to implement it. - GIF Write support and animated GIF (pierre) - Full synchronisation with Boutell's GD (to and from php) (pierre) - Output Control - revisit existing output handlers (mike) - Rewrite parser to use lemon instead of bison (Scott, Etienne) - [[http://bugs.php.net/bug.php?id=27792 | add support for files >2GB]] once native 64bit integers are implemented (pierre,wez) - Update the php.ini files to reflect the various changes ===== Needs revisiting or clarification ===== - implement "filename_encoding" setting and return binary string when functions such as readdir() encounter a filename that can not exist in the encoding that is set - decide on moving DB extensions out of the core later. - move other extensions to PECL on a case by case basis - regexp (anthony) - make determination on the default string type (binary/unicode). Requires extensive testing of existing code to determine migration pains. ===== Under discussion ===== === Cleanups === - safe_mode/open_basedir - unbundle safe_mode_exec_dir from safe_mode and keep it (rasmus) (take a look at [[http://tony2001.phpclub.net/dev/tmp/bugs_29840_31618.diff |this patch]] too) - new ini option: open_basedir_for_include which would allow using include/require(_once) on an expanded set of directories (sara) - [[http://marc.info/?l=php-dev&m=117640641605813&w=2 |kill "<%" but keep "