Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:127329 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 DFE391A00BC for ; Fri, 9 May 2025 11:09:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1746788851; bh=oyN1AvndxKPHlrGrUrcIDN4ZdXxjMW8DXpD8YFPvbUA=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=NAOMJrTcr5gvFEwBpCf0o0mDbl+mH615+yjgrr/ejkdhGyjDYk4FrlNwykgnVnF7V YrCv5dk/SilRPJJ2C+MVOSgzMhbee5Ae3f35uQA34+V2LQTUHU3fTmRL6WP2+q3fVK 17t2MPH7Oauj/Rsk/IQQLViQt8fBhslqMa/r4NJza4Dr4FKhQpZ9EoFWa0jgMBGGeX U/WQRQov71E7yJNUL/V5Eb9FcccucdyN1658gKAWjGcqk0tiq6REBx3ZjbTGDE8O+6 5qvNRtBPPUQplMLa874jXEv2rVsx4oNl3D9ocIuQK3UnY7G0C7UVNAsqmPhuAJhZzj +NJTQq9NZcpqg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id B81FA180080 for ; Fri, 9 May 2025 11:07:30 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,SPF_HELO_NONE, 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 chrono.xqk7.com (chrono.xqk7.com [176.9.45.72]) (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 ; Fri, 9 May 2025 11:07:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bastelstu.be; s=mail20171119; t=1746788981; bh=kKhdNeQgD5tNg1VUMOkWD1laUkv3y3LnTIywzjUyU9M=; h=MIME-Version:Date:From:To:Cc:Subject:In-Reply-To:References: Message-ID:Content-Type:from:to:cc:subject:message-id; b=lIqoulZ3AVLD6qIjsW6RX9TVdw4spyPsIw5qR/G2Zl9ZtLrWUeNOtmuqOT1a4/R4a bxUimHL6XSoVWOUZueIx7azGJ2no5eT77VKnR/R/K7LAgaYFPKVbtpo8NexozExB2R 9rDdIGah1xGP7smquyCBGf4eMTciOEVsoWU6G300C5QXykCXp+xLGr4r+GSAPS8Iik Ri5svoQzADzcFLvJ+9DfrLm0ofzoitrJCB5ofl2HUN3oGsZo18Uo4CUDsuNHKDl8ev ewqkpB54pajju7EE4oSx++wdVCWArIe2TUNa12rOZGNynlaM6tvYxjX/MrZuQcq3c+ n46lJK4VogcTQ== Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Date: Fri, 09 May 2025 13:09:41 +0200 To: Jakub Zelenka Cc: PHP internals list Subject: Re: [PHP-DEV] [RFC][Discussion] Policy release process update In-Reply-To: References: Message-ID: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit From: tim@bastelstu.be (=?UTF-8?Q?Tim_D=C3=BCsterhus?=) Hi Am 2025-05-09 12:47, schrieb Jakub Zelenka: > I'd like to start discussion for some release process updates defined > in > the following RFC / linked PR: > > RFC: https://wiki.php.net/rfc/policy-release-process-update > Policy PR: https://github.com/php/policies/pull/19 Thank you. The changes seem to accurately reflect the current practice and make sense to me. I however noticed that “Major” and “Minor” versions both effectively have the same allowances. Perhaps we could add some additional nuance as to what breaking changes are allowed to be approved by an RFC in a minor version, since breaking changes in majors should also require an RFC. Some thoughts: - A minor version MUST NOT break syntax compatibility (i.e. every PHP program that compiles must continue to compile). - Breaking changes in minor versions SHOULD be limited to extensions / the API of functions within an extension. - The addition of deprecations themselves is not considered a breaking change (to resolve the discussion that comes up for each and every bulk-deprecation RFC, when you convert Deprecations into Exceptions that's on you). - The addition of new symbols (e.g. functions or classes) might conflict with user-defined classes, but this is not considered a breaking change. An RFC should make a best effort to minimize the impact of a new function name by choosing among equally good names (but not unnecessarily choose a worse name, just because it is less likely to break). This is already implied by it being legal to add features without an RFC, but would be good to spell out explicitly. Best regards Tim Düsterhus