Friedrich.Leisch@ci.tuwien.ac.at
2002-Oct-28 09:07 UTC
RFC: no automatic updates of packages with major version change
We (Kurt Hornik, Brian Ripley & I) want to propose the following change to the automatic package updating mechanisms of R: A major version number change of a package will by default disable the automatic updating of packages, because the interface of the package might have changed and hence old code might not run anymore. A recent example was the release of mclust version 2.0, which is not fully compatible with mclust 1.x (functions got removed, others added and arguments renamed etc). Of course it is absolutely OK for a package to change its API, otherwise improvements would be rather hard, but it should be easier for users to stay with the old version until they have figured out what exactly the effects of an upgrade would be. We want to define a "major version number change" as a change of the first digit of the version number, such that 1.1.1 -> 2.0.0 is a major change, while 1.1.1 -> 1.2.0 is not. An exception will be that a move from 0.x to 1.x is no major change (because the 0.x series is read as "working towards 1.0"). In case of a major change *) update.packages() will warn the user if ask=TRUE, like mclust : Version 1.1-7 in /usr/local/lib/R-contrib Version 2.0-1 on CRAN WARNING: major version number change Update (y/N)? *) if ask=FALSE, update.packages() will cowardly refuse the updates and issue a warning for all packages that have not been updated. *) the same will be done for the methods working off packageStatus objects. Note that we are already working on new package management tools which should make it easier to have multiple versions of a package installed simultaneously. All comments are welcome. Best, Fritz -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
Torsten Hothorn
2002-Oct-28 10:19 UTC
RFC: no automatic updates of packages with major version change
> > We (Kurt Hornik, Brian Ripley & I) want to propose the following > change to the automatic package updating mechanisms of R: A major > version number change of a package will by default disable the > automatic updating of packages, because the interface of the package > might have changed and hence old code might not run anymore. > > A recent example was the release of mclust version 2.0, which is not > fully compatible with mclust 1.x (functions got removed, others added > and arguments renamed etc). > > Of course it is absolutely OK for a package to change its API, > otherwise improvements would be rather hard, but it should be easier > for users to stay with the old version until they have figured out > what exactly the effects of an upgrade would be. > > We want to define a "major version number change" as a change of the > first digit of the version number, such that 1.1.1 -> 2.0.0 is a major > change, while 1.1.1 -> 1.2.0 is not. An exception will be that a move > from 0.x to 1.x is no major change (because the 0.x series is read as > "working towards 1.0"). >This definition requires EVERY package maintainer to be VERY careful about version numbers / API changes and I guess some of us (including me) may fail this exercise. I suggest the following definition: the API of a package changed iff the example code of the previous version of the package does not run without an error. In contrast, the results of the computations may differ. Of course, this induces additional effort to the CRAN maintainers but it should be possible to extract and check the examples of a CRAN package against a new version BEFORE uploading the new version to CRAN. In addition, a flag `APIChange TRUE / FALSE' visible to `update.packages' is needed. Or should this be part of R CMD check? Maybe R CMD check can download the `official' release from CRAN to check against an API change and give a warning? best, Torsten> In case of a major change > > *) update.packages() will warn the user if ask=TRUE, like > > mclust : > Version 1.1-7 in /usr/local/lib/R-contrib > Version 2.0-1 on CRAN > WARNING: major version number change > Update (y/N)? > > *) if ask=FALSE, update.packages() will cowardly refuse the updates > and issue a warning for all packages that have not been updated. > > *) the same will be done for the methods working off packageStatus > objects. > > Note that we are already working on new package management tools which > should make it easier to have multiple versions of a package installed > simultaneously. > > All comments are welcome. > > Best, > Fritz > -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- > r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html > Send "info", "help", or "[un]subscribe" > (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch > _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._ >-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
Thomas Lumley
2002-Oct-28 15:08 UTC
RFC: no automatic updates of packages with major version change
On Mon, 28 Oct 2002 Friedrich.Leisch@ci.tuwien.ac.at wrote:> > We want to define a "major version number change" as a change of the > first digit of the version number, such that 1.1.1 -> 2.0.0 is a major > change, while 1.1.1 -> 1.2.0 is not. An exception will be that a move > from 0.x to 1.x is no major change (because the 0.x series is read as > "working towards 1.0"). >While R could set whatever standards it likes for package numbers I think it's asking for trouble to require no API changes before version 1.0 (as grid illustrates) -thomas -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._