Adds a using expression that wraps a block in a generator, so setup and cleanup like closing files or committing transactions happen automatically.
Last activity
Follow the proposals shaping the next version of PHP.
Adds a using expression that wraps a block in a generator, so setup and cleanup like closing files or committing transactions happen automatically.
Last activity
Adds an Io\Terminal API to read the terminal size, switch to raw mode, read single keys, and take hidden input without shelling out to stty.
Last activity
Adds openssl_get_channel_binding() so PHP code can read TLS channel binding data and support SCRAM-SHA-*-PLUS logins.
Last activity
Adds Str\Matcher and Str\Replacer, prepared objects that find or replace many literal strings in one pass using the Aho-Corasick algorithm.
Last activity
Adds a Scope class that marks which request or job code belongs to, carried into fibers and generators, for servers that handle many requests at once.
Last activity
Adds JSON_ALLOW_COMMENTS and JSON_ALLOW_TRAILING_COMMAS flags so json_decode() and json_validate() accept comments and a final comma.
Last activity
Sets a timeline to retire PECL: pecl.php.net goes read-only in June 2027 and shuts down at the end of 2029 after brownouts, with PIE replacing it.
Last activity
Adds PASSWORD_BCRYPT_WRAP, a bcrypt algorithm that prehashes passwords with cSHAKE256 or HMAC-SHA512 to get past bcrypt's 72-byte and null-byte limits.
Last activity
Adds grapheme_str_pad() to ext/intl, a str_pad() that counts grapheme clusters, so accented letters and emoji get the right amount of padding.
Last activity
Adds Time\Instant for a single point in time and a Time\Clock interface you can swap out in tests.
Last activity
Adds PASSWORD_BCRYPT_SHA256, an opt-in bcrypt algorithm that HMAC-SHA256 pre-hashes passwords to avoid bcrypt's 72-byte and NUL-byte limits.
Last activity
Adds array_partition(), which splits an array into the elements a callback accepts and the ones it rejects, keeping keys, in one pass.
Last activity
Adds an immutable Uri\QueryParams class to parse, change and build query strings outside of $_GET, including RFC 3986 query strings.
Last activity
Adds array_str_contains(), which returns the array elements whose value contains a substring, keys intact, without an array_filter() closure.
Last activity
Adds MariaDB-specific features to mysqlnd and mysqli.
Last activity
Adds ReflectionAttribute::getCurrent() so an attribute can find the element it is attached to.
Last activity
Adds an ext/csv extension with Csv\ functions that read and write RFC 4180 CSV, replacing the SplFileObject CSV methods PHP 8.6 deprecated.
Last activity
Lets an event loop or Fiber scheduler take over PHP's blocking I/O, so plain fread(), sleep() and curl_exec() calls can run concurrently in Fibers.
Last activity
Adds private(namespace) visibility for methods and properties, so classes in the same namespace can share internals without making them public.
Last activity
Lets partial function application fill in the object with this: ?, so DateTimeImmutable::format(this: ?, "c") works with array_map().
Last activity