Skip to content

renv 1.1.0

Latest
Compare
Choose a tag to compare
@kevinushey kevinushey released this 29 Jan 05:50

Major Changes

  • renv now includes additional package DESCRIPTION fields in the lockfile.
    This can be useful for validating the provenance of packages recorded in the
    lockfile, and also for applications using renv which would like to
    recompute the hash used for package caching from the lockfile itself.

    If needed, old-style lockfiles can be generated by setting the option
    options(renv.lockfile.version = 1). Note that this version of renv
    remains compatible both with the older (minimal) lockfiles, as well
    as with the newer lockfiles in this release. (#2057)

Other Fixes

  • The renv sandbox is now unlocked on exit after a call to renv::use().
    This should alleviate issues seen where R's attempts to clean up the
    temporary directory could fail due to inadequate permissions on the
    sandbox directory. (#2076)

  • Fixed an issue where renv::restore() did not respect the named repository
    within the lockfile when installing packages from the archives of the
    configured package repositories. (#2081)

  • Fixed an issue where renv::snapshot() could fail if invoked within
    a project containing empty or invalid .ipynb files. (#2073)

  • Fixed an issue where R package installation could fail if the project
    depended on a package whose current version available from the configured
    package repositories required on a newer version of R than what was currently
    installed, even if that package need not be updated. (#2071)

  • Fixed an issue where RENV_CONFIG_EXTERNAL_LIBRARIES was incorrectly
    split when using Windows paths. (#2069)

  • Fixed an issue where renv failed to restore packages installed from
    r-universe when the associated lockfile record had no RemoteRef field.
    (#2068)

  • renv now detects dependencies from usages of utils::citation(). (#2047)

  • Fixed an issue where packages installed from r-universe via an explicit
    URL remote could not be restored. (#2060)

  • Fixed an issue where the repositories provided to renv::init() were ignored
    when also initializing renv with a specific version of Bioconductor.

  • renv::install() gains the include parameter, which can be useful when
    you'd like to install a subset of dependencies within a project while also
    respecting any declared remotes in that project's DESCRIPTION file. (#2055)

  • Fixed an issue where renv could fail to check for updates for packages
    installed using pak without an explicit branch specified. (#2040)

  • renv::use() no longer re-installs packages which are already installed
    and compatible with the requested packages. (#2044)

  • Fixed an issue where renv::init() could fail when using named remotes
    in a DESCRIPTION file's Remotes: field. (#2055)

  • Fixed an issue where ignore rules of the form !*.* were not parsed
    and handled correctly during dependency discovery. (#2052)

  • Fixed an issue where renv erroneously reported that installed packages were
    cached when the cache was not writable. (#2041).

  • renv now supports updating of currently-installed packages via renv::install()
    when configured to use pak. (#2037)

  • Fixed an issue where renv library paths were not properly reset following
    a suspend / resume in RStudio Server. (#2036)

  • renv::run() gains the args parameter, which can be used to pass command-line
    arguments to a script. (#2015)

  • renv now infers a dependency on rmarkdown and knitr for R scripts which
    include YAML front-matter. (#2023)

  • The performance of renv's built-in JSON reader has been improved. (#2021)

  • Fixed an issue where renv could erroneously create a binding called 'object'
    in the global environment on startup. (#2017)