Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:127105 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 D05871A00BC for ; Sun, 13 Apr 2025 21:07:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1744578297; bh=aj0xgKBT4T4PTlEjf7XxKSXUpYcxOT+glXGnDajdAoI=; h=From:Date:Subject:To:From; b=bhY30GboYXWjZy7FiKK1ptPe9p+YLjWfsJew/oYQo4P6+7Jouy/EBrMH9DoSzppHN Wea4mrTpwa2ZtaYN8sgbPphjMpsfRlJHmToIeUg1IK8vlfsSS3s90Cmcm2If/LMq9Q bMciB3DKOyZ1uhXkcParxA9i6z3Cwdx+2DtpYFQI8q8DDp+bXnp7qU3jvVRFrG8Liu LSpfv+pWxh8rZQ1YfQvaWsnPtV8lXMNVGSV/iKy7qQ19BzBHu8nFN4J7ZSAEpgJcaD pKaU+2fg/buOxRchTxr9X6WweM7vqKDImaVeFGQL3yKXaTI7AekfpIQ9Qta6yrwWdK chUNWdhk2Mvxg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 0FC35180084 for ; Sun, 13 Apr 2025 21:04:57 +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.2 required=5.0 tests=BAYES_20,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, 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-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) (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 ; Sun, 13 Apr 2025 21:04:56 +0000 (UTC) Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-306b6ae4fb2so3364052a91.3 for ; Sun, 13 Apr 2025 14:07:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744578438; x=1745183238; darn=lists.php.net; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=ccoZ6MdJbx1J3nZas+Rc4NDz95trY0b5pGrHLSqxNaQ=; b=fdbHbjFdr1dyGyO80cql46GdPfIac/CDMC2KH/GqqbJBugdfGt4//0cI2l6Qbb7F1u fBVEg5hOZX85PoxybpVcGsPmJuhX8sEXR5kBflhiuEEhiRBVornpQZah/AzwtiYaZgcv GBl+yNsFXFj+cDW25ijOxuJjQW0Ad/qbxL8lGXYVEWTpYI95u4AbFGmkbtFmqwYDOa1R KjfUJZIhIZLmMzZ4OzumwK6qQTiHgoEWS73K8f+d7BHJ4ZCv62oOWKRuVQ6rEkHD4eyt HONrBea0rHtL/KyuXuL94DfKCeUe1IqlNDENik9fmkdZFHLOtB6h2BIfv3dVpPk3GQyI LCfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744578438; x=1745183238; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=ccoZ6MdJbx1J3nZas+Rc4NDz95trY0b5pGrHLSqxNaQ=; b=q/R5Gq8wMrCR2Tw83fl4KWEQMWd4jRDGyx80X4ZnrVqIv4Tj5xsrebRXsV6t18svx0 KlnS+PiyHbwv6Tqzm1m5cwk66TclXUPGCTXrDjR1KgJ/huXm7rowhSit5GOcQq3qzFZV UyPu+TWMItpk62lZhBpnJMWv0Txw4BQJ2ra03N9nTspiGrpzCJ4Eh0NHvVbbHQ/u2tUF JmeNKet504JlUaa9UpZQ5MgYDelY7+6rWr6H/bruyFMcII3hmpvqb8MGR/R8j0TwMHKJ SM9jVx4ZaLcZKCOggTU8F1wAdlOQWCCT2gVlDIC2NSRXUDatYprnFVlJSOtFzNcrGUHy PyyA== X-Gm-Message-State: AOJu0YxMLMu0FONG0ee2c0rSUOYwkW1Bd80s6FoKNcfW0RBzppIViZA/ VP76Ai4O6P9Wpz5Ohsa8aJ6h9HoHyn153G9ZU8dI1wEZhmhj8tAmV58LpxqA1CG68ZiNORhGc7b V6GWxVJk3pTYdJ1BAobvCxaRRUNo3Xro4 X-Gm-Gg: ASbGncsZy+Fes4fEVKF2VzdMz/7atQcSQ9qnwX73AB6NRO7VUsEOnzV7yWD3BMnqatz HuPYBvkPB8J9W2wqXYIdq6vpPpeVMLpevzHOmKD4TWRiREjWUXr3j6yG7Fynh7yH111HEF147MC DCb+ekdpwDGopRM6naxDyJ6SjLKFvAqPHNng== X-Google-Smtp-Source: AGHT+IHiqkOZjM2rQsao5QsWf68lueq8+z88oiaQUceuAUtN4/k0UDPm5kxF1rKpX/kJ+aXCGCWdQguKePZH1ojYYGM= X-Received: by 2002:a17:90b:520e:b0:2ef:67c2:4030 with SMTP id 98e67ed59e1d1-3082367ccdamr13525442a91.27.1744578438410; Sun, 13 Apr 2025 14:07:18 -0700 (PDT) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Date: Sun, 13 Apr 2025 23:07:07 +0200 X-Gm-Features: ATxdqUGiWr1Qo6o8xVAY4sQR50HEJGmEPgkMgO8YaFakVjoJk_QHFO18ITzATSc Message-ID: Subject: [PHP-DEV] [RFC] [Discussion] Minor version compatibility To: PHP internals Content-Type: multipart/alternative; boundary="0000000000001ab77c0632af52db" From: jorg.sowa@gmail.com (Jorg Sowa) --0000000000001ab77c0632af52db Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 improvemen= ts. 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 sugges= tions 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 publicised 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 Kind regards, Jorg --0000000000001ab77c0632af52db Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thank you all for the feedback on the topic of B= C 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= 9;m opening discussion on its content: https://wiki.php.net/rfc/minor-version-compati= bility

Since this touches on the broader topic of release = policy and BC expectations, I=E2=80=99d also like to open the door for rela= ted improvements. Rowan raised several valid points that highlight the need= for clearer communication and expectations around minor version changes. I= f the community feels it's appropriate, I=E2=80=99m happy to include th= ese suggestions in the voting. The more clearly BC policy is defined, the l= ess time we=E2=80=99ll need to spend on debating individual cases in the fu= ture.

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

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

  • Code that already causes fatal behaviour might cause di= fferent fatal behaviour (e.g. throwing an Error instead of rai= sing an E_ERROR)

  • Code that directly violates documented types might star= t throwing TypeError

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

Kind regards,
Jorg
--0000000000001ab77c0632af52db--