RFC: no automatic updates of packages with major version change

Friedrich.Leisch@ci.tuwien.ac.at Friedrich.Leisch@ci.tuwien.ac.at
Mon, 28 Oct 2002 10:07:20 +0100

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

Note that we are already working on new package management tools which
should make it easier to have multiple versions of a package installed

All comments are welcome.

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