- Maintainer change (Folashade Daniel; fdaniel@microsoft.com).
This is a major refactoring/rewrite of checkpoint, aimed at solving many long-standing issues.
- Switch to pkgdepends for the backend, replacing custom-written code that calls
install.packages
and the like. This brings the following benefits:- Caching of downloaded packages.
- Allow installing packages which are in use, without having to unload them first.
- Comprehensive reporting of all aspects of the install process: dependency resolution, creating an install plan, downloading packages, and actual installation.
- Reliable detection of installation outcomes (no more having to screen-scrape the R terminal!)
- New functions
create_checkpoint
anduse_checkpoint
, reflecting the two main objectives of the package. Thecheckpoint
function calls out to these, based on whether the checkpoint directory exists.- A side-effect of this is that calling
checkpoint
in your home directory should result in checkpointing very many packages only once.
- A side-effect of this is that calling
- New functions
uncheckpoint
(which is the reverse ofuse_checkpoint
),delete_checkpoint
anddelete_all_checkpoints
to manage checkpointing. They replacecheckpointRemove
,checkpointArchives
andunCheckpoint
. - Function
getValidSnapshots
renamed tolist_mran_snapshots
to clarify that it lists the snapshots on the MRAN server. Similarly,setSnapshot
renamed touse_mran_snapshot
for consistency with other function names. - Function
scanForPackages
renamed toscan_project_files
to match grammatical pattern of other function names; now automatically includes rmarkdown (not knitr) in the list of dependencies if Rmarkdown-based files are found. - Experimental support for a
checkpoint.yml
manifest file, to specify packages to include or exclude.- Allows including packages from Bioconductor or GitHub in the checkpoint; it's recommended to specify a version number, tag or commit hash to ensure you always get the same version of a package.
- Consistent use of snake_case for all object names and function arguments.
- Remove obsolete code to handle lack of HTTPS support in ancient versions of R. (Note that the MRAN site now requires HTTPS.)
- Other bug fixes and general tidying.
- Maintainer change (James Rowland-Jones; jrj@microsoft.com).
- Maintainer change (Michelle Wallig; Michelle.Wallig@microsoft.com).
- Make vignettes static to avoid CRAN check issues.
- Added a
use.lock
argument tocheckpoint
. When this isFALSE
, packages are installed without the use of locks (via the--no-lock
argument toR CMD INSTALL
). The default isTRUE
, which is needed to pass checks on R-devel; set this toFALSE
to replicate the previous behaviour ofcheckpoint
. - Fix build failures with the main checkpoint vignette on R-devel.
- Restored Andrie de Vries and Microsoft to Authors@R in the
DESCRIPTION
file.
- Fixes for bugs uncovered by R CMD check.
unCheckpoint
now automatically restores library paths to their pre-checkpoint state. This fixes the bug where library paths specified by means other than theR_LIBS_USER
environment variable, eg via code in.Rprofile
, were not restored. Thenew
argument is no longer used, and a warning is printed if it is supplied.- Skip all tests on CRAN, to avoid issues when MRAN is down.
- Handle an empty local MRAN gracefully (#253).
For package updates in previous releases of checkpoint, please see the releases page at https://github.com/RevolutionAnalytics/checkpoint/releases