Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:125785 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 558E81A00BD for ; Fri, 11 Oct 2024 10:33:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1728642961; bh=QN3ReWzBFjSufRAzROO+LaSZ7f97S6SokPPA5xTpljA=; h=Date:From:To:In-Reply-To:References:Subject:From; b=AYBtZ2q7QMb0/ZbGCLVEB02O99pBrByTssC0XCwyQ5GPveaKw3D0akzkX6ODprBy3 bYpeZS5S8/yeDGs0TO839E4wEQUj3+HnonX7y7bNz9tz0MS1PyS2En6yK8sgD0hnmf YpP/JtT/20lG9l4c+83XICVYN21+Sy/dk/yjFfmQL4Sj3I5CK8HbiLQROkCoE3o1lh wGZ5BOhKcTJ/g3IvIX7UAkK+5Xh+zAG72VUumrZ2mkS7D5iWA7oTZSlNSzg/IRa/uh 9XA6uBnN/xXRDiL+AmZoiHUUasrAYEWCXr4tkgHzzLfjPM7ITPkgGo1GeuWpNiG157 VoY4whFAoHr8A== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 833FD18004D for ; Fri, 11 Oct 2024 10:36:00 +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.1 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_MISSING,HTML_MESSAGE, RCVD_IN_DNSWL_LOW,SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from fhigh-a3-smtp.messagingengine.com (fhigh-a3-smtp.messagingengine.com [103.168.172.154]) (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, 11 Oct 2024 10:35:59 +0000 (UTC) Received: from phl-compute-01.internal (phl-compute-01.phl.internal [10.202.2.41]) by mailfhigh.phl.internal (Postfix) with ESMTP id 45B3411400E3 for ; Fri, 11 Oct 2024 06:33:41 -0400 (EDT) Received: from phl-imap-09 ([10.202.2.99]) by phl-compute-01.internal (MEProxy); Fri, 11 Oct 2024 06:33:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bottled.codes; h=cc: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=fm3; t=1728642821; x=1728729221; bh=QN3ReWzBFj SufRAzROO+LaSZ7f97S6SokPPA5xTpljA=; b=mbvJoP+nHMbndIGeYA7g+7lN6c B8EEzoJMt0s2+p1AxftQnZfi2JonkNUOEv7MbBZLpxpWnh/KO63PTZ/w9Cg7aVyU W5JTpJl+5YWDYxFDCinb05RRG6RXo6791gEeZEpDjuNFB/te4eJEMND7hvaDBXRm eiEzVa+oEOQdB0XbDazGd00C+Uao8F7/sh+/kxGKpR1YbP2uKTa943DlqxA11uyg expseXfgxhcz3canh0e6qhLrnauLQEjvsDzPdmZdNf27pXt8oI68UFmjpsnqVdHd ubWI9fN+UDxhFR+1gJKAPNh+C8qe9qnK//K61hqY13+JKJF0GfnACmKj1eig== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1728642821; x=1728729221; bh=QN3ReWzBFjSufRAzROO+LaSZ7f97 S6SokPPA5xTpljA=; b=JrVs1WtXq8Qsk+rdZ/JYt8079dEvzbreo0iSglL2i+FH x6MLN87182qaqt8+JbxeQ4L+ULf58fBOtA3Kz0Slhec1c/s7UJgOoD/NugSf/gg3 nuetv4ddLQlzHpbXILNVpXJzal4CQcXxNqQUM8EuYjML1B4kr1HXDHcwpfgKYwZG WbDTKgOs/iRRRUFyAnqNnGgKEOo5d2j4hClYEODB2Ly5vrVHy3V39m4w3Wi/i/rM HuI3ltGG9UKDniWOMZmJndEWH0uCMLMLtXTA39+LfSa7n7fdCJZKMVfUGaDkiHHq jvhYIFx0mZJ7tbswBPfOUMECsRRWlqGNUOXJFokwNg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvdefkedgvdelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpefoggffhf fvkfgjfhfutgesrgdtreerredtjeenucfhrhhomhepfdftohgsucfnrghnuggvrhhsfdcu oehrohgssegsohhtthhlvggurdgtohguvghsqeenucggtffrrghtthgvrhhnpedtueejtd ethfeulefhtdelieduteelffdtudelheffgedtieehhfelieejgfevgeenucevlhhushht vghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehrohgssegsohhtthhlvg gurdgtohguvghspdhnsggprhgtphhtthhopedupdhmohguvgepshhmthhpohhuthdprhgt phhtthhopehinhhtvghrnhgrlhhssehlihhsthhsrdhphhhprdhnvght X-ME-Proxy: Feedback-ID: ifab94697:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id DDC88780069; Fri, 11 Oct 2024 06:33:40 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Date: Fri, 11 Oct 2024 12:33:20 +0200 To: internals@lists.php.net Message-ID: In-Reply-To: <30a41608-a1ea-40a9-8d2a-c53c508cd89f@jnvsor.net> References: <2A7CF24F-3AE3-4125-965F-C65431C42DFB@gmail.com> <30a41608-a1ea-40a9-8d2a-c53c508cd89f@jnvsor.net> Subject: Re: [PHP-DEV] Asymmetric visibility is a BC break Content-Type: multipart/alternative; boundary=1a313d580a084553b20d4bba9c86ec56 From: rob@bottled.codes ("Rob Landers") --1a313d580a084553b20d4bba9c86ec56 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Fri, Oct 11, 2024, at 12:20, Jonathan Vollebregt wrote: > > A "proper" implementation won't break, but there may be subtle ways = that "improper" implementations will break and thus it should be conside= red a BC break. >=20 > This thread is fallaciously equating breaks in third-party libraries=20 > _when changing consumer code_, with breaks just by updating PHP. >=20 > If I'm in PHP 8.1+ and I pass an object into a library and all goes=20 > well, then I change a property to readonly and get an error, that's no= t=20 > PHP making a breaking change by allowing me to use readonly. That's an=20 > outdated library (and me) breaking my code. >=20 > I've had my reflection code break on backwards compatible changes load= s=20 > of times, but every time it required the user to make a change to thei= r=20 > code first. >=20 > Valentin's list of examples proves this point. They worked fine on 8.1=20 > _until_ people changed code to add readonly. That's not a BC break. Sa= me=20 > deal for aviz. >=20 I guess what I am saying is that we probably need a proper definition of= "BC break". IMHO, adding a php version check to do something is probabl= y a BC break. Serializers will need a version check, thus it is a BC bre= ak. =E2=80=94 Rob --1a313d580a084553b20d4bba9c86ec56 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
On Fri, Oct 11,= 2024, at 12:20, Jonathan Vollebregt wrote:
> A "proper" implementation won't br= eak, but there may be subtle ways that "improper" implementations will b= reak and thus it should be considered a BC break.

This thread is fallaciously equating breaks in third-party librar= ies 
_when changing consumer code_, with breaks just = by updating PHP.

If I'm in PHP 8.1+ and I p= ass an object into a library and all goes 
well, then= I change a property to readonly and get an error, that's not 
<= /div>
PHP making a breaking change by allowing me to use readonly. T= hat's an 
outdated library (and me) breaking my code.=

I've had my reflection code break on backw= ards compatible changes loads 
of times, but every ti= me it required the user to make a change to their 
co= de first.

Valentin's list of examples prove= s this point. They worked fine on 8.1 
_until_ people= changed code to add readonly. That's not a BC break. Same 
deal for aviz.


I guess what I am saying is that we probably need a proper defini= tion of "BC break". IMHO, adding a php version check to do something is = probably a BC break. Serializers will need a version check, thus it is a= BC break.

=E2=80=94 Rob
--1a313d580a084553b20d4bba9c86ec56--