phpstorm.dev

PHP ecosystem insights

RFC Tracker

Follow language proposals from discussion through voting. A proposal is not a released feature; check each primary page for the latest ballot.

Source checks through 2026-10-01 · 43 sources

Verified 2026-10-01 discussion Permanent entry

Array variable shorthand proposal

Under discussion; proposed for PHP 8.7. The current RFC spelling is =$name in array construction and destructuring, representing the explicit key/value form "name" => $name. It applies to [], array() and list().

The earlier :$name spelling was changed because of interaction with ternary syntax. Direct variable names qualify; arbitrary expressions, properties and array dimensions do not. Function-argument shorthand is outside the proposal. The primary page explicitly says that voting has not started.

This is a proposal, not supported stable PHP syntax. Recheck the primary RFC before repeating examples or status.

Related: IO hooks proposal, type declaration milestones.

Verified 2026-10-01 discussion Permanent entry

IO hooks and operations proposal

Under discussion. The proposal describes a request-local provider interface through which blocking waits and IO operations can be handled by an event loop or Fiber scheduler. It aims to let ordinary blocking-style calls cooperate with such a provider.

The RFC separates the integration mechanism from scheduling policy; it does not itself supply a built-in scheduler. The proposal depends on the related Polling API additions. The companion Ring API is described as a separate draft.

Do not treat this as available PHP behavior or infer acceptance from the activity around it. Read the RFC for operation and platform details.

Related: Polling API additions, support windows.

Verified 2026-10-01 discussion Permanent entry

Polling API additions proposal

Under discussion. The proposal extends the polling surface with weak handles, socket handles, generic timer/signal/process/notification handles, and priority events.

The weak-handle design addresses event loops unintentionally keeping resources alive. The broader handle set provides integration points for the related IO hooks work. These are proposed changes: a description in an RFC is not evidence of release availability.

Recheck the primary page for current scope, status and ballots. No vote result is inferred here.

Related: IO hooks, array shorthand.

Official index watchlist

Index observations are distinct from the verified notes above. Vote counts and outcomes must be checked at the primary source.

ProposalIndex statusListed date
IO Hooks and Operationsdiscussion2026-09-29
Polling API Additionsdiscussion2026-09-29
Short Array Variable Shorthanddiscussion2026-09-30
Io\Terminaldiscussion2026-09-27
Time\Instant and Time\Clockdiscussion2026-09-21
IntlRelativeDateTimeFormatterdiscussion2026-08-07
PREG_THROW_ON_ERRORdiscussion2026-07-28
End PEAR Project Endorsementdiscussion2026-08-27
Throw ValueError for invalid characters in number base functionsdiscussion2026-08-11
Function Autoloading (mark 5)discussion2026-06-16
Concurrency Support in the PHP Enginediscussion2026-07-23
Left-to-right assignment operatordiscussion2026-07-19
Add bundled user_cache extensiondiscussion2026-07-19
Native Markup Expressionsdiscussion2026-07-15
Strict Namespace Resolutiondiscussion2026-07-14
Literal Scalar Typesdiscussion2026-06-15
Grapheme Maskdiscussion2026-06-25
Primary Constructorsdiscussion2026-06-17
Case sensitive PHPdiscussion2026-06-01
Serializable closures, by reference to the code that declares themdiscussion2026-06-10
Working Groupsdiscussion2025-02-17
Friendsdiscussion2026-05-04
Social Media and Marketing Communications Policydiscussion2026-04-30
Scope Functionsdiscussion2026-04-26
Add MariaDB specific features to mysqlnd and mysqlidiscussion2026-04-06
php-community: A faster-moving, community-driven PHPdiscussion2026-03-14
Prevent instantiation and cloning of __PHP_Incomplete_Classdiscussion2026-03-03
Query Parameter Manipulation Supportdiscussion2026-02-13
Readonly Variablesdiscussion2026-02-22
SIMD-Accelerated CRC via crc-fast for ext/hashdiscussion2026-02-17
Trailing Boolean Operatorsdiscussion2026-02-02
Pipe to returndiscussion2026-01-31
Deprecate Fuzzy Type Casts and Allow Stringable in Strict Modediscussion2026-01-23
Partial Function Application for instance of non-static methods ("$this")discussion2026-01-16
Type Aliasesdiscussion2024-09-07
Pattern matching ''is'' keyworddiscussion2020-11-11
Namespace-Scoped Visibility for Methods and Propertiesdiscussion2025-11-07
Context Managersdiscussion2025-10-20
#[\NoSerialize] attributediscussion2025-10-06
TidyException type for the tidy extensiondiscussion2025-10-26
Nullable and Non-Nullable Cast Operatorsdiscussion2025-10-24
PHP RFC: Object-oriented curl API v2discussion2025-06-24
Add RFC 4648 compliant data encoding APIdiscussionUnknown
Drop 32-bit Buildsdiscussion2025-06-18
JSON Schema validation supportdiscussion2025-06-15
Add function to return the number of available processorsdiscussion2025-05-24
Transform void into an alias for nulldiscussion2025-06-02
Minor version compatibilitydiscussion2025-04-13
Update the default value for ''zend.exception_ignore_args''discussion2025-04-02
Modern Compression (zstd, brotli)discussion2025-02-18
Data Classesdiscussion2024-11-23
Add get_declared_enums() functiondiscussion2024-08-20
Warn on conversions from resource to stringdiscussion2024-09-24
Deprecate json_encode() on classes marked as non-serializablediscussion2024-09-03
Add Directive to Make All Namespaced Function Calls Globaldiscussion2024-08-04
Allow int type argument to BCMath functiondiscussion2024-07-08
Improve language coherence for the behaviour of offsets and containersdiscussion2024-07-04
Deprecate FFI non-static methodsdiscussion2024-06-21
Static Constructordiscussion2024-06-18
Add values() Method to BackedEnumdiscussion2025-11-09
PDO binary parameter supportdraft2026-09-29
Throw error for passwords longer than 72 bytes in password_hash() with bcryptdraftUnknown
Add array_str_contains() function to standard librarydraftUnknown
Deprecations for PHP 8.7draft2026-08-12
Array Search Rangedraft2026-08-12
Native Immutable Collections — "vec", "set" and "tuple"draft2026-08-04
Direction Aware Property Resolutiondraft2026-07-14
Extension Methodsdraft2026-07-11
Scalar Extension Methodsdraft2026-07-11
Extension Method Visibilitydraft2026-07-11
Extension Method Autoloadingdraft2026-07-11
Catchable MemoryError for predictably oversized allocationsdraft2026-07-10
Add ReflectionAttribute::getCurrent()draft2026-04-19
#[\Deprecated] for interfacesdraft2026-05-10
Explicit fallthrough for switchdraft2026-04-21
URI/URL Path Segment Supportdraft2026-04-20
#[\NonExhaustive] markerdraft2026-03-26
str_iter() for UTF-8 code-point iterationdraft2026-03-24
FILTER_VALIDATE_STRLEN for UTF-8 code point length validationdraft2026-03-19
SORT_STRICT Flagdraft2025-11-30
Allow __sleep() to return null or no value to delegate to default serializationdraft2025-10-20
#[\NotSerializable] attributedraft2025-10-14
Add support for the BLAKE3 cryptographic hash functiondraft2025-01-24
Function compositiondraft2024-11-09
Who can vote (process)draft2024-08-20
Change the default of $characters in mb_trim functiondraft2024-04-03
Invoke __callStatic when non-static public methods are called staticallydraft2024-03-29
str_mask()draft2026-07-01