Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:127107 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 qa.php.net (Postfix) with ESMTPS id 36DB31A00BC for ; Mon, 14 Apr 2025 10:36:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1744626846; bh=4XawY8xJtE0oab7O/uKvKv6AIPN41i3oYP9puEzZXbk=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=UGbxEjFIJyEvgAwymt2yjwc9r68i78jm+BjxIq0X3TimXn/CQyHN5rv6Sjg+GSkE3 2+VnQASY5nM5UbfU0E6xv4jBVUw96RFRzWJjPND7eD7fN2u26nAZJ5D5Qy1g8hoyV2 xmmUdkcHYrQQVZu7yrvSnIGIBojb/4XVzUXWIXgQDoz1KV0smIbipQ6c8Aepd0C7tg fts1l5T0CjTCfck0qrq3s9u/cvNXq/EYZlCaOoLkoVKWW49+pwnhgy4SFgqjtmixYs W1pNHO/ic7Qsg8BSKkVt3Ymm+2bDgpAGw2rCRIxPHCbybsXZtut54LCX0LBon7kgnh OB7WDp0Uxw5oQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 668B0180079 for ; Mon, 14 Apr 2025 10:34:05 +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.4 required=5.0 tests=BAYES_05,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: No X-Envelope-From: Received: from mail-ot1-f45.google.com (mail-ot1-f45.google.com [209.85.210.45]) (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 ; Mon, 14 Apr 2025 10:34:05 +0000 (UTC) Received: by mail-ot1-f45.google.com with SMTP id 46e09a7af769-72c13802133so1280568a34.3 for ; Mon, 14 Apr 2025 03:36:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744626987; x=1745231787; 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=ngyr4penA5fdiClxHxN2AioNpICY0LGwPcLlq5Fajuc=; b=rhKUiVgga1n6EkZXbmQJGfmdxVrmz+9b4/C3V7AaKVVuHW+ArCl39G74StBDnG06Y7 XIpHxiIYJM5uQPKlUr7Iy/YbN3NCnA8sM34XLBDTH9tgZRD79dMD9meBeEC4QrOwWC14 tRhlTkXf0B+r6UGHx9SCY6B/h+Xr+pQADkHcXX4WgpvPGf1/FbY0WxuFJul0+BCgbdi3 zgC1QsybyH+4wQ/mhe59JRh+LO1u8ukTIIgADkCR8TubBVarh2XFGyyElmPU7iAEZ9GQ e1F/5AZ7/dxc+THz7OK6/GxDQEx/abd4cH9WhlgDAMKqD5NjbpQE2V4L5GFLUoEIi3hl z5RQ== X-Gm-Message-State: AOJu0YwJzoQqFth2q0DE2C2t7aWeXmSzVxkOwk72qNCROTQK2BD/CPy3 05+QNtZ8EkcLhS7C+ioZdY1z25JQDXRcIhaJc0rUNLE91Dku58I1F3NI24kzYI8oEQ/BPskHxB0 cHWS/UILn4fxDUcUp41arOO+gUZdRKg== X-Gm-Gg: ASbGncuO4BuFqK2wT3c6U5J3/z1FqBH+7zUKMgN1bCgSD65OiqqJvUFzJJQ4nJRWzIt 3CYAB3yu5/HCo/SVbJK/E3WP92EC2vrG1+JHjouxOnwW986lsMyDZJB0cckpMpn76aouXzTC93R vEUVTMckRa+QiGQCPGfzfpKQ== X-Google-Smtp-Source: AGHT+IF1iu9dbtdwdz9VndnJucWdUj0Bd8qOzwDkw0Ohk3j6LYi+7YMbyA7RPeqhB8pHM2RaB4cKviYmPWzwq3AxDzo= X-Received: by 2002:a05:6808:1301:b0:3f9:4f55:a002 with SMTP id 5614622812f47-40085030af4mr6982892b6e.12.1744626986765; Mon, 14 Apr 2025 03:36:26 -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: Mon, 14 Apr 2025 12:36:15 +0200 X-Gm-Features: ATxdqUEmmiy49exAm83BxnTzjH3-w0WVS76ip2rZeL2jun7u7FbblpEPnMJ-zZM Message-ID: Subject: Re: [PHP-DEV] [RFC] [Discussion] Minor version compatibility To: Jorg Sowa Cc: PHP internals Content-Type: multipart/alternative; boundary="000000000000cfd73f0632ba9f77" From: bukka@php.net (Jakub Zelenka) --000000000000cfd73f0632ba9f77 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, On Sun, Apr 13, 2025 at 11:09=E2=80=AFPM Jorg Sowa wr= ote: > Thank you all for the feedback on the topic of BC breaks in argument > validation https://news-web.php.net/php.internals/126706 > > I have collected all concerns, prepared an RFC for this change, and I'm > opening discussion on its content: > https://wiki.php.net/rfc/minor-version-compatibility > > Since this touches on the broader topic of release policy and BC > expectations, I=E2=80=99d also like to open the door for related improvem= ents. > Rowan raised several valid points that highlight the need for clearer > communication and expectations around minor version changes. If the > community feels it's appropriate, I=E2=80=99m happy to include these sugg= estions in > the voting. The more clearly BC policy is defined, the less time we=E2=80= =99ll need > to spend on debating individual cases in the future. > > Rowan=E2=80=99s suggestions included examples like: > > Maybe we could work on some criteria that could be applied (and publicise= d > to users) about what is and isn't allowed in minor versions. > For instance: > > - > > Code that already causes fatal behaviour might cause different fatal > behaviour (e.g. throwing an Error instead of raising an E_ERROR) > - > > Code that directly violates documented types might start throwing > TypeError > - > > Code that previously returned null for invalid inputs might start > throwing ValueError > > This looks a bit too generic to me and it might significantly differ based on use case as Bob noted. I think we should leave some flexibility and rather add rules for specific issues where we need some defined approach. In this case it is handling of errors for cases where only constants are documented. Kind regards Jakub --000000000000cfd73f0632ba9f77 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

On Sun, Apr 13, 2025 at 11:09=E2= =80=AFPM Jorg Sowa <jorg.sowa@gmail.com> wrote:
Thank you all for the fe= edback on the topic of BC breaks in argument validation https://news-web.p= hp.net/php.internals/126706

I have collected all concerns,= prepared an RFC for this change, and I'm opening discussion on its con= tent: https://wiki.php.net/rfc/minor-version-compatibility
<= br>
Since this touches on the broader topic of release policy and BC e= xpectations, I=E2=80=99d also like to open the door for related improvement= s. Rowan raised several valid points that highlight the need for clearer co= mmunication and expectations around minor version changes. If the community= feels it's appropriate, I=E2=80=99m happy to include these suggestions= in the voting. The more clearly BC policy is defined, the less time we=E2= =80=99ll need to spend on debating individual cases in the future.

Rowan= =E2=80=99s suggestions included examples like:

Maybe we could work on some criteria that could be applied (and publicis= ed to users) about what is and isn't allowed in minor versions.
For instance:

  • Code that already causes fatal behaviour might cause different fatal beh= aviour (e.g. throwing an Error instead of raising an E_E= RROR)

  • Code that directly violates documented types might start throwing = TypeError

  • Code that previously returned null for invalid inputs might= start throwing ValueError


This looks a bit too generic to me and it mig= ht significantly differ based on use case as Bob noted. I think we should l= eave some flexibility and rather add rules for specific issues where we nee= d some defined approach. In this case it is handling of errors for cases wh= ere only constants are documented.

Kind regard= s

Jakub
--000000000000cfd73f0632ba9f77--