[R-pkg-devel] What counts as an API change?
Both of your examples are incompatible. foo <- function (a, b, c, d, e = NA ) (add with default value) would be compatible. Your second example cannot be made compatible even with default values because the positional behaviour has changed.
On September 25, 2019 6:51:58 AM PDT, David Hugh-Jones <davidhughjones at 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 at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
Sent from my phone. Please excuse my brevity.