Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:120252 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 91642 invoked from network); 12 May 2023 18:17:33 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 12 May 2023 18:17:33 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id A5634180384 for ; Fri, 12 May 2023 11:17:32 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-oa1-f41.google.com (mail-oa1-f41.google.com [209.85.160.41]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Fri, 12 May 2023 11:17:32 -0700 (PDT) Received: by mail-oa1-f41.google.com with SMTP id 586e51a60fabf-18f4a6d2822so59154945fac.1 for ; Fri, 12 May 2023 11:17:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683915451; x=1686507451; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ccWfdHBaJShfnC0aa5U88PWymq46wUgLsF1C+2I7RDA=; b=jV3C/PTjuHquWWW4vXQiWPsTYZDgcAOs9IoYugUReKOoRV+QV80T4jMqQh1Ce6uXkV DataDF5sqmqSN1Ebn5lH+Xk4eQdLWdUWpHAD5ky6zF5/eRlqETD9+j+01xK7L1FQHEY7 dZv8+jrxJgNCuG+w76d20UTNmEynP7v/6qBmFlqcGDDQBJN0zTxQ74TMkYF9TWm0Pr6T k4JnauTmAFAp7ncWf6npA2D6814HrHfstOConYjEfns9rYntdM0UJDitFcbtJINmNv/3 Z/DNJL47E0DvSEucGlo68hJ5fYXoLNhBWSOBpTItYIWsxk4vqM+q0LNVh7lLlgetsBOF YLrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683915451; x=1686507451; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ccWfdHBaJShfnC0aa5U88PWymq46wUgLsF1C+2I7RDA=; b=iDeb3Y7qhAE3zbtUG70DNAkb2cxHiLzC9W2sEqqA6RAyGwFe/bX5dnSPx0LcQKxhpN 3qbj2QMGjIs556WcmaQg5NttaMILaetYyF0gRFxOJTTwldQh2RKuxVpRfJcZzAMWBm+j /flOvhBm7BcFSQnOZkOJVezXbHLCAk3osnPP5bnXCsN3axXnCSbBh3ZZpoMOiAu8GjPs oO/RAtwsLYDKpjZ53huD6aDQkfq/YydNiKXInALJvcTQCqAVjfx3VhI1RqPBoi2vv2t6 h/yxgwd4PdCRIL/MuLajfKe5noxlF+cOSUhlnJPvVIJT1+Dx9ykIUwUWpssf3hoIlwcX RPTw== X-Gm-Message-State: AC+VfDw3aIdlHiFFNarfs3MlfSr9OkQy3ghqWGa+a7NNodhITa+8KAnx 8SVQO5lsOBvKfD+WmEpws4r/2887tQKL7cC+PeQ= X-Google-Smtp-Source: ACHHUZ7BtLHC3SzjWTs6XtX92OuPU2eBVvAU9ibxm0481p69NyfMCj3OD/1L7IEP6Zj3/39/f9V7A+e5L6epbIqNIkQ= X-Received: by 2002:a4a:7644:0:b0:552:3a25:1d26 with SMTP id w4-20020a4a7644000000b005523a251d26mr1858052ooe.0.1683915451260; Fri, 12 May 2023 11:17:31 -0700 (PDT) MIME-Version: 1.0 References: <9ab0173f-a6f2-66f6-3ab3-d5f0c44feb05@bastelstu.be> In-Reply-To: Date: Fri, 12 May 2023 20:17:20 +0200 Message-ID: To: Rowan Tommins Cc: internals@lists.php.net Content-Type: multipart/alternative; boundary="0000000000004de5a105fb831e92" Subject: Re: [PHP-DEV] [RFC] [Discussion] Deprecate functions with overloaded signatures From: kocsismate90@gmail.com (=?UTF-8?B?TcOhdMOpIEtvY3Npcw==?=) --0000000000004de5a105fb831e92 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > > So I would suggest rewording the options slightly: > > a) Deprecate in 8.3, remove in either 9.0 or 10.0 > b) Deprecate in 8.3, remove in 10.0 > c) Do not deprecate > > Now if the votes are a:5, b:4, c:4, we can say: > > - 9 people voted for deprecation in 8.3, vs 4 against > - only 5 voted for removal in 9.0, vs 8 against > - 9 voted for removal in 10.0, vs 4 against > > So we conclude that we should deprecate in 8.3, and remove in 10.0 > While this vote format looks a bit confusing for me at the first sight, I'm OK to apply it. Although, I don't fully agree with the "deprecate in 8.3 and remove in 10.0" part due to the reason I wrote about in my previous email. In my opinion, if we want to keep a signature for around 5-7 more years then we should really wait ~2 years with the deprecation so that people can react voluntarily first. Libraries have to get rid of deprecated calls in any case, otherwise their users will surely start to complain. If they do fix these calls in their PHP 8.x compatible code then there's much less reason to postpone the removal with 5 more years. The suggestion to narrow it down to a yes/no proposal in the discussion > phase is probably even better, though. > I agree with this, but so far there was no feedback which functions/methods people want to deprecate slower or faster, so I'm eager to hear about your and everyone else's opinion! Replying to Larry: That these particular functions and uses are quite rare doesn't really > change any of that; if anything it strengthens it, that we're willing to = be > graceful about it even in cases where we could probably get away with not > being so. I don't think this "generosity" is really necessary, even though I appreciate your intention. For example, in case of ldap_connect(), the signature to be deprecated is not even documented at php.net... and it's only available on a very specific platform. I see no reason to keep this signature for 5+ years. The same goes for IntlGregorianCalendar::__construct() which seems to be a very underrepresented class as well. As I already said, most of the functionality to be removed is easy to replace, and it could be done via automation: i.e. you add Symfony Polyfill to your project and then Rector swaps the problematic function calls to the good ones. Sometimes not even tooling is needed, a simple search + replace is enough. With all that said, I think only a smaller subset of functions may deserve the longer depreciation period. M=C3=A1t=C3=A9 --0000000000004de5a105fb831e92--