Versioning (resent AGAIN due to lack of replies)

From: Date: Sun, 16 Sep 2001 19:42:16 +0000
Subject: Versioning (resent AGAIN due to lack of replies)
Groups: php.dev 
Request: Send a blank email to php-dev+get-66055@lists.php.net to get a copy of this message
I was thinking of PEAR too, don't worry. :) But the versioning scheme/rules for PHP must be strict. Consider following: We have a numeric version constant: PHP_VERSION_NUM the value for this is calculated with this simple formula: v.m.b = v * 10000 + m * 100 + b v = Changes only when there are big BC breaking changes or when there are big portions of code rewritten, deprecated functions removed, functions behaviour changed..etc. m = Changes only when new functionality is added. b = Bug fixes ONLY. No new functions added. No API changes. examples: 4.0.7 = 40000 + 0 + 7 = 40007 4.1.1 = 40000 + 100 + 1 = 40101 Having PHP_VERSION_NUM would allow PEAR modules (or any other PHP script) to check the version. For example: Module A depends on functions added in version 4.3.2. They could use something like this: if(PHP_VERSION_NUM < 40302 || PHP_VERSION_NUM > 50000) { die("Incorrect PHP version."); } Now if we would follow the rules for versioning set above, they could also _trust_ that this check would always work. As there could not be any BC breaking changes between major numbers. (e.g. 4.0.0 < x < 5.0.0) And also the extensions must follow the same rules as the core PHP. ie. every extension defines it's own version number, calculated with same formula: GD_EXT_VERSION = 30201 Now someone can step forward and tell me that this is already possible. If not, then I would like to know if all of the developers agree on this. And if not, WHY. :) --Jani On 11 Sep 2001, Stig Sæther Bakken wrote: >[Jani Taskinen <sniper@iki.fi>] >> [this is more php-dev stuff, thus moved there] >> >> Warning: >> >> This is yet another beaten up issue but as it still hasn't >> been fixed, we need to find a solution to fix it. >> >> >> Problems: >> >> Viability, BBC, WTFF, old extensions used with new PHP version. >> >> >> Proposals: >> >> My proposal is that first we come up with a versioning scheme >> with which everybody can agree on. Then we can release this >> scheme to 'public' and hopefully not have to discuss/fight >> about this again. >> >> >> Examples: >> >> >> http://java.sun.com/products/jdk/1.2/docs/guide/versioning/spec/VersioningSpecification.html >> >> http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html >> http://www.zenspider.com/ZSS/Definitions/Versions.html >> >> (the last one is something that I'd like to see for PHP) >> >> >> Also, to make NEWS file more useful than it is now I (again) >> propose that it is reorganized like this: >> >> Categories: >> >> ! Important note >> * Changed >> + Added >> - Removed >> >> >> Reasoning: >> >> There has to be clear document that describes when and why a version >> number changes. If someone doesn't understand WHY this document is >> needed they should read the rest of this email. :) >> >> >> --Jani >> >> p.s. Rest can be safely ignored. It is just there to show what happens >> everytime this issue raises it's ugly head and shouts: "BOO!".. > >Take a look at http://cvs.php.net/co.php/pearweb/sql/design.txt. >There's a versioning section at the end there, intended for PEAR. >Anything we can use? > > - Stig > > -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe@lists.php.net For additional commands, e-mail: php-dev-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe@lists.php.net For additional commands, e-mail: php-dev-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net

« previous php.dev (#66055) next »