nikic

Nikita Popov

Positivity over time
Created RFCs
Name # of votes # of comments Approval % Version Target Last update Status
Named Parameters 0 45 0% 09.09.2013 2013-09-06 Inactive
Parser Extension API 0 0 0% 2015-02-17 Inactive
Remove deprecated functionality in PHP 7 500 71 91.4% 2014-09-11 Implemented
Reclassify E_STRICT notices 32 15 87.5% 2015-02-22 Implemented
Abstract syntax tree 47 29 100% 2014-07-28 Implemented
Uniform Variable Syntax 31 36 96.8% 2014-05-31 Implemented
Remove alternative PHP tags 34 3 76.5% 2014-09-09 Implemented
Remove hex support in numeric strings 29 10 100% 2014-08-19 Implemented
Exceptions in the engine (for PHP 7) 120 0 82% 2014-09-30 Implemented
Syntax for variadic functions 37 26 97.3% 2013-08-27 Implemented
Argument Unpacking 34 34 94.1% 2013-08-30 Implemented
Internal operator overloading and GMP improvements 17 32 88.2% 2013-05-12 Implemented
Generators 25 92 96% 2012-06-05 Implemented
Allow arbitrary expression arguments to empty() and isset() 35 0 83.3% 2012-04-12 Implemented
Remove preg_replace /e modifier 0 0 0% 2012-02-04 Implemented
Allow non-scalar keys in ''foreach'' 21 20 100% 2013-01-28 Implemented
Exceptions in the engine 46 187 54.3% 2013-10-23 Declined
Alternative typehinting syntax for accessors 15 58 20% 2013-01-04 Declined
Automatic Property Initialization 18 40 38.9% 2013-09-27 Declined
Moving to an AST-based parsing/compilation process (obsolete) 0 0 0% 2012-09-04 Declined
Deprecations for PHP 7.1 0 36 0% 3 2015-12-28 Under discussion
Voted RFCs
RFC Question Voted Approval % Correct?
Error message formatting for development Do you want to revert back to html_errors=on by default Yes 100% Yes
Allow arbitrary expression arguments to empty() and isset() Should empty() and isset() accept arbitrary arguments? Yes 85.7% Yes
Allow arbitrary expression arguments to empty() and isset() Which of the language constructs should accept arbitrary arguments? Only empty() 81% Yes
array_part Should the current array_part() implementation be merged No 10.5% Yes
Adding hash_pbkdf2 Function rfc/hash_pbkdf2 Yes 100% Yes
Supports finally keyword Should the implementation be merged into trunk? No 83.3% No
foreach_variable supporting T_LIST Should this RFC be merged into trunk? Yes 73.3% Yes
foreach_variable supporting T_LIST Should this RFC(with supporting of silent token) be merged into trunk? No 16.7% Yes
Generators Should generators be merged into master? Yes 96% Yes
Adding simple password hashing API Should the simplified password hashing API indicated here be included in master? Yes 100% Yes
ext/mysql deprecation Should ext/mysql generate E_DEPRECATED errors in PHP 5.5? No 67.6% No
array_column Accept array_column() for inclusion in PHP? No 86.4% No
Define PHP 5.3 end of life Which EOL period should we choose? Two years with security fixes only, announce with 5.5 final release 100% No
Alternative typehinting syntax for accessors Should the proposed typehinting syntax be used instead of the current one? Yes 20% No
Remove calls with incompatible Context Deprecate calls with incompatible context in 5.5 and disallow them in the version after (be it 5.6 or 6.0) Yes 100% Yes
Integrating Zend Optimizer+ into the PHP distribution rfc/optimizerplus Integrate into 5.5 only if it's not delayed, otherwise - 5.6 100% No
Allow non-scalar keys in ''foreach'' Remove type-restrictions on foreach keys? Yes 100% Yes
Trailing comma function args Should the current optional trailing comma implementation be merged No 42.9% Yes
instance counter Should this RFC be implemented? No 6.7% Yes
Internal operator overloading and GMP improvements Should these changes be applied for PHP 5.6? GMP changes 88.2% Yes
Syntax for variadic functions Should the proposed variadic-function syntax be added in PHP 5.6 (master)? Yes 97.3% Yes
Change crypt() behavior w/o salt Change crypt behavior when salt parameter is omitted. Generate E_NOTICE error 85.7% Yes
Exceptions in the engine Implement in PHP 5.6? Yes 54.3% Yes
phpdbg Distribute phpdbg with PHP5.6+ Yes 100% Yes
Power Operator Should PHP get a power operator in 5.6? No 71.9% No
Argument Unpacking Implement argument unpacking in PHP 5.6? Yes 94.1% Yes
TLS Peer Verification Should PHP verify client peers by default in PHP 5.6? Yes 100% Yes
64 bit platform improvements for string length and integer in zval Merge this RFC into PHP-5.6 having regard to Vote 2 and 3 No 42.9% Yes
64 bit platform improvements for string length and integer in zval Keep zpp specs l, L, s, p as aliases to i, I, S, P Yes 46.9% No
Timing attack safe string comparison function Timing attack safe string comparison function Yes 95.7% Yes
Alternative implementation of mbstring using ICU Include mbstring-ng for PHP-5.6 as EXPERIMENTAL module No 9.1% Yes
__debugInfo() Name ___debugInfo() __debugInfo() 100% Yes
Introduce session_start() options - read_only, unsafe_lock, lazy_write and lazy_destroy Unsafe lock option No 12.5% Yes
Improved TLS Defaults Should the proposed TLS changes be merged for 5.6? Yes 100% Yes
Multibyte Char Handling Add required mb_*() functions to fix vulnerability No 16.7% Yes
Improve HTML escape Add / escape and Make ENT_QUOTES default No 28.6% Yes
64 bit platform improvements for string length and integer in zval Merge strategy Phpng 100% Yes
64 bit platform improvements for string length and integer in zval Accept this RFC for PHP6 (or whatever next major is called) No 54.9% No
Uniform Variable Syntax Implement Uniform Variable Syntax in PHP 6? Yes 96.8% Yes
Catchable "call to a member function of a non-object" Catchable Call to a member function bar() on a non-object Yes 100% Yes
Name of Next Release of PHP Shall the name of PHP NEXT be PHP 6, or PHP 7? PHP 6 100% No
intdiv() Merge the intdiv operator patch into master? No 17.2% Yes
intdiv() If the operator vote fails to achieve a 2/3 majority, should the intdiv() function patch be merged into master? Yes 100% Yes
Move the phpng branch into master Move phpng to master? Yes 95.9% Yes
Abstract syntax tree Use AST implementation in PHP 7? Yes 100% Yes
Make defining multiple default cases in a switch a syntax error switch.default.multiple Yes 100% Yes
Integer Semantics Accept the integer semantics RFC and merge patch into master? Yes 66.7% Yes
Remove alternative PHP tags Remove alternative PHP tags in PHP 7? Yes 76.5% Yes
Null Coalesce Operator Approve Null Coalesce Operator RFC and merge patch into master? Yes 91.2% Yes
Fix list() behavior inconsistency Fix list() behavior inconsistency? Enable string handling in all cases 100% No
loop + or control structure Loop + or control structure in PHP 7 No 26.7% Yes
Filtered unserialize() Approve filtered unserialize() proposal? No 73.9% No
PHP 7.0 timeline php7timeline Yes 94.4% Yes
ZPP Failure on Overflow Accept the ZPP Failure on Overflow RFC and merge into master? Yes 100% Yes
Native TLS Native TLS Yes 100% Yes
Objects as hash keys Should we support using objects as keys as described in this proposal? No 20% Yes
Unicode Codepoint Escape Syntax Accept the Unicode Codepoint Escape Syntax RFC and merge into master? Yes 92% Yes
PHP 5.7 Accept the PHP 5.7 RFC? No 42.4% Yes
Remove deprecated functionality in PHP 7 Remove assignment of new by reference? Yes 83.8% Yes
Remove deprecated functionality in PHP 7 Unbundle the ext/ereg extension? Yes 92.5% Yes
Remove deprecated functionality in PHP 7 Remove xsl.security_prefs ini directive? Yes 100% Yes
Remove deprecated functionality in PHP 7 Remove listed deprecated functions? Yes 100% Yes
Remove deprecated functionality in PHP 7 Remove dl() in fpm-fcgi SAPI? Yes 100% Yes
Remove deprecated functionality in PHP 7 Remove (set_)magic_quotes_runtime() functions? Yes 100% Yes
Remove deprecated functionality in PHP 7 Remove support for calls from incompatible context? Yes 100% Yes
Remove deprecated functionality in PHP 7 Remove CN_match and SNI_server_name stream context options? Yes 80% Yes
Remove deprecated functionality in PHP 7 Remove PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT driver option? Yes 80% Yes
Remove deprecated functionality in PHP 7 Remove preg_replace() eval modifier? Yes 97.1% Yes
Remove deprecated functionality in PHP 7 Disallow enabling unsafe curl uploads? Yes 76% Yes
Remove deprecated functionality in PHP 7 Disallow string category names in setlocale()? Yes 96.4% Yes
Remove deprecated functionality in PHP 7 Remove $is_dst parameter of the mktime() and gmmktime() functions? Yes 100% Yes
Remove deprecated functionality in PHP 7 Remove support for #-style comments in ini files? Yes 87.1% Yes
Remove deprecated functionality in PHP 7 Unbundle the ext/mysql extension? Yes 70% Yes
Remove hex support in numeric strings Remove hex support in numeric strings? Yes 100% Yes
Return Type Declarations Typed Returns Yes 94% Yes
Default constructors Should PHP 7 have default constructor semantics as described in this proposal? No 57.4% No
Replacing current json extension with jsond Should jsond based extension replace the current json extension in PHP 7? Yes 100% Yes
Combined Comparison (Spaceship) Operator Accept the Combined Comparison (Spaceship) Operator RFC and merge patch into master? No 79.6% No
Removal of dead or not yet PHP7 ported SAPIs and extensions Remove ext/mcrypt from the core No 45.5% Yes
Fix "foreach" behavior Fix foreach behavoir? Yes 97.1% Yes
Fix "foreach" behavior Stop using internal array/object pointer in foreach by reference? Yes 97.1% Yes
Scalar Type Hints Type aliases Do not reserve 77% No
Scalar Type Hints Accept the Scalar Type Hints RFC and merge patch into master? Yes 66.3% Yes
Removal of dead or not yet PHP7 ported SAPIs and extensions Remove ext/imap from the core Yes 42.4% No
Skipping optional parameters for functions Should PHP 7 support parameter skipping as described in this RFC? No 38.6% Yes
Group Use Declarations Should Grouped Use Declarations be added to PHP 7 Yes - with a trailing "\" 67.2% Yes
Allow error_handler callback parameters to be passed by reference Allow error_handler callback parameters to be passed by reference No, Allow none of the parameter be a reference parameter 20% Yes
Remove the date.timezone warning Should the warning about a not set date.timezone ini setting be removed in master? Yes 74.4% Yes
Expectations Merge changes into master? Yes, without custom exceptions 97.7% No
Remove PHP 4 Constructors remove_php4_constructors Yes 92.6% Yes
Exceptions in the engine (for PHP 7) Allow exceptions in the engine and conversion of existing fatals? Yes 96.8% Yes
Exceptions in the engine (for PHP 7) Introduce and use BaseException? No 67.2% No
Introduce script only include/require Introduce script inclusion protection? No 14.3% Yes
Scalar Type Declarations Accept Scalar Type Declarations With Optional Strict Mode? Yes 69.2% Yes
Improve array to string conversion array-to-string No 77.3% No
Context Sensitive Lexer Should PHP7 have a context sensitive lexer? No 75% No
Generator Return Expressions Allow Generator return expressions in PHP7 Yes 100% Yes
Coercive Types for Function Arguments coercive_sth No 38% Yes
Reclassify E_STRICT notices Reclassify E_STRICT notices as described in this RFC? Yes 87.5% Yes
Reserve Even More Types in PHP 7 Reserved Type: resource No 69% No
Reserve Even More Types in PHP 7 Reserved Type: scalar No 64.2% No
Reserve Even More Types in PHP 7 Reserved Type: object No 81.8% No
Reserve More Types in PHP 7 reserve_more_types_in_php_7 Yes 95.2% Yes
Reserve Even More Types in PHP 7 Reserved Type: numeric Yes 78.6% Yes
Constructor behaviour of internal classes Constructor behaviour of internal classes Yes 97% Yes
Reserve Even More Types in PHP 7 Reserved Type: mixed Yes 73.2% Yes
Easy User-land CSPRNG Reliable user-land CSPRNG Yes 100% Yes
Generator Delegation Allow Generator delegation in PHP7 Yes 100% Yes
Throwable Interface Throwable Interface Yes 100% Yes
Random Functions Throwing Exceptions in PHP 7 Should this RFC be accepted for 7.0 Yes 93.3% Yes
Void Return Type Accept the Void Return Type RFC for PHP 7.1 and merge patch into master? Yes 84.1% Yes
PHP 5 Support Timeline Extend the support timeline of PHP 5? Yes 0% Yes
PHP 5 Support Timeline Extend the support timeline to: 1 year Active Support 2 years Security Support 0% Yes
Warn about invalid strings in arithmetic Warn about invalid strings in arithmetic Yes 0% Yes
Deprecate mb_ereg_replace eval option Deprecate mb_ereg_replace eval option Yes 0% Yes
Generalize support of negative string offsets Generalize support of negative string offsets Yes 0% Yes
Deprecate (then Remove) Mcrypt Deprecate then Remove Mcrypt from the PHP Core? Yes 0% Yes