Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:115321 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 60488 invoked from network); 6 Jul 2021 13:09:11 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 6 Jul 2021 13:09:11 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 71CDB1804CC for ; Tue, 6 Jul 2021 06:30:56 -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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from mail-lj1-f173.google.com (mail-lj1-f173.google.com [209.85.208.173]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 6 Jul 2021 06:30:55 -0700 (PDT) Received: by mail-lj1-f173.google.com with SMTP id z9so1086234ljm.2 for ; Tue, 06 Jul 2021 06:30:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=afLv7DAgAf+ryClgt///gXmHxmN0aLWRYhI+x4NHE1k=; b=P2muQd6zZ9990BSW6/othjKpVthdDxz6G7HPjEzX+GWATmdRVsXzKIdbJPuWigO0ST RQ3hcGP7fpSrnEpW9wtgT98DlNOmlk5uLCvUY43uS6iCpD0fF9witQTJA+q9qjpijzMb oU/AGLzPfJzYjAAHHahAB+FXzJSPja40ZUN8Fbcb4CVXJ4CqTYaKbf5mn4yoALFcGD5T CVujLC4dUOx+YwSNl1UATdtTLvZZZ9woCzmNyXcb9QEBY3MtbmYdsXcGQCRGh2mFTURX TfRRTRtEQKWRLvXiIwh1z0MFWqQlKi8Z0TrrzS0lj5szTNDewrcx7mpXaV2TWboaOl5g K/yA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=afLv7DAgAf+ryClgt///gXmHxmN0aLWRYhI+x4NHE1k=; b=SLnEOWgha3Y7Pm1DoX879zbl4ur82sMlceJKIqY1jWoiMelfay04Rr8FRZx4APY7HW NSzFn5gDnQn6uB4EtQrrVNxC5FXfz9AyNhsj624ssa6wJcxB/0cDV2+jrmT2A3MaxdW6 YjG2PwH9eV//f74Rf4/ctN2a3gXrTb6G/LFz70kriPdh4iC5xXhSfR14rLs4TEmpTeCk FGYmI6SEciocoDOwcNf/ANbjKFa8CNa9Vr7TpkTOsz+bo7SeqbxSY5hw8h2eCM/zGY9Q d6fWxHeq7RMyGgzkGw3494s8Pi/RK7TDNFpX1mdGEcOqLk4iapD23/Wpjkg5r5CBA8hx xq4Q== X-Gm-Message-State: AOAM530MQSTao8wrunw3UKm3E0ytXLvWDKbLnQduRCaFpUI81lXKcpPa MAglC0RhGelnY8s4uejtllfpzdH1EItn7/5Otwg= X-Google-Smtp-Source: ABdhPJyXx0cnN2TgUaB15X0IkpswyQucI/GOUYETCEoroCpDIgDCcrAS9pevLGtGINmJ5MsrEFWfm+Vqhh3733416aY= X-Received: by 2002:a2e:8708:: with SMTP id m8mr15278354lji.244.1625578251929; Tue, 06 Jul 2021 06:30:51 -0700 (PDT) MIME-Version: 1.0 References: <1dcefcec-a3e4-e773-4950-b11d377ecc7f@gmail.com> <122F660D-DE94-4DFE-A0E9-FEC202E89E3A@newclarity.net> <62eb8eff-e671-5b3b-5e25-2a5b38160fcd@gmail.com> <586591d0-8bbc-a42c-f92b-819b8fc6ac20@gmail.com> In-Reply-To: Date: Tue, 6 Jul 2021 15:30:36 +0200 Message-ID: To: Jakob Givoni Cc: php internals Content-Type: multipart/alternative; boundary="00000000000042c9e005c6746e8b" Subject: Re: [PHP-DEV] [VOTE] Deprecations for PHP 8.1 From: nikita.ppv@gmail.com (Nikita Popov) --00000000000042c9e005c6746e8b Content-Type: text/plain; charset="UTF-8" On Tue, Jul 6, 2021 at 2:25 PM Jakob Givoni wrote: > On Tue, Jul 6, 2021 at 10:30 AM Rowan Tommins > wrote: > > > > Hi Mike, > > > > > > > Instead I replied because your email strongly implied (stated?) that > "deprecation required removal" > > > > I stand by that interpretation, which while not universal is very widely > > used, and I think is more useful than a general hint at "bad practice". > > > > You spend most of your e-mail seeming to argue against it, and then seem > > to say that actually you do agree with it after all, and all you're > > saying is that sometimes the deprecation period should be longer: > > > > > > > I am not advocating that. I am advocating we should consider making > it: > > > > > > "features that are strongly discouraged will*probably* be removed in > the next major version, but in some cases may be retained for one or more > major versions." > > > > I'm totally OK with that. > > > > I do think that there should be a clear *plan* for removing each > > deprecated feature, though. That plan might be "deprecate in 8.1, and > > examine prior to 9.0 whether usage has dropped / the alternatives are > > mature / etc". It might flat out be "deprecate in 8.1, but don't remove > > until 10.0". > > > > Otherwise, the message becomes "this feature is kind of bad, and at some > > point we might decide to drop it without further notice, but actually we > > might not, so no hurry to remove it", which I just think isn't that > helpful. > > > > I think it would be very helpful. > I would have loved to know that FILTER_SANITIZE_STRING was not > considered a good choice when I recently researched how to improve an > issue. > Deprecation without a fixed removal version is better than no > deprecation (because removal version was not agreed on). > > Actually I agree with everything that Mike said previously and I > strongly suggest a policy that looks like this: > > Deprecation means no longer encouraged (strongly) and might be removed > in a future (major) version. > Before every new major version, review all deprecated features/usages > and decide with a simple RFC if each of them should be removed, > reviewing the current usage level and migration paths. > > Best, > Jakob > As far as this RFC is concerned (and this is the customary phrasing for all deprecation RFCs), all changes are for deprecation in PHP 8.1 and removal in PHP 9.0. That's the baseline. However, nothing prevents you from starting an RFC prior to the PHP 9.0 release that counters the prior decision and extends the deprecation period for another major version. However, the onus is now on you to argue that something previously deprecated should not be removed (or not be removed yet). If you cannot make a strong argument for that, then the default action is taken. We do still carry a couple deprecations from PHP 5 times around, because actually removing the affected functionality has some technical issues. Regards, Nikita --00000000000042c9e005c6746e8b--