Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:128837 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 92ABB1A00C8 for ; Tue, 14 Oct 2025 13:35:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1760448941; bh=7UgNUs0WmIgbhuVTtvbhJCYEw+Fdh5LYp9fdJXQLI1E=; h=Date:From:To:In-Reply-To:References:Subject:From; b=Dx5RQPpIk0fLrMyMKZOaPjV2xLKEcB4dw0TYdeaajW5d4fK5i/N7OVEwY+Kb1r4DZ 2Jqm7lWY4QMlM1tQc+wztpxbgMCel34/hLblb1opmhS23yxGf3d1ywqHOROyRj631H j2InW7ii6b9biHAHnHIt+QdSSiqI9KwxdQnZEA/Bnqb3tIKIx2T+ro2Fp4NMygTNXj d2fiWrO+Q5nrRZGs7C1aUHZ9ijD/MebNfa0v2+GFGmTPtdm6sxoYVelbZEpchj9JIQ HUnHMMlQEqrHff3C3V/HMjAEvzz0c7nnT0DCjd/WlTr9wgKtOZDXyvmcK1HTIB9GnB aPhj/7hcssjWQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 4AEA11804B0 for ; Tue, 14 Oct 2025 13:35:38 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_20,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_MISSING,RCVD_IN_DNSWL_LOW, SPF_HELO_PASS,SPF_NONE autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from fout-a5-smtp.messagingengine.com (fout-a5-smtp.messagingengine.com [103.168.172.148]) (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 ; Tue, 14 Oct 2025 13:35:36 +0000 (UTC) Received: from phl-compute-10.internal (phl-compute-10.internal [10.202.2.50]) by mailfout.phl.internal (Postfix) with ESMTP id 4C4FCEC027B for ; Tue, 14 Oct 2025 09:35:31 -0400 (EDT) Received: from phl-imap-02 ([10.202.2.81]) by phl-compute-10.internal (MEProxy); Tue, 14 Oct 2025 09:35:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= garfieldtech.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to; s=fm2; t=1760448931; x=1760535331; bh=SWxKZ20ojVNgQ96ew7XX/ bMNjVBCLddrOSFyXCXgRH4=; b=ebeYUOxcRP6W0XBPXhU1ZSHT56Bx67z9HBJ9t ZLbKcRXNuHxTxdtHSJCv7ANiZoTf0sC5l4KxslMp2G6lwHOqz9Zk92jbVMhFqnUT x8B6Qk1clZB1phrCHq3cSIROnGgjaYBUg6atmYEGsB5Cn68TjlpUVFw8PCgaIxQG 7qWZ27ymcSOpJ3zTFULXB4ItCZL7Df0wiWnwGlg95j/3hB94JQhkayLOUVEmdl/y +kSFXBhdllxbBogjHn7LDNoxw82CX5y1ai9LImhPkvtpb86xZ5UOzLXwGRl3+Nel np2j3YHgJ1dPEPFaOw2I6qL78iddNEMLrjPlq53P3etDYeLkA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; t=1760448931; x=1760535331; bh=S WxKZ20ojVNgQ96ew7XX/bMNjVBCLddrOSFyXCXgRH4=; b=bKdpogYu2rCpPZrE9 WfQ9oeC5KTZJ2k5lC2pcUU3o3qoBpejO7IH/00/wrIYza8YjXykx+jdCLqhDvPqZ b85KQliF9ARwGxN+h3WmkiwMZ6B+6G+zL/AwO8TULopksSmQOdlP7+XI3jxz+rYf wfxUiHWDWkZ4gOwG/NtYDq1rBAgflU3ozlkupDLqk/I2Zw8SmImDqhpMkQ9CAedV q3dafT5IKdv5R5xGaGN+gh6dIf4nf7d1UaEuZEGHIC4Oae5veFxU5mloEf8Hs6fI c9fQVv1c73CnKfsy1XQwHk2+pt0X3eGovAWAANeDALFoFXWXrYKocjTD5u8/lgLD azrCA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggdduvddtieeiucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepofggfffhvffkjghfufgtgfesthejredtredttdenucfhrhhomhepfdfnrghrrhih ucfirghrfhhivghlugdfuceolhgrrhhrhiesghgrrhhfihgvlhguthgvtghhrdgtohhmqe enucggtffrrghtthgvrhhnpedugedvlefgueegheefjeetffduveeltefhfeegjeffffel gedttdevkeegkedugfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrih hlfhhrohhmpehlrghrrhihsehgrghrfhhivghlughtvggthhdrtghomhdpnhgspghrtghp thhtohepuddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepihhnthgvrhhnrghlsh eslhhishhtshdrphhhphdrnhgvth X-ME-Proxy: Feedback-ID: i8414410d:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 01433700054; Tue, 14 Oct 2025 09:35:30 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 X-ThreadId: AZUKM1phkfrR Date: Tue, 14 Oct 2025 08:35:10 -0500 To: "php internals" Message-ID: <28f004ab-76c9-4d5b-8210-1f506133aaa5@app.fastmail.com> In-Reply-To: References: <13c2d58e-b6ff-4fa4-b5b9-c6d39104ba45@app.fastmail.com> Subject: Re: [PHP-DEV] Re: [RFC][Discussion] Policy release process update Content-Type: text/plain Content-Transfer-Encoding: 7bit From: larry@garfieldtech.com ("Larry Garfield") On Mon, Oct 13, 2025, at 5:28 PM, Gina P. Banyard wrote: > On Monday, 13 October 2025 at 19:42, Larry Garfield > wrote: >> >> My only pushback is not specific to this PR, but more that this PR would be a good time to address this existing gap: >> >> Under Major Version releases >> >> > - Significant userland API backward compatibility breaks SHOULD be preceded >> >> by the deprecation phase in the previous major version. >> >> Right now, that deprecation phase could be as little as 15 months, or as long as 5-6 years (and counting). And when deprecating something, we have no idea how long it's going to be deprecated before it's removed. That's decided well after the fact, whenever it's decided (by whatever means) that PHP.next will be a major this time. >> >> This is hostile for users, who do not know, and cannot know, how long they have to address deprecations. Things deprecated in 8.5 (of which there were many) could be removed as soon as November of 2026. Things deprecated in 8.1, however, have been deprecated for ~4-5 years now, and also could be removed in November of 2026. >> >> I would very much like us to put more structure around deprecations, when they happen, and the release cycle to support that. Fixing the number of years between Majors would be ideal, as then everyone can plan better around deprecations. (Eg, we can say "no deprecations in the last minor of a series", to ensure all deprecations have at least a 2 year window to address.) As is, it's still largely guesswork for everyone. >> >> --Larry Garfield > > I vehemently disagree with this proposed policy. > > Either we move to a system where deprecations are removed in constant > intervals, e.g. every 3 years like Python does regardless of what the > version number is, > Or we continue our "semver-ish" policy where we only remove > deprecations in major versions. > Users are *not* forced to upgrade to a new major version when it is > released, and restricting when php-src can introduce deprecations is > not something that is practically doable. > A bunch of deprecations were already pushed back from 8.0 to 8.1 > because we were told deprecations in a brand new major release just > adds extra friction, and now you are floating the idea of no > deprecations in the last minor? > Deprecations are basically never planned, because most, if not all, of > them are proposed after someone encounters an oddity in the language. > Contributing to php-src is not easy, and we already have lost > contributors by telling them that they should have proposed X 2-3 years > ago because "now" is inconvenient. > > Any policy that aims to restrict when php-src can or cannot do > something will get an automatic NO from me. > > Best regards, > > Gina P. Banyard There were like 3 or 4 proposals in my spitballing above. I am not wedded to any in particular: My point is that right now, the handling of deprecations and their scheduling is user-hostile. We should fix that. That may involve some inconveniences for Internals, but... everything is a tradeoff. If it's a small inconvenience in return for a much more predictable and reliable release cycle for users, then frankly that's a win. The details I am flexible on and happy to discuss options. --Larry Garfield