Changes on CRAN

The ‘Changes on CRAN’ article from the 2018-1 issue.

Kurt Hornik (

WU Wirtschaftsuniversität Wien, Austria

) , Uwe Ligges (

TU Dortmund, Germany

) , Achim Zeileis (

Universität Innsbruck, Austria

)
2018-06-01


In the past 7 months, 1178 new packages were added to the CRAN package repository. 18 packages were unarchived, 493 archived and none removed. The following shows the growth of the number of active packages in the CRAN package repository:

graphic without alt text

On 2018-06-30, the number of active packages was around 12582.

Changes in the CRAN checks

The package check pages now also show issues found by checks with alternative BLAS/LAPACK implementations (ATLAS, MKL and OpenBLAS), provided by Brian D. Ripley (see https://www.stats.ox.ac.uk/pub/bdr/Rblas/README.txt for more information).

Changes in the CRAN submission pipeline

Package maintainers who submitted packages this year found the automated submission system has been extended again. Incoming packages are automatically checked under both Linux and Windows. Based on these checks, the auto-check service (and in later steps possibly a CRAN team member) will take one of several actions:

archive

reject the package, if the package does not pass the checks cleanly and the problem are not likely to be false positives.

inspect

triggers a manual inspection of the package, this always happens for first time submissions and also for packages that show possible problems that are likely to be false positives. In both cases some human action is required.

pending

if a decision is pending a response from the package maintainer: If an additional issue was present in the package that we cannot check for in the incoming checks (such as the BLAS issues mentioned in the section above), the maintainer is automatically asked whether these issues have been fixed. Same is true for change of maintainer (or maintainer’s mail address) where the old maintainer (old address) is automatically asked to confirm the maintainer change. The answers have to be processed manually.

pretest

during a manual inspection, a human may trigger a new auto-check of the package for various reasons, e.g., after problems in the initial check or after updates of dependencies.

publish

publish the package, if the package is already well established on CRAN, passes the checks cleanly, and does not have any reverse dependencies.

recheck

if the package cleanly passes the checks and has at least one reverse dependency, this action moves the package into a queue for auto-checking the package’s reverse dependencies. If the check status of at least one of the package’s reverse dependencies changes to a worse state, the maintainer is asked whether this is expected and the other maintainers of affected packages have been informed and hence action pending is triggered. If no change to a worse state is discovered, the next action is publish.

All these actions include an informative e-mail message to the package maintainer. The package is also moved to a corresponding subdirectory of the incoming directory on CRAN. Once an action is inspect or pending, a CRAN team member will trigger the next action. The additional directory pretest is the one that contains the yet unprocessed packages.

During June 2018, CRAN received 2122 package submissions. For these, 3571 actions took place of which 2433 (68.1%) were auto processed actions and 1138 (31.9%) manual actions.

Minus some special cases, a summary of the auto-processed and manually triggered actions follows:

action archive inspect pending pretest publish recheck
auto 530 890 118 0 664 231
manual 412 36 81 50 449 110

These include the final decisions for the submissions which were as follows:

action archive publish
auto 470 (23.6%) 578 (29.0%)
manual 410 (20.6%) 535 (26.8%)

where we only count those as auto processed whose publication happened automatically in all steps.

The large number of 1467 manual action items (not counting additional mail communication) shows that even more automation is needed and will follow.

As the CRAN team is no longer able to respond to individual help requests or being involved in lengthy discussions for exceptions, please really use the corresponding mailing lists such as R-package-devel (see https://www.r-project.org/mail.html).

Changes in the CRAN Repository Policy

The Policy now says the following:

CRAN package repository archive

As of 2018-07, a full CRAN mirror takes about 176 G, which is quite a lot, in particular taking into account that a considerable part is not needed for current versions of R and contributed packages. CRAN mirrors already only provide Mac and Windows binaries for R versions not older than 5 years (currently, from R 3.0 onwards), with disk usages of 65 G (about 39%) and 46 G (about 26%), respectively, for Mac and Windows. Older versions are available from the CRAN archive service available at https://CRAN-archive.R-project.org (but not the CRAN mirrors). For the CRAN package repository, sources currently use 52 G, with 44 G used for archived (non-current) versions. Given that the source archive area takes up about 25% of the whole CRAN mirror area, with material most likely needed only very occasionally, we will thus move the source archive area to the CRAN archive server during 2018-08. Archived source packages can then be obtained directly via https://CRAN-archive.R-project.org/src/contrib/Archive, and of course via the “Old sources” download links on the package web pages on every CRAN mirror.

CRAN mirror security

Currently, there are 100 official CRAN mirrors, 66 of which provide both secure downloads via https and use secure mirroring from the CRAN master (via rsync through ssh tunnels). Since the R 3.4.0 release, chooseCRANmirror() offers these mirrors in preference to the others which are not fully secured (yet).

New packages in CRAN task views

Bayesian

openEBGM, tRophicPosition.

ClinicalTrials

InformativeCensoring, Mediana, ThreeArmedTrials, clusterPower, crmPack, dfped, dfpk, ewoc, gsbDesign.

DifferentialEquations

QPot, cOde, dMod, phaseR, rODE, rodeo, rpgm.

Distributions

MittagLeffleR, coga, hyper2.

Econometrics

OrthoPanels, dlsem, pder, wooldridge, zTree.

ExperimentalDesign

DoE.MIParray, FMC, MBHdesign, PBIBD, bioOED, edesign, idefix, minimalRSD, odr, optbdmaeAT, optrcdmaeAT, rsurface, sFFLHD, skpr\(^*\), soptdmaeA, unrepx.

ExtremeValue

POT.

FunctionalData

covsep, denseFLMM, freqdom.fda, ftsspec.

HighPerformanceComputing

Sim.DiffProc, drake, parSim.

MachineLearning

ICEbox, effects, ggRandomForests, pdp, plotmo, tensorflow.

MetaAnalysis

CIAAWconsensus, ConfoundedMeta, MetaSubtract, RandMeta, TFisher, clubSandwich, effsize, forestmodel, getmstatistic, metaBMA, metacart, metaforest, nmaINLA, psychmeta, ratesci, rma.exact.

NaturalLanguageProcessing

alineR, ore, rel, stm, stringdist.

NumericalMathematics

PythonInR, SnakeCharmR, XR, XRJulia, XRPython, expint, feather, findpython, fourierin, interp, logOfGamma, reticulate, tripack.

Optimization

ABCoptim, CVXR, ManifoldOptim, Rtnmin, SACOBRA, colf, coneproj, ecr, flacco, metaheuristicOpt, mize, n1qn1, ompr, optimr, optimsimplex, quadprogXT, sdpt3r.

Pharmacokinetics

RxODE.

Phylogenetics

treeplyr.

Psychometrics

CTTShiny, EFAutilities, MIIVsem, PLmixed, dexter, umx.

Spatial

spm, spsann.

SpatioTemporal

FLightR, sf, sigloc.

TimeSeries

dLagM, fpp2, freqdom, freqdom.fda, ftsa, funtimes, influxdbr, odpc, sweep, timetk, tscount, wktmo.

WebTechnologies

gtrendsR.

Note

This article is converted from a Legacy LaTeX article using the texor package. The pdf version is the official version. To report a problem with the html, refer to CONTRIBUTE on the R Journal homepage.

Reuse

Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".

Citation

For attribution, please cite this work as

Hornik, et al., "Changes on CRAN", The R Journal, 2018

BibTeX citation

@article{RJ-2018-1-cran,
  author = {Hornik, Kurt and Ligges, Uwe and Zeileis, Achim},
  title = {Changes on CRAN},
  journal = {The R Journal},
  year = {2018},
  note = {https://rjournal.github.io/},
  volume = {10},
  issue = {1},
  issn = {2073-4859},
  pages = {556-559}
}