Re: [RFC2] Handling Backwards Compatibility in PEAR

From: Date: Sat, 20 Sep 2003 10:01:17 +0000
Subject: Re: [RFC2] Handling Backwards Compatibility in PEAR
References: 1  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-21837@lists.php.net to get a copy of this message
On 20 Sep 2003 at 11:59, Jan Schneider wrote: > Zitat von Stefan Neufeind <stefan@neufeind.net>: > > > On 19 Sep 2003 at 17:08, Greg Beaver wrote: > > > > [...] > > > If a package intends to remove or change the name of API elements, > > > this must be clearly marked in at least 1 release before they are > > > removed (see HTML_QuickForm). When the API is changed, the > > > version number shall increase to the next whole number. In other > > > words, if the API changes for Foo version 2.7.2, the next release > > > is version 3.0 > > > > This is not what we discussed, right? This way you can't have a 2.x > > and 3.0 co-exist on a system. For sure this should be no problem on > > a computer you're working on - but it might become a problem in > > webhosting-environments. You can't just judge on what version > > installed packages depend but you also need to judge: - if any > > packages that may need to be installed in the near future depend on > > the old version - if any apps (that you don't know of because > > they're not listed in the package deps) still need the old version > > > > Even if you remove one or two functions or rename them you will > > break BC - and this should, in my eyes, be a new Foo2, v2.0. For > > sure the dev should consider this version step / API breakage > > carefully so he doesn't run into version 68.5 after a year :-)) So > > if the API changes we could suggest that the new API set is thought > > about carefully and that all plans for the foreseeable future are > > considered in one (!) API-breakage-step. > > Agreed, this is how I understood the discussion so far. The benefit of > this solution and the original motivation behind Greg's RFC1 was in my > eyes, that we could handle bc breaks without changing the current > installer code. That is because it simply is a new package that can be > installed next to the old one. > > And I still find it confusing for users to have Foo 2.0 as well es > Foo2 1.0 (or should it be Foo2 2.0 then?) as viable version numbers, > even if they can't exist at the same time. As I conclude from the previous discussion if Foo and Foo2 exist, then Foo2 should start with 2.0 and Foo should be <2.0. But if only Foo and Foo3 exist could then Foo be <3.0? Someone said that we could even have Foo 1.999 and therefor wouldn't need to make it 2.0 (Foo2- 2.0) if the API is not broken and a new major release is necessary. Stefan

« previous php.pear.dev (#21837) next »