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 considered a BC 
> > break.
> 
> This thread is fallaciously equating breaks in third-party libraries 
> _when changing consumer code_, with breaks just by updating PHP.
> 
> If I'm in PHP 8.1+ and I pass an object into a library and all goes 
> well, then I change a property to readonly and get an error, that's not 
> PHP making a breaking change by allowing me to use readonly. That's an 
> outdated library (and me) breaking my code.
> 
> I've had my reflection code break on backwards compatible changes loads 
> of times, but every time it required the user to make a change to their 
> code first.
> 
> Valentin's list of examples proves 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 definition 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.

— Rob

Reply via email to