Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:127316 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id F2DE61A00BC for ; Wed, 7 May 2025 22:36:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1746657262; bh=oe9uWF9iF9sgwkC7avW7GRMNtSEcI3O3/35ud7crMF8=; h=Date:To:From:Cc:Subject:In-Reply-To:References:From; b=O3Gg1NKSsNoBIze8rqLpnRdyF1rmMBxO5daEYXlUm5r9WFU7zRMMBHuQQCpAqXg1O p0PxOT/8ohzCGzwUnto3plGhRpEbSV6IxAJwukoORscB7B6qNRZbLeAtIgZjC/+oaw m9mI32ne9vzTBs2x0PoR+MNL9xtQKRbUvZVKFybwmTebPpI4hlAtJAVhwI4JmEodGM q6wQhFohTpdCUtfBVo2UvSN9oYHgMbmtM2eEtO/b2FoA0BaxfmjI/bBy6LJUfa6jAU xWWR0AwJIWfKkH18FblUbgRCUYGQhTEFtbIA0UsOY6hc9Apo1dUnS8g5n0u5Oto6vw gOpJfZOvM2Owg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 7D9D6180077 for ; Wed, 7 May 2025 22:34:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=BAYES_40,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,SPF_HELO_PASS, SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: Error (Cannot connect to unix socket '/var/run/clamav/clamd.ctl': connect: Connection refused) X-Envelope-From: Received: from mail-24422.protonmail.ch (mail-24422.protonmail.ch [109.224.244.22]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 7 May 2025 22:34:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gpb.moe; s=protonmail3; t=1746657391; x=1746916591; bh=oe9uWF9iF9sgwkC7avW7GRMNtSEcI3O3/35ud7crMF8=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post; b=X2quMKzC6IwdAwaKmDcMAQKPVux6DBU2g4YHrrqVBUnvgk5Cqn84Js4ZD/Z7HpfTV kTuQF34c0wbIfgERx9Hlf4KcKhsHX0lH8yJnevgzLPX0uWyTjPgnVQfljTnETwVJTE Qzq4LAK0yiMhpZGkeCHNGTmvoDvSFU8QJb5+okRIb6lfQeE0R4dAlbsOZWHMUQ3qLb LF58eGVkm4wwKqQRqa0n6FZ49swKw1rEi4qfFcoW/mS17yowAyk8L+o74hVs/fZoox wvhnrRPaEBOna0CrJD1r5TcwxZNaKqvk8uzvyPBBxV0xq3MeMLjSZZcs2hWLKW9bpf 653EwkJs7i8XA== Date: Wed, 07 May 2025 22:36:26 +0000 To: Christian Schneider Cc: PHP internals Subject: Re: [PHP-DEV] [RFC] [Discussion] Minor version compatibility Message-ID: In-Reply-To: <0433FF37-D938-4D3D-AC03-E5143218EFEA@cschneid.com> References: <0433FF37-D938-4D3D-AC03-E5143218EFEA@cschneid.com> Feedback-ID: 96993444:user:proton X-Pm-Message-ID: 69de65b40b8553b128cfe299f9af4529c2a6e8be Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: internals@gpb.moe ("Gina P. Banyard") On Wednesday, 30 April 2025 at 13:16, Christian Schneider wrote: > Am 27.04.2025 um 20:22 schrieb Gina P. Banyard internals@gpb.moe: >=20 > > I fundamentally reject the concept of this RFC to restrict our ability = to do input validation. >=20 >=20 > I am sorry but I fail to see how the RFC restrict the ability to do input= validation. >=20 > [...] >=20 > > I will repeat this once again, but error-ing on invalid inputs entered = by the developer is an advantage. > > I cannot comprehend the motivation to let users ship buggy code into pr= oduction, that might end up hard to debug. > > We throw Errors on non-existent constants, functions, classes, etc. for= a reason. >=20 >=20 > I am not against error-ing on invalid input, and I don't think anyone els= e is. > It is all about the migration path for existing software and having guide= lines for such changes. >=20 > Using intermediate warnings before going to an Exception allows updating = an installation step-by-step instead of all at once. Which is important bot= h for projects using a lot of composer packages as well as installations wh= ere PHP and applications are maintained by different people (e.g. hosting c= ompanies). >=20 > Case-studies regarding implicitly nullable parameters and the warning pha= se: > - https://github.com/hybridauth/hybridauth/releases with fixes for PHP 8.= 4 was released only last week > - https://github.com/grpc/grpc-php still has not released fixes for PHP 8= .4 >=20 > Sure, this is from one minor version to the next and not about invalid ar= gument values and it uses E_DEPRECATED instead of E_WARNING but my main poi= nts stays the same: > If this would have been done without warning phase then it would be a blo= cker for upgrading to PHP 8.4, now filtering this warning is enough while t= he packages are being updated. Comparing a core language change to be the same level as throwing a ValueEr= ror on invalid inputs of a bundled extension function is a bit of a straw m= an argument. The motivation for this policy change is _explicitly_ about input validatio= n. > And I am of the very strong opinion that the benefits of reducing frictio= n for upgrading to the current PHP version outweighs the costs. Forgetting = to change the warning to an Exception can be simply prevented by e.g. a hel= per function or even a greppable code comment. I am not saying break all the things, however, breaking clearly buggy code = is something I consider a feature. Letting users ship buggy code in production is not something that I find at= all reasonable. And I am looking forward to your suggestion on how to simply implement this= for every single unique validation error that we encounter. > > As such, if this policy does get accepted, I will start to severely red= uce my contributions to the project. > > As it would be a clear sign to me that what people want from the projec= t is something that I find completely nonsensical and thus I should direct = my energy and time to something more inline with my own design beliefs. >=20 >=20 > I find it very unfortunate that you are feeling the need to pressure the = community in this way as I can assure you that we all want the project to i= mprove even it is sometimes in different ways. I am entitled to my strong opinions as someone that has provided over 700 r= eviews to php-src PRs and over 800 reviews to doc PRs in 2024, on top of al= l my own code, documentation, and internal email contributions. This gives me a very broad overview of the state the whole PHP project is i= n, and claiming that everything can "just be done at a later date easily" i= s a completely unrealistic worldview. Moreover, I know that I am speaking for at least a few other core contribut= ors that don't want to engage more than necessary on this mailing list, con= sidering how draining it can be. So yes, if the community thinks the way I've been reviewing and contributin= g to the project is wrong, then severely reducing my contributions is the o= nly reasonable step. You consider it pressure, I consider it communicating how I feel about cont= ributing to the project, which has already been less enjoyable than before = for a while. Best regards, Gina P. Banyard