Additional small features for 8.2

php.internals

Jakub Zelenka

4 years ago
Hi, There are some small self contained features that would be good to get to 8.2 unless there are any objections ofc. Make libxml_set_external_entity_loader() return the previous loader https://github.com/php/php-src/pull/7977 Improved responses to different requests on static resources in built-in web server https://github.com/php/php-src/pull/8215 Implement FR #76935: OpenSSL chacha20-poly1305 AEAD support https://github.com/php/php-src/pull/9366 Add openssl_cipher_key_length function https://github.com/php/php-src/pull/9368 As it needs to be done before the first RC, I will wait for a week and if there are no objection, I will merge them. Thanks Jakub

Ben Ramsey

4 years ago
> On Aug 18, 2022, at 08:46, Jakub Zelenka <bukka@php.net> wrote: > > Hi, > > There are some small self contained features that would be good to get to 8.2 unless there are any objections ofc. > > Make libxml_set_external_entity_loader() return the previous loader > https://github.com/php/php-src/pull/7977 > > Improved responses to different requests on static resources in built-in web server > https://github.com/php/php-src/pull/8215 > > Implement FR #76935: OpenSSL chacha20-poly1305 AEAD support > https://github.com/php/php-src/pull/9366 > > Add openssl_cipher_key_length function > https://github.com/php/php-src/pull/9368 > > > As it needs to be done before the first RC, I will wait for a week and if there are no objection, I will merge them. > > Thanks > > Jakub
Feature freeze is at the first beta release, not the first RC. Are these new features or bug fixes? Cheers, Ben

Christoph Becker

4 years ago
On 18.08.2022 at 16:37, Ben Ramsey wrote:
>> On Aug 18, 2022, at 08:46, Jakub Zelenka <bukka@php.net> wrote: >> >> There are some small self contained features that would be good to get to 8.2 unless there are any objections ofc. >> >> Make libxml_set_external_entity_loader() return the previous loader >> https://github.com/php/php-src/pull/7977 >> >> Improved responses to different requests on static resources in built-in web server >> https://github.com/php/php-src/pull/8215 >> >> Implement FR #76935: OpenSSL chacha20-poly1305 AEAD support >> https://github.com/php/php-src/pull/9366 >> >> Add openssl_cipher_key_length function >> https://github.com/php/php-src/pull/9368 >> >> >> As it needs to be done before the first RC, I will wait for a week and if there are no objection, I will merge them. > > Feature freeze is at the first beta release, not the first RC. > > Are these new features or bug fixes?
From the release process RFC[1]: | No feature addition after final x.y.0 release (or x.0.0). Self | contained features or new SAPIs could be carefully considered on a | case by case basis. So, as I understand it, feature freeze does not necessarily apply to self contained features, at least if small in scope. And shipping such with the first RC is likely more sensible than to ship them after the first GA. [1] <https://wiki.php.net/rfc/releaseprocess#releases_cycle>
-- Christoph M. Becker

Jakub Zelenka

4 years ago
On Thu, Aug 18, 2022 at 3:37 PM Ben Ramsey <ramsey@php.net> wrote:
> > On Aug 18, 2022, at 08:46, Jakub Zelenka <bukka@php.net> wrote: > > > > Hi, > > > > There are some small self contained features that would be good to get > to 8.2 unless there are any objections ofc. > > > > Make libxml_set_external_entity_loader() return the previous loader > > https://github.com/php/php-src/pull/7977 > > > > Improved responses to different requests on static resources in built-in > web server > > https://github.com/php/php-src/pull/8215 > > > > Implement FR #76935: OpenSSL chacha20-poly1305 AEAD support > > https://github.com/php/php-src/pull/9366 > > > > Add openssl_cipher_key_length function > > https://github.com/php/php-src/pull/9368 > > > > > > As it needs to be done before the first RC, I will wait for a week and > if there are no objection, I will merge them. > > > > Thanks > > > > Jakub > > > Feature freeze is at the first beta release, not the first RC. > >
Those are small self contained features so they should be pretty safe to add. It's pretty much the same as just proposed FILTER_FLAG_NO_SCIENTIFIC [1]. We actually used to merge those to the patch releases so I could technically target 8.1 or even 8.0 as this was historically allowed but thought that it might be better to just target beta. Maybe the only exception from those is OpenSSL chacha20-poly1305 AEAD which is sort of a bug fix but still think this one is better just for 8.2 as it might be quite confusing to identify since when it is supported in 8.1. Also when Nikita introduced OCB mode in the patch release it broke LibreSSL so I want to be a bit more careful (even though this is done quite safely in terms of compilation checks). [1] https://news-web.php.net/php.internals/118436 Regards Jakub

