KentonWhite / ProjectTemplate

A template utility for R projects that provides a skeletal project.
http://projecttemplate.net
GNU General Public License v3.0
623 stars 159 forks source link

Discussion: How many versions of R do we want to support? #241

Open Hugovdberg opened 6 years ago

Hugovdberg commented 6 years ago

Currently we have custom functions because certain functionality was only introduced in "newer" versions of R. For example the .list.files.and.directories function that strips the . and .. entries because the argument no.. was not available in R 2.15.3 (the last version of the R 2.x series). R 3.0.0 was released in april 2013. Do we actually support versions this old and do we still want to support those versions? Do we check if the current functionality isn't actually broken because of dependencies that don't support such old versions of R?

rsangole commented 6 years ago

Good Q. I'd imagine there would be very few - if any - users still using the legacy 2.x code. The R community I have seen is quite quick to pick up and adopt the new releases, and then again, 3.x has been available since 2013.

If I had to make a call, I would not support R at 2.x.

Hugovdberg commented 6 years ago

Just an extra argument, this function .list.files.and.dirs was created specifically for two calls to list.files in 2014, I think we've waited long enough for R 2.x to be replaced with R 3.x.

KentonWhite commented 6 years ago

I also agree to stop supporting R at 2.x. Lets add in notifications on the Github version that support for 2.x will be deprecated in a newer version. I will do a minor point release when the feather caching is complete (assuming the feather caching doesn't break backward compatibility) and then plan a major point release in summer where 2.x is no longer supported.

Hugovdberg commented 6 years ago

https://community.rstudio.com/t/determining-which-version-of-r-to-depend-on/4396:

The Tidyverse has a nominal goal to support R >= 3.1, which we are actively working to make true. IME the backports package is very useful and its README is the most succinct summary around of exactly which functions are going to cause you trouble:

If we actually plan to convert to the tidyverse natively then we should follow the same goal of supporting R >= 3.1.

KentonWhite commented 6 years ago

Ok lets support R>= 3.1 as suggested.