[R-pkg-devel] package API change

Thierry Onkelinx thierry.onkelinx at inbo.be
Wed Jan 18 13:49:03 CET 2017


Another solution is to start a new package. This is what Hadley did with
the ggplot package (https://cran.r-project.org/src/contrib/Archive/ggplot/).
The new version (ggplot2) would break existing code. Users were informed
that the old package is not longer maintained. So the user has the choice
between using the old version which still works but no longer maintained or
the switched to the new version which is maintained but will break existing
code.

Best regards,

ir. Thierry Onkelinx
Instituut voor natuur- en bosonderzoek / Research Institute for Nature and
Forest
team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance
Kliniekstraat 25
1070 Anderlecht
Belgium

To call in the statistician after the experiment is done may be no more
than asking him to perform a post-mortem examination: he may be able to say
what the experiment died of. ~ Sir Ronald Aylmer Fisher
The plural of anecdote is not data. ~ Roger Brinner
The combination of some data and an aching desire for an answer does not
ensure that a reasonable answer can be extracted from a given body of data.
~ John Tukey

2017-01-18 13:22 GMT+01:00 Duncan Murdoch <murdoch.duncan at gmail.com>:

> On 18/01/2017 5:31 AM, Berry Boessenkool wrote:
>
>>
>> What's good practice to inform users about an API change?
>>
>>
>> The package in question is extremeStat. Apparently, people actually use
>> it.
>>
>> I don't have a userbase like Hadley, but I do receive emails with feature
>> requests and code change suggestions.
>>
>> Since the change is rather big (going from version 0.6.0 to 1.3.0
>> reflects that), some existing scripts may break.
>>
>> (functions + arguments renamed/removed/restructured; computing functions
>> don't plot anymore, separate plotting functions now do).
>>
>>
>> I'm considering a package startup message which would be included for a
>> few months.
>>
>>
>> What do you think?
>>
>> Any better options / things to consider?
>>
>
> The easiest way for users is if you don't make incompatible changes to
> functions, you just add new functions that have your desired changes in
> them, and tell users that the old versions will eventually go away.  (Or
> just re-implement the old ones using the new ones.)
>
> You can call the .Deprecated() function from the old ones to warn users
> every time they are used.
>
> Duncan Murdoch
>
>
> ______________________________________________
> R-package-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>

	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list