On 26/09/2019 4:22 a.m., neonira Arinoem wrote:
Very interesting thread.

Indeed just got one question in relationship with SEMVER and API.
For a given package, does CRAN adapt the control and acceptance processes
according to SEMVER, when submitting a new package  version ?
Any reference material about CRAN control and acceptance processes are
welcome. Haven't found any yet online.

CRAN requires that your new version is greater than the existing one; it also flags high version numbers, e.g. those that follow Hadley's recommendation of using 9000 to signal "in-development". I imagine it would also flag non-standard version numbers, i.e. ones that the package_version(strict = TRUE) function doesn't accept. Other than that, it more or less ignores the version number.

I'm not sure what you mean by "control and acceptance processes". Do you mean internal processes, or the rules submitters need to follow? The latter are documented in the CRAN policies document.

Duncan Murdoch


Neonira

Le jeu. 26 sept. 2019 à 01:24, Hugh Parsonage <hugh.parson...@gmail.com> a
écrit :

The approach I take is a major version increment is required if it
requires an existing unit test to be changed or if it requires a reverse
dependency to change a unit test.

(With the exception of tests marked explicitly as unstable.)

In my view the test suite is a good way to advertise exactly what
developers can rely on in minor version upgrades.

On Wed, 25 Sep 2019 at 11:52 pm, David Hugh-Jones <
davidhughjo...@gmail.com> wrote:

Hi all,

Philosophical question. My package follows semantic versioning (
https://semver.org). Incompatible API changes should trigger a major
version upgrade. OK, but what counts as an incompatible change to an R
API?
Suppose my current function signature is

foo <- function (a, b, c, d)

and the new one is

foo <- function (a, b, c, d, e)

is that compatible? What if I add an argument, but not at the end:

foo <- function (a, b, c, e, d)

That would be incompatible if people have been calling the arguments by
order rather than by name. But sometimes that is unlikely: I doubt if
many
people write

lm(y ~ x, mydata, z==3, f, na.omit, "qr", FALSE, FALSE, TRUE, TRUE,
FALSE)

Should I be strict or relaxed about this?

Cheers,
David

         [[alternative HTML version deleted]]

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel



         [[alternative HTML version deleted]]

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


        [[alternative HTML version deleted]]

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to