Unnamed Person

4 years ago
On 18-8-2022 15:46, Jakub Zelenka wrote:
> Make libxml_set_external_entity_loader() return the previous loader > https://github.com/php/php-src/pull/7977
Based on the PR, this introduces a new function to PHP/the `libxml` extension. Doesn't that need an RFC ? Note: I'm not opposed to the change as per the current implementation, just wondering if allowing this to go into PHP 8.2 without RFC is correct process-wise.
> Add openssl_cipher_key_length function > https://github.com/php/php-src/pull/9368
Similar as the above, new function for the `openssl` extension. I do think the two cases are different though as openssl is an optional extension, while libxml is enabled by default. Smile, Juliette

Jakub Zelenka

4 years ago
On Thu, Aug 18, 2022 at 5:11 PM Juliette Reinders Folmer < php-internals_nospam@adviesenzo.nl> wrote:
> On 18-8-2022 15:46, Jakub Zelenka wrote: > > Make libxml_set_external_entity_loader() return the previous loader > > https://github.com/php/php-src/pull/7977 > > Based on the PR, this introduces a new function to PHP/the `libxml` > extension. Doesn't that need an RFC ? > > Note: I'm not opposed to the change as per the current implementation, > just wondering if allowing this to go into PHP 8.2 without RFC is > correct process-wise. > > > Add openssl_cipher_key_length function > > https://github.com/php/php-src/pull/9368 > Similar as the above, new function for the `openssl` extension. > > I do think the two cases are different though as openssl is an optional > extension, while libxml is enabled by default. > >
If there are no objections, we have never required RFC for new functions that are small and self contained. I'm also not aware that we would differentiate between enabled by default and disabled by default ones . :) If you follow php-src on GitHub, you will see that there are many addition that don't go through the RFC process as there is no need for that. Regards Jakub

Unnamed Person

4 years ago
On 18-8-2022 19:12, Jakub Zelenka wrote:
> On Thu, Aug 18, 2022 at 5:11 PM Juliette Reinders Folmer < > php-internals_nospam@adviesenzo.nl> wrote: > >> On 18-8-2022 15:46, Jakub Zelenka wrote: >>> Make libxml_set_external_entity_loader() return the previous loader >>> https://github.com/php/php-src/pull/7977 >> Based on the PR, this introduces a new function to PHP/the `libxml` >> extension. Doesn't that need an RFC ? >> >> Note: I'm not opposed to the change as per the current implementation, >> just wondering if allowing this to go into PHP 8.2 without RFC is >> correct process-wise. >> >>> Add openssl_cipher_key_length function >>> https://github.com/php/php-src/pull/9368 >> Similar as the above, new function for the `openssl` extension. >> >> I do think the two cases are different though as openssl is an optional >> extension, while libxml is enabled by default. >> >> > If there are no objections, we have never required RFC for new functions > that are small and self contained. I'm also not aware that we would > differentiate between enabled by default and disabled by default ones . :) > If you follow php-src on GitHub, you will see that there are many addition > that don't go through the RFC process as there is no need for that. >
Thank you for the clarification Jakub, the process is not always clear (to me).