On 24.9.2024 17:14:20, Christoph M. Becker wrote:
Hi all,
I want to suggest that we do not allow any RFC implementations to land
during beta phase. In my opinion, the remaining time to thoroughly
check and address possibly overlooked issues is way too short otherwise.
For instance, the implementation of "Deprecate proprietary CSV escaping
mechanism"[1] landed just prior to 8.4.0beta1[2]. However, a serious
issue with that implementation had only be fixed about two weeks ago[3],
and the discussion what to do about that[4] is still unresolved.
So in this case, the implementation would have been right in time, but
still somewhat late.
An even more problematic example would be the "Support object type in
BCMath" RFC[5]. This has only been implemented shortly prior to
8.4.0beta5[6], so there has been almost no time to address overlooked
issues prior to 8.4.0RC1. A pretty serious bug in the implementation[7]
has just been fixed[8] without any real chance to discuss the actual
fix. I'm not arguing that the fix should be reverted, but I'm rather
pointing out that late RFC implementations could easily lead to those
issues over and over again.
Thoughts?
[1]
<https://wiki.php.net/rfc/deprecations_php_8_4#deprecate_proprietary_csv_escaping_mechanism>
[2]
<https://github.com/php/php-src/commit/c818d944cf998b3151e4b312d655c51223612c4e>
[3]
<https://github.com/php/php-src/commit/f756b96e06db29a978bbf3ad3a5c52f6d0d97c64>
[4]<https://github.com/php/php-src/pull/15569#issuecomment-2354447087>ff
[5]<https://wiki.php.net/rfc/support_object_type_in_bcmath>
[6]
<https://github.com/php/php-src/commit/fad899e5662d0a929d8462dd8239b0489dd9b53f>
[7]<https://github.com/php/php-src/issues/15968>
[8]<https://github.com/php/php-src/pull/16021>
Christoph
Hey Christoph,
I certainly can see where you are coming from. But that's mostly what is
defining the beta phase - an evolving version of PHP, but where it's
clear which features will make it (i.e. all RFCs have to be accepted by
then) - a period where people can start introducing support for the next
PHP version without being surprised at yet unknown breaks.
The period of stabilization of the new features is the RC phase. If you
feel we don't have enough time to stabilize, I'd rather enlarge the RC
phase (possibly at the expense of 1-2 betas).
I consider it important to retain the policy of submitting RFC
implementations during beta, so that implementations are not rushed and
thoroughly reviewed before being merged. The cutoff for RFCs being
accepted is the first beta, but a lot of RFC implementations don't quite
yet have the desired quality for merging. It's important to allow
implementations to mature before merging.
Thanks,
Bob