Take the State of PHP 2026 Survey →
Latest
Top
RFCs
Log in
with GitHub
to track unread emails
PHP RFCs
View as Markdown
The RFCs of
wiki.php.net/rfc
, synchronized every hour, with their discussions on the mailing list.
In voting
(2)
▴
0
▾
0
NS
End PEAR Project Endorsement
Yes: 31 · No: 0 · Abstain: 0
· 2 threads ·
1 week ago
▴
0
▾
0
WD
IntlRelativeDateTimeFormatter
Yes: 15 · No: 0 · Abstain: 0
· 3 threads ·
5 days ago
Under discussion
(61)
▴
0
▾
0
DJ
CSV Extension (ext/csv)
1 thread ·
2 days ago
▴
0
▾
0
MN
Single binary for CLI and FPM
3 threads ·
2 days ago
▴
0
▾
0
MA
Add Filter\Filter and Filter\Flag Enums
1 thread ·
4 days ago
▴
0
▾
0
SL
Add PASSWORD_BCRYPT_SHA256 to password_hash
1 thread ·
3 days ago
▴
0
▾
0
JZ
IO Hooks and Operations
1 thread ·
1 week ago
▴
0
▾
0
JZ
Polling API Additions
1 thread ·
2 days ago
▴
0
▾
0
WD
Short Array Variable Shorthand
1 thread ·
1 week ago
▴
0
▾
0
PB
Io\Terminal
5 threads ·
4 days ago
▴
0
▾
0
TD
Time\Instant and Time\Clock
1 thread ·
4 days ago
▴
0
▾
0
OA
PREG_THROW_ON_ERROR
3 threads ·
2 weeks ago
Show 51 more
Loading…
Draft
(24)
▴
0
▾
0
CB
PDO binary parameter support
▴
0
▾
0
SM
Add array_str_contains() function to standard library
2 threads ·
1 month ago
▴
0
▾
0
DS
Deprecations for PHP 8.7
1 thread ·
3 days ago
▴
0
▾
0
SM
Array Search Range
2 threads ·
1 month ago
▴
0
▾
0
MB
Native Immutable Collections — "vec", "set" and "tuple"
▴
0
▾
0
HS
Direction Aware Property Resolution
1 thread ·
2 months ago
▴
0
▾
0
HS
Extension Methods
▴
0
▾
0
HS
Scalar Extension Methods
▴
0
▾
0
HS
Extension Method Visibility
▴
0
▾
0
HS
Extension Method Autoloading
Show 14 more
Loading…
Accepted — Process and Policy
(35)
JK
Separation of Third-Party Extension Documentation
2 threads ·
3 months ago
TD
Release Manager Selection
3 threads ·
4 months ago
GB
Exempt input type and value validation from BC Break policy
3 threads ·
2 months ago
BR
PHP License Update
2 threads ·
6 months ago
JZ
Policy release process update
2 threads ·
9 months ago
TD
Clarify discussion and voting period rules
2 threads ·
10 months ago
JT
Recommend PIE and deprecate PECL
2 threads ·
1 year ago
TD
Abstain voting option for RFCs
2 threads ·
1 year ago
TD
Throwable Hierarchy Policy for Extensions
4 threads ·
1 year ago
DR
Consolidate Coding Standards Policy Document
2 threads ·
1 year ago
Show 25 more
Loading…
Accepted — Pending Implementation / Landing
(16)
EN
Minimum supported versions for PHP 8.6
4 threads ·
2 months ago
MK
Followup Improvements for ext/uri
3 threads ·
4 days ago
KC
APXS LoadModule
4 threads ·
1 year ago
DC
DateTime and Daylight Saving Time Transitions
5 threads ·
1 year ago
ND
Deprecations for PHP 8.4
6 threads ·
1 year ago
MR
Undefined Property Error Promotion
2 threads ·
4 years ago
MR
Undefined variables error promotion
4 threads ·
4 years ago
IT
Removal of ${} string interpolation
3 threads ·
4 years ago
MK
Resource to object conversion
4 threads ·
2 years ago
KT
Disable autovivification on false
2 threads ·
5 years ago
Show 6 more
Loading…
Implemented — PHP 8.6
(26)
AD
Add pack()/unpack() endianness modifiers for floating-point numbers
2 threads ·
6 months ago
AD
Add pack()/unpack() support for signed integers with specific endianness
2 threads ·
8 months ago
JZ
Stream Error Handling Improvements
2 threads ·
4 months ago
KA
Allow Object Property Writes on Objects Referenced by Constants
3 threads ·
2 months ago
SL
Limit maximum number of filter chains
2 threads ·
3 months ago
TD
Deprecate returning values from __construct() and __destruct()
4 threads ·
3 months ago
WD
Add Locale::getDisplayKeyword and Locale::getDisplayKeywordValue functions
2 threads ·
3 months ago
JZ
Polling API
4 threads ·
2 months ago
DS
Debugable Enums
3 threads ·
5 months ago
JS
Secure Session Configuration Defaults
2 threads ·
4 months ago
Show 16 more
Loading…
Implemented — PHP 8.5
(21)
NG
Soft-Deprecate __sleep() and __wakeup()
3 threads ·
1 year ago
GB
Warnings for PHP 8.5
2 threads ·
1 year ago
GB
Deprecations for PHP 8.5
7 threads ·
3 days ago
YH
Add locale for case insensitive grapheme functions
4 threads ·
1 year ago
DS
FILTER_THROW_ON_FAILURE
2 threads ·
1 year ago
TD
Make OPcache a non-optional part of PHP
2 threads ·
1 year ago
VD
Clone with v2
3 threads ·
1 year ago
DS
Final Property Promotion
3 threads ·
1 year ago
LG
Pipe operator
3 threads ·
1 year ago
DS
Attributes on Constants
2 threads ·
1 year ago
Show 11 more
Loading…
Implemented — PHP 8.4
(33)
ST
Add bcdivmod to BCMath
3 threads ·
2 years ago
ST
Fix up BCMath Number Class / Change GMP bool cast behavior
3 threads ·
2 years ago
ST
Support object type in BCMath
5 threads ·
1 year ago
IT
Asymmetric visibility v2
4 threads ·
2 years ago
IT
Property hook improvements
2 threads ·
2 years ago
ST
Correctly name the rounding mode and make it an Enum
4 threads ·
2 years ago
IT
Property access hooks
6 threads ·
2 years ago
VU
new MyClass()->method() without parentheses
5 threads ·
2 years ago
AB
Lazy objects
2 threads ·
2 years ago
ST
Adding bcround, bcfloor and bcceil to BCMath
5 threads ·
2 years ago
Show 23 more
Loading…
Implemented — PHP 8.3
(15)
CB
Deprecations for PHP 8.3
2 threads ·
3 years ago
IT
Arbitrary static variable initializers
3 threads ·
3 years ago
TD
Make unserialize() emit a warning for trailing data
2 threads ·
3 years ago
IT
Dynamic class constant fetch
2 threads ·
3 years ago
TD
Improve unserialize() error handling
3 threads ·
3 years ago
NG
Readonly amendments
5 threads ·
2 years ago
BS
Typed Class Constants
4 threads ·
1 month ago
GB
Deprecate remains of string evaluated code assertions
2 threads ·
3 years ago
ND
mb_str_pad
2 threads ·
3 years ago
GB
Saner array_(sum|product)()
2 threads ·
3 years ago
Show 5 more
Loading…
Implemented — PHP 8.2
(17)
S
Constants in Traits
5 threads ·
4 years ago
GK
Random Extension 5.x
9 threads ·
4 years ago
GK
Random Extension Improvement
5 threads ·
1 year ago
IT
Fetch properties of enums in const expressions
2 threads ·
4 years ago
GB
Disjunctive Normal Form Types
2 threads ·
4 years ago
GB
Add true type
2 threads ·
4 years ago
KT
MySQLi Execute Query
2 threads ·
4 years ago
MK
Readonly classes
2 threads ·
4 years ago
GB
Allow null and false as stand-alone types
2 threads ·
4 years ago
TS
Locale-independent case conversion
2 threads ·
4 years ago
Show 7 more
Loading…
Implemented — PHP 8.1
(23)
GB
Pure intersection types
2 threads ·
5 years ago
MD
Add IntlDatePatternGenerator
2 threads ·
5 years ago
GB
Deprecate implicit non-integer-compatible float to int conversions
3 threads ·
5 years ago
LG
Enumerations
7 threads ·
1 year ago
NP
Deprecate passing null to non-nullable arguments of internal functions
2 threads ·
5 years ago
NP
Array unpacking with string keys
2 threads ·
5 years ago
TA
Add array_is_list(array $array): bool
7 threads ·
5 years ago
GB
Explicit octal integer literal notation
2 threads ·
5 years ago
NP
Restrict $GLOBALS usage
2 threads ·
5 years ago
KT
Change Default mysqli Error Mode
2 threads ·
5 years ago
Show 13 more
Loading…
Implemented — PHP 8.0
(44)
DR
Shorter Attribute Syntax Change
5 threads ·
6 years ago
TA
Don't automatically unserialize Phar metadata outside getMetadata()
4 threads ·
6 years ago
NP
Reclassifying engine warnings
7 threads ·
3 years ago
TB
Shorter Attribute Syntax
5 threads ·
6 years ago
GC
Ensure correct signatures of magic methods
3 threads ·
6 years ago
NP
Named Arguments
13 threads ·
1 week ago
NP
Treat namespaced names as single token
5 threads ·
2 years ago
NP
Saner string to number comparison
5 threads ·
4 years ago
GB
Saner numeric strings
4 threads ·
4 years ago
IT
Nullsafe operator
3 threads ·
4 months ago
Show 34 more
Loading…
Implemented — PHP 7.4
(27)
KN
Deprecations for PHP 7.4
4 threads ·
7 years ago
AG
Deprecate alternate access to array elements and chars in string
4 threads ·
7 years ago
DW
E_WARNING for invalid containers
2 threads ·
9 years ago
SD
Base Convert improvements
4 threads ·
4 days ago
TB
Numeric Literal Separator
5 threads ·
7 years ago
LM
Covariant Returns and Contravariant Parameters
2 threads ·
7 years ago
NP
Allow throwing exceptions from __toString()
2 threads ·
7 years ago
CZ
Spread Operator in Array Expression
4 threads ·
5 years ago
NP
Deprecate left-associative ternary operator
3 threads ·
6 years ago
NP
Arrow functions 2.0
2 threads ·
7 years ago
Show 17 more
Loading…
Implemented — PHP 7.3
(13)
TP
Flexible Heredoc and Nowdoc Syntaxes
3 threads ·
8 years ago
SP
Allow a trailing comma in function calls
2 threads ·
8 years ago
AF
JSON_THROW_ON_ERROR
6 threads ·
3 years ago
AB
PCRE2 Migration
2 threads ·
8 years ago
list() Reference Assignment
2 threads ·
8 years ago
GC
is_countable function
2 threads ·
8 years ago
E
array_key_first(), array_key_last()
3 threads ·
2 years ago
GC
Make compact function reports undefined passed variables
3 threads ·
8 years ago
CI
Argon2 Password Hash Enhancements
2 threads ·
8 years ago
CB
Deprecate and Remove image2wbmp()
3 threads ·
8 years ago
Show 3 more
Loading…
Implemented — PHP 7.2
(22)
FL
Allow loading extensions by name
2 threads ·
9 years ago
T
Allow abstract function override
2 threads ·
9 years ago
CD
Prevent number_format() from returning negative zero
2 threads ·
9 years ago
AF
Convert numeric keys in object/array casts
3 threads ·
9 years ago
RC
Deprecate and Remove Bareword (Unquoted) Strings
2 threads ·
9 years ago
D
get_class() disallow null parameter
2 threads ·
9 years ago
CD
Counting of non-countable objects
3 threads ·
9 years ago
NK
Parameter Type Widening
5 threads ·
7 years ago
SP
Trailing commas in list syntax
3 threads ·
6 years ago
CB
Deprecate png2wbmp() and jpeg2wbmp()
3 threads ·
9 years ago
Show 12 more
Loading…
Implemented — PHP 7.1
(28)
YO
Session ID without hashing
4 threads ·
9 years ago
DS
Asynchronous Signal Handling
2 threads ·
9 years ago
DS
Fix inconsistent behavior of $this variable
3 threads ·
9 years ago
DS
Replace "Missing argument" warning with "Too few arguments" exception
6 threads ·
9 years ago
LM
Nullable Types
5 threads ·
9 years ago
AF
Square bracket syntax for array destructuring assignment
3 threads ·
9 years ago
AF
Warn about invalid strings in arithmetic
4 threads ·
9 years ago
AF
Allow specifying keys in list()
3 threads ·
9 years ago
AP
Iterable
3 threads ·
9 years ago
FL
Generalize support of negative string offsets
2 threads ·
9 years ago
Show 18 more
Loading…
Implemented — PHP 7.0
(47)
AF
Random Functions throwing Exceptions
6 threads ·
9 years ago
AP
Throwable Interface
3 threads ·
9 years ago
MA
Context Sensitive Lexer
5 threads ·
9 years ago
WD
Add preg_replace_callback_array function
4 threads ·
9 years ago
SP
Reliable User-land CSPRNG
2 threads ·
9 years ago
JW
Anonymous Class Support
5 threads ·
9 years ago
DL
Generator Delegation
6 threads ·
9 years ago
LM
Reserve More Type Names in PHP 7
6 threads ·
9 years ago
DA
Constructor behaviour of internal classes
2 threads ·
9 years ago
NP
Reclassify E_STRICT notices
3 threads ·
9 years ago
Show 37 more
Loading…
Implemented — PHP 5.6
(17)
SG
__debugInfo() magic method
2 threads ·
9 years ago
TM
Exponential operator
3 threads ·
9 years ago
IW
Importing namespaced functions
4 threads ·
9 years ago
BW
Constant Scalar Expressions (with constants)
3 threads ·
9 years ago
GL
Remove calls from incompatible context
3 threads ·
9 years ago
NP
Dedicated syntax for variadic functions
4 threads ·
9 years ago
NP
Argument unpacking
3 threads ·
9 years ago
NP
Internal operator overloading and GMP improvements
3 threads ·
7 years ago
JW
phpdbg
2 threads ·
9 years ago
MW
Slim POST data
2 threads ·
9 years ago
Show 7 more
Loading…
Implemented — PHP 5.5
(20)
NP
Generators
3 threads ·
9 years ago
XH
support finally keyword
2 threads ·
9 years ago
RS
Resolve class names to scalars via class keyword
1 thread ·
9 years ago
XH
foreach_variable supporting T_LIST
4 threads ·
9 years ago
XH
Const array/string dereference
2 threads ·
9 years ago
NP
Allow arbitrary expression arguments to empty() and isset()
3 threads ·
9 years ago
ZS
Integrating Optimizer+ into the PHP distribution
4 threads ·
9 years ago
AF
Adding hash_pbkdf2 function
5 threads ·
9 years ago
AF
Add Simplified Password Hashing
4 threads ·
9 years ago
NP
Remove preg_replace /e modifier
3 threads ·
9 years ago
Show 10 more
Loading…
Implemented — PHP 5.4
(23)
FP
Instantiating a class and calling methods/accessing properties on same command
1 thread ·
9 years ago
SM
Traits
6 threads ·
3 years ago
U
Closures: Object Extension
4 threads ·
9 years ago
RS
Short syntax for arrays
3 threads ·
9 years ago
PO
Function array dereferencing
1 thread ·
9 years ago
SM
Short tags in templates
3 threads ·
9 years ago
FP
Indirect method call by array variable
JH
Supporting Binary Notation for Integers
1 thread ·
9 years ago
MK
Built-in web server
1 thread ·
9 years ago
KN
Removal of deprecated features
1 thread ·
9 years ago
Show 13 more
Loading…
Implemented — PHP 5.3
(13)
CS
Closures
1 thread ·
9 years ago
LS
Namespace resolution order
1 thread ·
9 years ago
LS
RFC on what namespace separator to choose
1 thread ·
9 years ago
HEREDOC with double quotes
EK
LSB parent::/self:: forwarding
SF
call_time_pass_by_reference
1 thread ·
9 years ago
LS
New error level E_USER_DEPRECATED
1 thread ·
9 years ago
CS
Rounding in PHP
2 threads ·
2 years ago
LS
Alternative to include/require for autoloaders
1 thread ·
9 years ago
AD
FPM SAPI
1 thread ·
9 years ago
Show 3 more
Loading…
Declined
(129)
CW
Pipe Assignment Operator
3 threads ·
2 months ago
NG
__exists(), a magic method for distinguishing "missing" from "set to null"
2 threads ·
3 months ago
SG
Bound-Erased Generic Types
4 threads ·
2 months ago
JW
Remove the links to X.com from PHP.net
4 threads ·
4 months ago
CG
array_path_get and array_path_exists functions
2 threads ·
4 months ago
NG
Allow Reassignment of Promoted Readonly Properties in Constructor
2 threads ·
6 months ago
MK
array_only_keys() and array_except_keys()
2 threads ·
6 months ago
CG
Prefix and Suffix Functions
3 threads ·
7 months ago
SG
let construct (Block Scoping)
3 threads ·
8 months ago
VD
Create "split" as an alias to "explode"
3 threads ·
1 year ago
Show 119 more
Loading…
Withdrawn
(72)
MR
Website Revamp 2026 (Making PHP.net the Ecosystem Hub)
WD
Deprecate Metaphone Function
1 thread ·
5 months ago
WD
Remove \0 from default trim() character mask
1 thread ·
6 months ago
PM
Default expression
2 threads ·
2 years ago
JT
Deprecate PEAR and recommend Composer
1 thread ·
2 months ago
AD
Add "is_representable_as_float()" and "is_representable_as_int()" functions
1 thread ·
1 year ago
GB
Change behaviour of array sort functions to return a copy of the sorted array
1 thread ·
1 year ago
MK
Wall-Clock Time Based Execution Timeout
2 threads ·
5 years ago
JW
Using and Mentioning Third-party Packages in PHP Documentation and Web Projects (process)
1 thread ·
2 years ago
NG
Access Scope from Magic Accessors
Show 62 more
Loading…
Inactive
(184)
SL
Throw error for passwords longer than 72 bytes in password_hash() with bcrypt
3 threads ·
3 days ago
GK
OPcache Static Cache
1 thread ·
3 months ago
RW
Add PDO disconnect() and isConnected()
1 thread ·
11 months ago
SG
OOP API for cURL extension
2 threads ·
1 year ago
GB
Remove disable_classes INI setting
1 thread ·
3 years ago
BS
Introduce array_group and array_group_pair grouping functions
1 thread ·
3 years ago
ND
Implicit Move Optimisation
RT
Property Capture for Anonymous Classes
NG
Closure::castTo
1 thread ·
3 years ago
NG
Explicit closure interfaces
2 threads ·
3 months ago
Show 174 more
Loading…
Obsolete
(26)
AR
Property write/set visibility
1 thread ·
6 years ago
JM
is_json function
GB
Allow null as standalone type
1 thread ·
5 years ago
BW
Enumerated Types
3 threads ·
9 years ago
MS
Enumeration type (alternative proposal)
JW
Nullsafe calls
3 threads ·
7 years ago
MM
Mixed typehint
3 threads ·
7 years ago
MB
Annotations 2.0
RS
Property Type-hints
GB
Deprecate PHP's Short Open Tags
5 threads ·
7 years ago
Show 16 more
Loading…