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