[R-pkg-devel] Warning about "serialize/load".

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Mon Jul 15 02:19:48 CEST 2019


On 14/07/2019 7:52 p.m., Rolf Turner wrote:
> 
> In a package (say "clyde") that I am building I save a number of
> datasets in clyde/data via something like:
> 
> save(melvin,file="~/<whatever>/clyde/data/melvin.rda")
> 
> When I build "clyde" I now get warnings like unto:
> 
>> WARNING: Added dependency on R >= 3.5.0 because serialized objects in
>> serialize/load version 3 cannot be read in older versions of R.
>> File(s) containing such objects: 'clyde/data/melvin.rda'
> 
> If I put the argument "version=2" into my save() call, the warnings go away.
> 
> What are the implications of this?
> 
> What are the consequences/what is the downside of setting version=2?
> 
> What are the consequences/what is the downside of adding the dependency
> on R >= 3.5.0 into my DESCRIPTION file?

The main consequence of setting the R version is that nobody using an 
older version could use your package.

I'd suggest this is a good thing, unless you plan to test your package 
with those old versions.  People should be nudged to upgrade. However, 
some people are stuck on old versions, and they really would miss out on 
clyde.

I think Travers pointed out the main consequence of forcing version=2: 
some things that are very compact in the next version might take a lot 
more space in version=2, e.g. x <- 1:1000000.

Duncan Murdoch

> 
> Who gets shafted by each of these two possibilities?
> 
> Which is recommended?
> 
> Grateful for any pearls of wisdom.
> 
> cheers,
> 
> Rolf Turner
>



More information about the R-package-devel mailing list