Major Changes
-
renvnow 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 usingrenvwhich 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 ofrenv
remains compatible both with the older (minimal) lockfiles, as well
as with the newer lockfiles in this release. (#2057)
Other Fixes
-
The
renvsandbox is now unlocked on exit after a call torenv::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.ipynbfiles. (#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_LIBRARIESwas incorrectly
split when using Windows paths. (#2069) -
Fixed an issue where
renvfailed to restore packages installed from
r-universe when the associated lockfile record had noRemoteReffield.
(#2068) -
renvnow detects dependencies from usages ofutils::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 initializingrenvwith a specific version of Bioconductor. -
renv::install()gains theincludeparameter, 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'sDESCRIPTIONfile. (#2055) -
Fixed an issue where
renvcould fail to check for updates for packages
installed usingpakwithout 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'sRemotes: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
renverroneously reported that installed packages were
cached when the cache was not writable. (#2041). -
renvnow supports updating of currently-installed packages viarenv::install()
when configured to usepak. (#2037) -
Fixed an issue where
renvlibrary paths were not properly reset following
a suspend / resume in RStudio Server. (#2036) -
renv::run()gains theargsparameter, which can be used to pass command-line
arguments to a script. (#2015) -
renvnow infers a dependency onrmarkdownandknitrfor 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
renvcould erroneously create a binding called 'object'
in the global environment on startup. (#2017)