Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:127330 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 CBF061A00BC for ; Fri, 9 May 2025 11:36:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1746790460; bh=H7RkZjyq4FRsBwSUIOeEQpwgXRZmiLY+771OG16WCOE=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=UAJe61yaau3IUyqV89BX+0cpDkEkFsXN1gmf7EXCaeOlgTDApyTXbQknkHtbYC5zO sFL3C38hCcGRSXZa3kc6DBU4v07UIqKSZXZuNF4ea33+k1Ii46mpdva+CO7ZdF3Evw 5WNi8KHipnl27L0eLZuxnzd1fFOTcZTT9oKquvUroQiK3viuRJLoULSnWDnyW1eWsh aWQXyPrUygxGxHrqDgiyITrO+1Bb4LrnNZh9td8qa3NlcaOWvqiaEi2EL8/O6KUDA8 0HeG+BWlZXaIKLSN2boiYCchixmBdrGb//Di55v7ls+XNUeMQTkyuJwOnONb69Zilf ox9r74xrHAFHw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id C9F9B1801E0 for ; Fri, 9 May 2025 11:34:19 +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.9 required=5.0 tests=BAYES_20,DMARC_NONE, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, 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 mail-oo1-f43.google.com (mail-oo1-f43.google.com [209.85.161.43]) (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:34:19 +0000 (UTC) Received: by mail-oo1-f43.google.com with SMTP id 006d021491bc7-6065796762fso525769eaf.3 for ; Fri, 09 May 2025 04:36:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746790592; x=1747395392; 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=H7RkZjyq4FRsBwSUIOeEQpwgXRZmiLY+771OG16WCOE=; b=h+jYgeGJ1yt/iuPXoL/PjXDyt5FXmqoA49esTxRycpvSdIWsuje1Iu41MI0Ivk2QE2 hk8/Lfh3gwO4r19HXv0xWqh9tBLCy5E0ONArNPqx3Eqz9VBiJ7FodHPNgwqSzhsWptGM rDbZK7CKkxlE1bUswY9WbcN5ec+ba3dk97XrEAe8K7ZoLxHTPi3O4IOhfGSDmsx8oezC u2sH7rq7ZnP4XH0DMJjT8EnuI8yd1JGbHt5l7N5PPq/B4zZr0s6626SdFj/tQBDIn6xt GyVlz1N0fzfEn9L6D+zKF2MajTm/wdHqGQdfFSvZcWJ3X7hnB9IwZUM0b+UwvT5WGMWb dlVQ== X-Gm-Message-State: AOJu0YzVSJ1qIOpv0Ai7fhAURc3CutXgHw959MsOHj5azHpO080qwq7m xtr21MxHKww/NvsF1ktZ6kS96YO7Pw3h3VwHB6nbtQDdRtVf5g9+JblFKSARUjth3qnaYZ9G3iA 2YkBbTlpiKmZB5+mB8aN3XXem00wA4Q== X-Gm-Gg: ASbGncvvwuDAeKkxheqY+lrDG41wvgeHxl3kySja47CZTvcUb9BbXbdNnoBA3SbDyz4 bcfX7nl+AV/9rC9xfaij4QV5KErslBELkvsHNCz/h59G37D5407nWw27uLo9ywJMcbr8/q4BQ/j rQa0JSTwtOUrfsRtof1mPTZA== X-Google-Smtp-Source: AGHT+IGI1ZSS31KuEGYQQnx5msUmln+ZOpN++kByM+EzhFpREgIpRcTonc9Fk6xqPy+y8QfMkOuDjpD5GxKtP0Lo1cA= X-Received: by 2002:a05:6820:440a:b0:603:f191:a93b with SMTP id 006d021491bc7-6084b4c5d22mr1678246eaf.1.1746790591686; Fri, 09 May 2025 04:36:31 -0700 (PDT) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 References: In-Reply-To: Date: Fri, 9 May 2025 13:36:19 +0200 X-Gm-Features: ATxdqUGvR0Z9RLSPL1kbpxeu-krjKQ2zBu5wYdBOBDq4eoqSnjNocgnARphF1J4 Message-ID: Subject: Re: [PHP-DEV] [RFC][Discussion] Policy release process update To: =?UTF-8?Q?Tim_D=C3=BCsterhus?= Cc: PHP internals list Content-Type: multipart/alternative; boundary="000000000000b6f0df0634b260d5" From: bukka@php.net (Jakub Zelenka) --000000000000b6f0df0634b260d5 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, On Fri, May 9, 2025 at 1:09=E2=80=AFPM Tim D=C3=BCsterhus wrote: > 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 =E2=80=9CMajor=E2=80=9D and = =E2=80=9CMinor=E2=80=9D > 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. Yeah it doesn't make much sense to note that RFC bit. I wanted to say that breaks are possible as it's already happening but the wording was not the best. > Some thoughts: > > - A minor version MUST NOT break syntax compatibility (i.e. every PHP > program that compiles must continue to compile). > Added this one > - Breaking changes in minor versions SHOULD be limited to extensions / > the API of functions within an extension. > I'm not sure about this wording but it's better than it was before so used that as well. > - 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). > So this would probably require the full definition of BC break and list thi= s as part of it. It might need more point though. I will think about it and try to integrate it somehow. > - 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. > Another point for the BC break definition I think. Kind regards, Jakub --000000000000b6f0df0634b260d5 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

On Fri, May 9, 2025 at 1:09= =E2=80=AFPM Tim D=C3=BCsterhus <tim@= bastelstu.be> wrote:
Hi

Am 2025-05-09 12:47, schrieb Jakub Zelenka:
> I'd like to start discussion for some release process updates defi= ned
> in
> the following RFC / linked PR:
>
> RFC: https://wiki.php.net/rfc/policy-rele= ase-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 =E2=80=9CMajor=E2=80=9D and = =E2=80=9CMinor=E2=80=9D
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.

Yeah it doesn&= #39;t make much sense to note that RFC bit. I wanted to say that breaks
are possible as it's already happening but the wording was not t= he best.
=C2=A0
Some thoughts:

- A minor version MUST NOT break syntax compatibility (i.e. every PHP
program that compiles must continue to compile).

<= /div>
Added this one
=C2=A0
- Breaking changes in minor versions SHOULD be limited to extensions /
the API of functions within an extension.

I'm not sure about this wording but it's better than it was befo= re so used that
as well.
=C2=A0
- 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).

So this would proba= bly require the full definition of BC break and list this
as part= of it. It might need more point though. I will think about it and try to
integrate it somehow.
=C2=A0
- 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.
=

Another point for the BC break definition I think.

Kind regards,

Jakub=C2=A0
--000000000000b6f0df0634b260d5--