[Bioc-devel] support the stable version of R

Martin Morgan mtmorg@n@bioc @ending from gm@il@com
Tue Jan 15 00:52:51 CET 2019

Remember that Bioconductor packages are tested nightly on our build system, and this nightly testing is an important component of offering your users a stable environment, not just for your package but the other packages they use. Recreating this standard environment is facilitated by the standard Bioconductor package installation instruction


The nightly builds are done on a platform where all packages are from the same Bioconductor release, built on the same version of R. Your newly accepted package is in the '3.9' version of Bioconductor, which uses the 3.6 version of R. It follows that the best user experience is provided to those using R 3.6. By 'allowing' R 3.5 and non-standard installation (e.g., from github) you are ultimately compromising the quality standards of Bioconductor and the experience of the users of your package. The support site has many questions from people who install packages from different Bioconductor versions, so it is clearly not in your interest, or the Bioconductor project interest, or your user's interest, to enable this kind of usage.

It is hard to see into the future, so saying something like R >= 3.5 is really quite bold! Conversely, packages with out-of-date promises like R >= 2.1 are not tested on the systems they claim compatibility with, and can be easily broken on old versions of R where their dependencies are no longer available.

From some scraping of the file summarizing the current devel repository https://bioconductor.org/packages/devel/bioc/VIEWS I see

> as_tibble(tbl) %>% arrange(desc(n))
# A tibble: 84 x 2
   Var1              n
   <chr>         <int>
 1 R (>= 3.5)      130
 2 R (>= 2.10)     125
 3 R (>= 3.4)      117
 4 R (>= 3.5.0)     83
 5 R (>= 3.4.0)     64
 6 R (>= 3.3)       58
 7 R (>= 2.10.0)    41
 8 R (>= 3.0.0)     41
 9 R (>= 3.2.0)     41
10 R (>= 3.3.0)     41
# ... with 74 more rows
> as_tibble(tbl) %>% filter(grepl("3.6", Var1)) %>% arrange(desc(n))
# A tibble: 2 x 2
  Var1             n
  <chr>        <int>
1 R (>= 3.6)      17
2 R (>= 3.6.0)     6
> as_tibble(tbl) %>% filter(grepl("<", Var1)) %>% arrange(desc(n))
# A tibble: 1 x 2
  Var1            n
  <chr>       <int>
1 R (< 3.7.0)     1

so there are many very optimistic assertions about suitability, only a few current versions, and a single package that is not clairvoyant!

Having said that, I'll note that specifying R as a dependency, and a version of R as a criterion for your package, is really a mis-nomer for a Bioconductor package -- of course it uses R, and the version of R in use determines the Bioconductor version(s) that can be used! So a rational change is to remove R and its version requirement from the DESCRIPTION file entirely, a strategy taken by I think about 400 of our 1650+ packages.


On 1/14/19, 5:40 PM, "Bioc-devel on behalf of Lulu Chen" <bioc-devel-bounces using r-project.org on behalf of luluchen using vt.edu> wrote:

    Dear all,
    When submitting package to bioconductor, it is required to change R version
    in "Depends" to be >= the develop version (3.6) . As my package is also
    available in GitHub, someone asks if it be possible to make it available
    with the stable version of R (R3.5). In fact, my package can work well with
    R3.5 if I change "Depends" back to R(>=3.5) .
    So I hope to support R3.5 for the moment before next release. Should I
    create another repository? Can I use a branch to support R3.5?
    	[[alternative HTML version deleted]]
    Bioc-devel using r-project.org mailing list

More information about the Bioc-devel mailing list