./devel/R-renv, Project Environments

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.0.11, Package name: R-renv-1.0.11, Maintainer: pkgsrc-users

A dependency management toolkit for R. Using 'renv', you can create
and manage project-local R libraries, save the state of these
libraries to a 'lockfile', and later restore your library as required.
Together, these tools can help make your projects more isolated,
portable, and reproducible.


Master sites: (Expand)


Version history: (Expand)


CVS history: (Expand)


   2024-10-20 00:57:13 by Makoto Fujiwara | Files touched by this commit (2) | Package updated
Log message:
(devel/R-renv) Updated 1.0.3 to 1.0.11

# renv 1.0.11

* Fixed an issue where headers were not properly passed to `available.packages()`
  during `renv` bootstrap. (#1942)

* `renv` now assumes that Artifactory package repositories will use a CRAN-like
  layout of packages for packages in the archive. (#1996)

* `renv` now includes compiled extensions on Linux + macOS. These
  extensions are primarily used to improve the performance of
  `renv::dependencies()` and other static analysis code.
  Support for Windows may come in a future release.

* Fixed an issue where `renv::snapshot()` could fail if the project
  contained a call to `module()` with no arguments. (#2007)

* On Linux, `renv` now emits a message on load if the R temporary directory
  is within a folder that has been mounted as 'noexec'. This message can be
  suppressed by setting the `RENV_TEMPDIR_NOEXEC_CHECK=FALSE` environment
  variable.

# renv 1.0.10

* Fixed a performance regression in `renv::dependencies()`. (#1999)

* Fixed an issue where `renv` tests could fail if the `parallel` package was
  loaded during test execution.

* `renv` now determines a package repository's type through the HTTP headers
  provided when accessing `src/contrib/PACKAGES`. This is mainly relevant
  when detecting Nexus and Artifactory repositories.

# renv 1.0.9

* Fixed an issue where repository URLs were inappropriately transformed into
  binary repository URLs on Linux. (#1991)

* Fixed an issue where code following `source("renv/activate.R")` in \ 
the project
  `.Rprofile` was not invoked for projects using RStudio. (#1990)

# renv 1.0.8

* `renv` now infers a dependency on the `ragg` package when the `ragg_png` device
  is used in R Markdown / Quarto documents, for documents using the code
  `knitr::opts_chunk$set(dev = "ragg_png")`. (#1985)

* `renv` now automatically generates a lockfile when loading a project containing
  a `manifest.json` file (typical for application bundles published to Posit \ 
Connect).
  (#1980, @toph-allen)

* `renv::install()` now errs if an incompatible `type` argument is provided.

* `renv::checkout()` now also checks out the version of `renv` available
  and associated with the requested snapshot date. (#1966)

* Fixed an issue where `renv::hydrate()` did not hydrate packages which
  were also listed as dependencies within a project's `DESCRIPTION` file.
  (#1970)

* Fixed an issue where `renv::checkout()` omitted some fields from lockfile
  records when using `actions = c("snapshot", "restore")`. \ 
(#1969)

* `renv` gains the function `renv::retrieve()`, which can be used to download
  packages without installing them. This is primarily useful in CI / CD scenarios,
  where you might want to download packages in a single stage before attempting
  to install / restore them. (#1965)

* `renv` now preserves `Remote` fields present on packages installed from
  public package repositories (e.g. <https://r-universe.dev/>). (#1961)

* Fixed an issue where `renv::load()` could fail to load an alternate project
  when `options(renv.config.autoloader.enabled = FALSE)` was set. (#1959)

* `renv` now emits clickable hyperlinks for runnable code snippets and help,
  for front-ends which support the `ide:run` and `ide:help` ANSI escapes.

* `renv::init(bioc = "<version>")` now prompts the user in \ 
interactive sessions
  when requesting a version of Bioconductor which is not compatible with the
  current version of R. (#1943)

* `renv::restore()` gains the `transactional` argument, which can be
  used to control whether `renv` will allow successfully-installed
  packages remain in the project library even if a package fails
  to install during a later step. (#1109)

* `renv` now infers a dependency on the `xml2` package for projects
  using the `testthat::JunitReporter` for tests. (#1936)

* Fixed an issue where `renv::dependencies()` could emit a warning
  when attempting to parse chunks using chunk options like
  `#| eval: c(1, 2)`. (#1906)

* `renv::install()` now properly delegates the `type` and `rebuild`
  arguments to `pak` when `options(renv.config.pak.enabled = TRUE)`
  is set. (#1924)

* `renv` now infers a dependency on the `svglite` package if it detects
  calls of the form `ggsave(filename = "path.svg")`. (#1930)

* `renv` now supports setting of GitHub authentication credentials via
  any of `GITHUB_TOKEN`, `GITHUB_PAT`, and `GH_TOKEN`. (#1937)

* `renv` now also passes any custom headers available to
  `utils::available.packages()` during bootstrap. (#1942)

* Fixed an issue where `renv` could fail during installation of packages
  stored within repository sub-directories, if that repository also
  contained a top-level DESCRIPTION file. (#1941)

* `renv` now normalizes lockfile entries for Bioconductor packages installed
  via `pak::pkg_install()`, to help prevent spurious diffs being produced
  via `renv::status()`. (#1920)

* `renv::install()` now respects the `prompt` parameter when `pak` is enabled,
  as via `options(renv.config.pak.enabled = TRUE)`. (#1907)

* Fixed an issue with `renv`'s `pak` integration where `renv` could install the
  wrong version of a GitHub package during restore if
  `options(renv.config.pak.enabled = TRUE)` was set. (#1883)

* `renv` no longer interacts with the user during autoloading, which coincides
  with R startup. If the IDE offers a session init hook (RStudio does),
  loading is deferred until startup is complete and interaction is possible.
  Otherwise, any suggested renv actions, such as `renv::restore()`, are emitted
  as a message for the user to act on. (#1879, #1915).

* Fixed an issue where installation of packages from local sources, as via
  `install("<package>", repos = NULL, type = \ 
"source")`, could fail. (#1880)

* A new function, `renv::lockfile_validate()`, can be used to validate your \ 
`renv.lock`
  against a default or custom schema. (#1889)

# renv 1.0.7

* Fixed an issue where `renv`'s activate script failed to report version
  conflict errors when starting up. (#1874)

# renv 1.0.6

* Fixed an issue where downloads could fail with curl >= 8.7.1. (#1869)

* Fixed an issue where `renv::snapshot()` did not properly normalize
  package records generated from packages installed using the `pak`
  package, e.g. via `pak::pkg_install("cran::<package>")`.

* Fixed an issue where `renv` could incorrectly prompt the user to record
  a version of `renv` installed from GitHub in some cases. (#1857)

* `renv::load()` now delegates to `base::load()` when it detects that the
  call was likely intended for `base::load()`, but `renv::load()` was used
  instead (e.g. because `base::load()` was masked by `renv::load()`).

* `renv::update()` gains the `lock` argument, which can be used to
  instruct `renv` to automatically update the lockfile after the requested
  packages have been updated. (#1849)

* Fixed an issue where `renv` could fail to update the project autoloader
  after calling `renv::upgrade()`. (#1837)

* Fixed an issue where attempts to install binary packages from older
  PPM snapshots could fail. (#1839)

* `renv` now uses a platform-specific prefix on Linux for library and
  cache paths by default with R (>= 4.4.0). This is equivalent to setting
  `RENV_PATHS_PREFIX_AUTO = TRUE`. If necessary, this behavior can be
  disabled by setting `RENV_PATHS_PREFIX_AUTO = FALSE` in an appropriate
  R startup file. (#1211)

# renv 1.0.5

* `renv` now only writes a `.renvignore` file into the cache directory
  if the cache appears to be part of the current project.

* `renv` now reports missing system libraries as part of its ABI
  checks in `renv::diagnostics()`.

* Fixed an issue where `renv::install(lock = TRUE)` produced lockfiles
  containing records with extraneous data. (#1828)

# renv 1.0.4

* `renv::install()` gains the `lock` argument. When `TRUE`, the project
  lockfile will be updated after the requested packages have been
  successfully installed. (#1811)

* `renv` now supports the use of GitHub Enterprise servers with the
  `gitcreds` package for authentication credentials. (#1814)

* `renv::dependencies()` now treats `#| eval: !expr <...>` chunk options
  as truthy by default, implying that such chunks are scanned for their
  R package dependencies. (#1816)

* `renv::dependencies()` now requires usages of the \ 
[import](https://cran.r-project.org/package=import)
  package to be namespace-qualified in order to be handled via static
  analysis; that is, `import::from(<pkg>)` is parsed for dependencies,
  but `from(pkg)` is not. (#1815)

* `renv::load()` gains the `profile` argument, allowing one to
  explicitly load a specific profile associated with an `renv` project.
  See `vignette("profiles", package = "renv")` or
  https://rstudio.github.io/renv/articles/profiles.html
  for more details.

* `renv::dependencies()` no longer includes `R` dependency versions
  declared from a `DESCRIPTION` file in its output. (#1806)

* Fixed an issue where `renv` could fail to infer dependencies from
  R Markdown code chunks using engine 'R' (upper-case) rather than
  'r' (lower-case). (#1803)

* Fixed an issue where `renv` did not report out-of-sync packages when
  one or more packages used in the project were not installed. (#1788)

* Fixed an issue where `renv` could over-aggressively activate P3M
  repositories when initializing a project. (#1782)

* `renv::status()` now notifies the user if the version of R recorded in
  the lockfile does not match the version of R currently in use. (#1779)

* Fixed an issue where packages could appear multiple times in the lockfile,
  if that package was installed into multiple library paths. (#1781)

* Installation of historical binaries of packages is once again enabled,
  now using the [Posit Public Package Manager (P3M)](https://packagemanager.posit.co)
  service instead of Microsoft's (now defunct) MRAN service.

* `renv::init()` now respects the `Remotes:` field declared in a project's
  `DESCRIPTION` file, if any. (#1522)

* `renv::embed()` now supports Quarto Markdown (`.qmd`) files. (#1700)

* renv now sets the `R_INSTALL_TAR` environment variable to match the default
  `tar` executable (if any) when installing packages. (#1724)

* renv now uses `--ssl-revoke-best-effort` by default when downloading files
  using `curl` on Windows. (#1739)

* Fixed an issue where `renv::install()` could fail to detect incompatible
  recursive package dependencies. (#1671)

* `renv::install()` now records remote information for packages installed from
  CRAN-like repositories, and uses that information when generating a lockfile
  and restoring those packages. This helps ensure that packages installed within
  an renv project via calls like `renv::install("<pkg>", repos = \ 
"<repos>")` can
  still be successfully restored in future sessions. (#1765)

* `renv::install()` now lazily resolves project remotes. (#1755)

* `renv::init()` now respects Remotes declared within a project's `DESCRIPTION`
  file, if any.

* Calling `renv::activate()` without explicitly providing the `profile` argument
  now preserves the current profile, if any. Use `renv::activate(profile = \ 
"default")`
  if you'd like to re-activate a project using the default profile. (#1217)

* Fixed an issue where `renv` would try to prompt for the installation of
  `BiocManager` when activating a project using Bioconductor. (#1754)

* Fixed an issue where directories containing a large number of files could
  cause `renv` to fail to activate a project. (#1733)

* Expanded the set of Linux distributions detected for automatic transformation
  of Posit Package Manager URLs to install binary packages. `renv` now correctly
  detects Red Hat Enterprise Linux 9, Rocky Linux 8 and 9, SLES 15 SP4 and SP5,
  Debian 11 and 12, AlmaLinux 8 and 9, and Amazon Linux 2. (#1720, #1721)
   2024-01-22 14:50:34 by Makoto Fujiwara | Files touched by this commit (2) | Package updated
Log message:
(devel/R-renv) Updated 0.17.3 to 1.0.3

# renv 1.0.3

* Fixed an issue where `renv` could warn the project appeared to be out-of-sync
  when using packages installed without an explicit source recorded. (#1683)

* `renv::install()` gains the `exclude` argument, which can be useful when
  installing a subset of project dependencies.

* Fixed an issue where PPM repositories were not appropriately transformed
  into the correct binary repository in `renv::restore()` when using pak.

* `renv::init()` no longer prompts the user for the intended action for
  projects containing a library with only renv installed. (#1668)

* Fixed an issue where non-interactive usages of `renv::init()` could fail
  with projects containing a DESCRIPTION file. (#1663)

* Fixed an issue that could cause code within a project `.Rprofile` to execute
  before the project had been loaded in RStudio. (#1650)

* `renv::snapshot()` and `renv::status()` gain the `dev` argument. This
  can be used when you'd like to capture package dependencies from
  the *Suggests* field of your package's DESCRIPTION file. (#1019)

# renv 1.0.2

* renv now parses package `NAMESPACE` files for imported dependencies. (#1637)

* renv no longer locks the sandbox by default.

* Fixed an issue where renv used the wrong library paths when attempting
  to activate the watchdog. This could cause a 10 second delay when activating
  the sandbox.

# renv 1.0.1

* Fixed an issue where authentication headers could be duplicated when
  using the `libcurl` download method. (#1605)

* `renv::use()` now defaults to setting `isolate = TRUE` when `sandbox = TRUE`.

* Fixed an issue where the renv watchdog could fail to load, leading to slowness
  in activating the sandbox on startup. (#1617)

* Fixed an issue where renv did not display warnings / errors from `renv::snapshot()`
  when `options(renv.verbose = FALSE)` was set. The display of these messages
  is now controlled via the `renv.caution.verbose` R option. (#1607, #1608)

* `renv::load()` now notifies the user if the synchronization check took an
  excessive amount of time due to the number of files being scanned in the
  project. (#1573)

* `renv::init()` gains the `load` argument, making it possible to initialize
  a project without explicitly loading it. (#1583)

* renv now uses a lock when synchronizing installed packages with the cache.
  This should help alleviate issues that can arise when multiple R processes
  are installing and caching packages concurrently. (#1571)

* Fixed a regression in parsing expressions within R Markdown chunk options. (#1558)

* Fixed an issue that prevented `renv::install()` from functioning
  when source-only repositories were included. (#1578)

* Fixed a logic error in reading `RENV_AUTOLOAD_ENABLED`. (#1580)

* `renv::restore()` no longer runs without prompting on load if the
  library is empty. (#1543)

* `renv::repair()` now checks for installed packages which lack a known
  remote source, and updates their `DESCRIPTION` files if it can infer an
  appropriate remote source. This typically occurs when a package is installed
  from local sources, but appears to be maintained or published on a remote
  repository (e.g. GitHub). This was previously done in `renv::snapshot()`, but
  we've rolled back that change as the prompting was over-aggressive. (#1574)

* `renv::status()` now first reports on uninstalled packages, before reporting on
  used <-> installed mismatches. (#1538)

* When the `RENV_STARTUP_DIAGNOSTICS` environment variable is set to `TRUE`,
  renv now displays a short diagnostics report after a project's autoloader
  has been run. This can be useful when diagnosing why renv is slow to load
  in certain projects. (#1557)

* renv now ensures the sandbox is activated on load, for R processes which
  are launched with the renv sandbox on the library paths. (#1565)

* `renv::restore()` no longer erroneously prompts when determining the packages
  which need to be installed. (#1544)

* `renv::update()` now ensures the `prompt` parameter is properly respected
  during package installation. (#1540)

* `renv::activate()` no longer erroneously preserves the previous library
  paths after restarting the session within RStudio. (#1530)

* Use correct spelling of IRkernel package (#1528).

* Honor `R_LIBCURL_SSL_REVOKE_BEST_EFFORT` when using an external `curl.exe`
  binary to download files. (#1624)

# renv 1.0.0

## New features

* New `renv::checkout()` installings the latest-available packages from a
  repository. For example, `renv::checkout(date = "2023-02-08")` will \ 
install
  the packages available on 2023-02-08 from the Posit
  [Package Manager](https://packagemanager.rstudio.com/) repository.
  The `actions` argument allows you choose whether a lockfile is generated from
  the provided repositories ("snapshot"), or whether packages are installed
  from the provided repositories ("restore").

* `renv::deactivate()` gains a `clean` argument: when `TRUE` it will delete
  all renv files/directories, leaving the project the way it was found.

* `renv::init()` now uses [Posit Public Package \ 
Manager](https://packagemanager.posit.co)
  by default, for new projects where the repositories have not already been
  configured externally. See the options `renv.config.ppm.enabled`,
  `renv.config.ppm.default`, and `renv.config.ppm.url` in `?config` for more
  details (#430).

* `renv::lockfile_create()`, `renv::lockfile_read()`, `renv::lockfile_write()`
  and `renv::lockfile_modify()` provide a small family of functions for
  interacting with renv lockfiles programmatically (#1438).

* Handling of development dependencies has been refined. `renv::snapshot()`
  and `renv::status()` no longer track development dependencies, while
  `install()` continues to install them (#1019). `Suggested` packages listed in
  `DESCRIPTION` files are declared as development dependencies regardless of
  whether or not they're a "package" project.

* MRAN integration is now disabled by default, pending the upcoming shutdown
  of Microsoft's MRAN service. Users who require binaries of older R packages
  on Windows + macOS can consider using the instance of CRAN mirrored by the
  [Posit Public Package Manager](https://packagemanager.posit.co) (#1343).

## Bug fixes and minor improvements

* Development versions of renv are now tracked using the Git SHA of the
  current commit, rather than a version number that's incremented on every
  change (#1327). This shouldn't have any user facing impact, but makes
  renv maintenance a little easier.

* Fixed an issue causing "restarting interrupted promise evaluation" \ 
warnings
  to be displayed when querying available packages failed. (#1260)

* `renv::activate()` uses a three option menu that hopefully make your choices
  more clear (#1372).

* `renv::dependencies()` now discovers R package dependencies inside Jupyter
  notebooks (#929).

* `renv::dependencies()` includes packages used by user profile (`~/.Rprofile`)
  if `renv::config$user.profile()` is `TRUE`. They are set as development
  dependencies, which means that they will be installed by `install()` but not
  recorded in the snapshot.

* `renv::dependencies()` only extracts dependencies from text in YAML
  headers that looks like valid R code (#1288).

* `renv::dependencies()` no longer treats `box::use(module/file)` as using
  package `module` (#1377).

* `renv::init()` now prompts the user to select a snapshot type if the project
  contains a top-level DESCRIPTION file (#1485).

* `renv::install(type = "source")` now ensures source repositories are used
  in projects using [PPM](https://packagemanager.posit.co/). (#927)

* `renv::install()` activates Bioconductor repositories when installing a
  package from a remote (e.g. GitHub) which declares a Bioconductor dependency
  (via a non-empty 'biocViews' field) (#934).

* `renv::install()` respects the project snapshot type, if set.

* `renv::install()` now keeps source when installing packages from source (#522).

* `renv::install()` now validates that binary packages can be loaded after
  installation, in a manner similar to source packages (#1275).

* `renv::install()` now supports Bioconductor remotes of the form
  `bioc::<BiocVersion>/<Package>`, for installing packages from
  a particular version of Bioconductor. Aliases like 'release' and
  'devel' are also supported (#1195).

* `renv::install()` now requires interactive confirmation that you want to
  install packages (#587).

* `renv::load()` gives a more informative message if a lockfile is present but
  no packages are installed (#353).

* `renv::load()` no longer attempts to query package repositories when checking
  if a project is synchronized (#812).

* `renv::load()` no longer duplicates entries on the `PATH` environment variable
  (#1095).

* `renv::restore()` can now use `pak::pkg_install()` to install packages
  when `pak` integration is enabled. Set `RENV_CONFIG_PAK_ENABLED = TRUE`
  in your project's `.Renviron` if you'd like to opt-in to this behavior.
  Note that this requires a nightly build of `pak` (>= 0.4.0-9000);
  see https://pak.r-lib.org/dev/reference/install.html for more details.

* `renv::restore()` now emits an error if called within a project that
  does not contain a lockfile (#1474).

* `renv::restore()` correctly restores packages downloaded and installed
  from [r-universe](https://r-universe.dev/) (#1359).

* `renv::snapshot()` now standardises pak metadata so CRAN packages installed via
  pak look the same as CRAN packages installed with renv or `install.packages()`
  (#1239).

* If `renv::snapshot()` finds missing packages, a new prompt allows you to
  install them before continuing (#1198).

* `renv::snapshot()` no longer requires confirmation when writing the first
  snapshot, since that's an action that can easily be undone (by deleting
  `renv.lock`) (#1281).

* `renv::snapshot()` reports if the R version changes, even if no packages
  change (#962).

* `renv::snapshot(exclude = <...>)` no longer warns when attempting to exclude
  a package that is not installed (#1396).

* `renv::status()` now uses a more compact display when packages have some
  inconsistent combination of being installed, used, and recorded.

* `renv::status()` now works more like `renv::restore()` when package versions
  are different (#675).

* `renv::update()` can now update packages installed from GitLab (#136) and
  BitBucket (#1194).

* `renv::settings$package.dependency.fields()` now only affects packages
  installed directly by the user, not downstream dependencies of those packages.

* renv functions give a clearer error if `renv.lock` has somehow become
  corrupted (#1027).
   2023-06-18 16:10:23 by Makoto Fujiwara | Files touched by this commit (2) | Package updated
Log message:
(devel/R-renv) Updated 0.16.0 to 0.17.3

# renv 0.17.3

* Fixed an issue where `renv::install("bioc::<package>")` could \ 
fail if
  `BiocManager` was not already installed. (#1184)

* Fixed an issue where package names were not included in the output
  of `renv::diagnostics()`. (#1182)

* The clarity of the message printed by `renv::status()` has been improved;
  in particular, `renv` should better report the recommended actions when
  a package required by the project is not installed.

* `renv::snapshot()` gains the `exclude` argument, for explicitly
  excluding certain packages from the generated lockfile.

* Fixed an issue where `renv` was passing the wrong argument name to
  `installed.packages()`, causing usages of `renv` to fail with
  R (<= 3.4.0). (#1173)

* `renv` now sets the `SDKROOT` environment variable on macOS if it detects
  that R was built using an LLVM build of `clang` on macOS.

* `renv::install()` now parses the remotes included within, for example,
  a `DESCRIPTION` file's `Config/Needs/...` field.

* `renv` now checks that the index directory is writable before attempting to
  use it, e.g. for the `R` available packages index maintained by `renv`. (#1171)

* `renv` now checks that the version of `curl` used for downloads appears to
  be functional, and reports a warning if it does not (for example, because
  a requisite system library is missing). The version of `curl` used for
  downloads can also be configured via the `RENV_CURL_EXECUTABLE` environment
  variable.

# renv 0.17.2

* Fixed a regression that caused package hashes to be computed incorrectly
  in some cases. This was a regression in the 0.17.1 release. (#1168)

# renv 0.17.1

* `renv` gains the configuration option `install.remotes`, which can be used
  to control whether `renv` attempts to read and use the `Remotes:` field
  included with installed packages. This can be set to `FALSE` if you'd
  like to ignore this field; e.g. because you know they will not be
  accessible. (#1133)

* General performance optimizations. In particular, `renv::update(check = TRUE)`
  should now execute much faster.

* `renv` now stores project settings within `renv/settings.json` rather than
  `renv/settings.dcf`. Old settings will be automatically migrated.

* The `renv` sandbox is now placed within the `renv` cache directory. (#1158)

* Fixed an issue where `renv::status()` could erroneously report a project was
  out-of-sync when using explicit snapshots. (#1159)

* Fixed an issue where `renv::hydrate()` would print spurious warnings. (#1160)

* `renv::status()` now suggests running `renv::restore()` if there are no
  packages installed in the project library. (#1060)

* Fixed an issue where `renv` would fail to query \ 
[r-universe](https://r-universe.dev/)
  repositories. (#1156)

* `renv` no longer tries to set the `SDKROOT` environment variable on
  macOS for R (>= 4.0.0).

* Fixed an issue where installation of Bioconductor packages could fail
  when `BiocManager` was not installed. (#1156, #1155)

* Fixed an issue where the amount of time elapsed reported by `renv::install()`
  failed to include the time spent retrieving packages.

# renv 0.17.0

* The performance of `renv::snapshot()` has improved.

* `renv` now maintains an index of available packages, as retrieved from the
  active package repositories, that is shared across `R` sessions. This should
  improve `renv`'s performance when querying for available packages across
  multiple different `R` sessions.

* `renv::hydrate()` gains the `prompt` parameter. When `TRUE` (the default),
  `renv` will prompt for confirmation before attempting to hydrate the active
  library.

* Improved handling of package installation via SSH URLs with `git`. (#667)

* Improved handling of R version validation when using projects with
  Bioconductor. If you find `renv` is erroneously reporting that your version
  of R is incompatible with the version of Bioconductor you are using, you can
  set `options(renv.bioconductor.validate = FALSE)` to disable this validation
  behaviour. (#1148)

* Package names can now be associated with remotes in `renv::install()`; for
  example, you can use `renv::install("igraph=igraph/rigraph")` to install
  the `igraph` package. This is mainly important when using the `renv.auth`
  authentication tools, where the package name of a remote needs to be
  declared explicitly. (#667)

* Fixed an issue that could prevent `renv::restore()` from functioning when
  attempting to install packages which had been archived on CRAN. (#1141)

* `renv::install()` gains the `dependencies` argument, which behaves similarly
  to the equivalent argument in `remotes::install_*()`. In particular, this can
  be set to fields like `Config/Needs/dev` to tell `renv` to use custom
  DESCRIPTION fields for dependency resolution in installation.

* Fixed an issue where the function variant of the `renv.auth` option was not
  resolved correctly. (#667)

* `renv::install()` now supports remotes with a trailing slash -- such slashes
  are now removed. (#1135)

* Integration with the RStudio (Posit) Package Manager is now disabled
  by default on aarch64 Linux instances.

* The `RENV_CACHE_MODE` environment variable can now also be used
  to adjust the permissions set on downloaded package tarballs / binaries.
  (#988)

* Fixed an issue where fields of the form `Remotes.1` could
  enter lockfile records for older versions of R. (#736)

* Fixed the performance of `renv::update()` in cases where
  integration with MRAN is enabled.

* Fixed an issue where package installation using `pak` could fail
  in some cases.

* `renv_file_find()` can now scan up to the root directory in Docker
  containers. (#1115)

* `renv` no longer uses the R temporary directory on Windows for the
  sandbox. The sandbox directory can be customized via the
  `RENV_PATHS_SANDBOX` environment variable if required. (#835)

* `renv` now reports the elapsed time when installing packages. (#1104)

* For projects using "explicit" snapshots, `renv` now reports if
  a package is required by the project, but the package is not
  currently installed. (#949)

* Fixed an issue where `renv::snapshot()` could fail to detect when
  no changes had been made to the lockfile.

* Fixed an issue where `renv` could emit JSON lockfiles which could not
  be parsed by external JSON readers. (#1102)

* `renv` now marks the sandbox as non-writable, which should hopefully
  alleviate issues where attempts to update installed packages would
  inadvertently install the updated package into the sandbox. (#1090)

* `renv::use()` gains the `sandbox` argument, which allows one to control
  whether the system library is sandboxed after a call to `renv::use()`.
  (#1083)

* The path to the Conda `environment.yml` file created by `renv` can
  now be customized via the `RENV_PATHS_CONDA_EXPORT` environment
  variable. We recommend setting this within your project-local
  `.Renviron` file as appropriate. (#1089)

* Fixed an issue where the `renv` sandbox location did not respect the
  active `renv` profile. (#1088)
   2022-12-18 05:18:29 by Makoto Fujiwara | Files touched by this commit (2) | Package updated
Log message:
(devel/R-renv) Updated 0.14.0 to 0.16.0

# renv 0.16.0

* `renv` now supports installation of packages with remotes of the form
  `<package>=<remote>`. However, the provided package name is ignored
  and is instead parsed from the remote itself. (#1064)

* `renv` now passes along the headers produced by the `renv.download.headers`
  option when bootstrapping itself in the call to `utils::download.file()`.
  (#1084)

* `renv` now reports if `renv::snapshot()` will change or update the
  version of R recorded in the lockfile. (#1069)

* `renv` now supports the `install.packages.check.source` R option, which
  is used to allow R to query source repositories even if the option
  `options(pkgType = "binary")` is set. (#1074)

* `renv` better handles packages containing git submodules when installed
  from GitHub remotes. (#1075)

* `renv` now handles local sources within the current working directory. (#1079)

* The `renv` sandbox is once again enabled by default. On Unix, the sandbox
  is now created by default within the project's `renv/sandbox` library.
  On Windows, the sandbox is created within the R session's `tempdir()`.
  The path to the `renv` sandbox can be customized via the `RENV_PATHS_SANDBOX`
  environment variable if required.

* Fixed an issue where `renv::status()` could report spurious changes when
  comparing packages installed using `pak` in some cases. (#1070)

* `renv::restore()` now also ensures the project activate script is updated
  after a successful restore. (#1066)

* Fixed an issue where `renv` could attempt to install a package from the
  repository archives even when `type = "binary"` was set. (#1046)

* Fixed an issue where package installation could fail when the R session
  is configured to use multiple repositories, some of which do not provide
  any information on available packages for certain binary arms of the
  repository. (#1045)

* `renv` now uses `jsonlite` for reading lockfiles when loaded. This should
  help ensure useful errors are provided for manually-edited lockfiles
  which contain a JSON parsing error. If the `jsonlite` package is not loaded,
  `renv` will fall back to its own internal JSON parser. (#1027)

* Fixed an issue that would cause `renv` to fail to source the user
  `~/.Rprofile` if it attempted to register global calling handlers,
  e.g. as `prompt::set_prompt()` does. (#1036)

* (Linux only) `renv` now resets ACLs on packages copied to the cache, to
  avoid persisting default ACLs that might have been inherited on packages
  installed into a local project library. If desired, this behavior can be
  disabled by setting the `RENV_CACHE_ACLS` environment variable to `FALSE`.
  If you need finer control over ACLs set on packages moved into the cache,
  consider defining a custom callback via the `renv.cache.callback` R option.
  (#1025)

* Fixed an issue where `.gitignore` inclusion rules for sub-directories were
  not parsed correctly by `renv` for dependency discovery. (#403)

* Fixed an issue where `renv` could report spurious diffs within `renv::status()`
  when comparing package records installed from `pak` versus the default R
  package installer. (#998)

* Fixed an issue where `renv::use_python()` could cause the Requirements field
  for packages in the lockfile to be unintentionally dropped. (#974)

* The R option `renv.cache.callback` can now be set, to run a user-defined
  callback after a package has been copied into the cache. This can be useful
  if you'd like to take some action on the cached package's contents after
  the package has been moved into the cache.

* (Unix only) The `RENV_CACHE_MODE` environment variable can now be used to
  change the access permissions of packages copied into the cache. When set,
  after a package is copied into the cache, `renv` will use `chmod -Rf` to try
  and change the permissions of the cache entry to the requested permissions.

* (Unix only) The `RENV_CACHE_USER` environment variable can now be used to
  change the ownership of folders copied into the cache. When set, after a
  package is copied into the cache, `renv` will use `chown -Rf` to try and
  change the ownership of that cache entry to the requested user account.

* Fixed an issue where repositories containing multiple packages in
  sub-directories could fail to install. (#1016)

# renv 0.15.5

* Fixed an issue where indexing of packages in the package cellar could
  be slow. (#1014)

* Fixed an issue where installation of packages from Bioconductor's binary
  Linux package repositories could fail. (#1013)

* `renv::restore()` now supports restoration of packages installed from
  [R-Forge](https://r-forge.r-project.org/). (#671)

* Fixed an issue where `renv::init(bioconductor = TRUE)` would not update
  the version of Bioconductor used if a project setting had already been
  set.

* It is now possible to "update" an existing lockfile by using
  `renv::snapshot(update = TRUE)`. When set, any records existing in the
  old lockfile, but not the new lockfile, will be preserved. (#727)

* Fixed an issue where `renv` could fail to parse Git remotes for users
  whose username contains a number. (#1004)

* `renv` no longer infers a dependency on the "quarto" R package in \ 
projects
  containing a `_quarto.yml` file. (#995)

* Fixed an issue where `renv` could fail to download a package from MRAN if
  a compatible source package of the same version was available from the
  active R repositories. (#990)

* `renv` now reports permission errors during download more clearly. (#985)

* Fixed an issue where `RENV_PATHS_LIBRARY_ROOT_ASIS` was not interpreted
  correctly. (#976)

* `renv::modify()` gains the `changes` argument, which can be used to modify
  a project lockfile non-interactively.

* `renv::clean()` now returns the project directory, as documented. (#922)

* Fixed an issue where `renv` could fail to parse embedded YAML chunk options
  in R Markdown documents. (#963)

* `renv` now sets default placeholder names for the `repos` R option, for
  any repository URLs which happen to be unnamed. (#964)

* Fixed an issue where `renv` didn't respect the `PATH` ordering when
  discovering Python installations via `renv_python_discover()`. (#961)

* Fixed an issue where `renv` could fail to install packages containing
  multibyte unicode characters in their DESCRIPTION file. (#956)

* Fixed detection of Rtools 4.2 (#1002)

# renv 0.15.4

* Fixed an issue where package installation could fail when referencing the
  cache via a tilde-aliased path, e.g. `~/.local/share/renv`. (#953)

# renv 0.15.3

* A variety of fixes for R CMD check.

* `renv` gains an experimental function, `renv::autoload()`, to be used as a
  helper for automatically loading a project for R processes launched within a
  sub-directory of that project. See `?renv::autoload` for more details.

* `renv` will now print a warning message when attempting to read a lockfile
  containing merge conflict markers (as from e.g. a git merge). (#945)

* Fixed an issue where `renv::install()` could install into the wrong library
  path on Windows, if the R installation had a site-wide profile that mutated
  the library paths. (#941)

* Fixed an issue where `renv::install()` would fail to find a package within
  the cache when using an abbreviated commit hash for installation. (#943)

* Fixed an issue where `renv`'s automatic snapshot was not run after calls to
  `renv::install()` in some cases. (#939)

* Fixed an issue where `renv` would incorrectly copy a package from the cache,
  if the cached version of the package and the requested version of the package
  had the same package version, even if they were retrieved from different
  sources. (#938)

* The path to an `renv` tarball can now be set via the environment variable
  `RENV_BOOTSTRAP_TARBALL`, to be used to help `renv` bootstrap from local
  sources. This can either be the path to a directory containing `renv`
  source tarballs, or the path to the tarball itself.

* Fixed an issue where the R site library would not be appropriately masked
  for resumed RStudio sessions. (#936)

# renv 0.15.2

* Fixed issues encountered in R CMD check.

# renv 0.15.1

* Fixed an issue where `renv` inadvertently inserted extra newlines into
  a `DESCRIPTION` file when adding `Remotes` fields after install. (#914)

* Fixed an issue where packages installed from a remote sub-directory would
  fail to install when later re-installed from the cache. (#913)

* `renv` now recognizes YAML chunk options of the form `#| key: value` when
  used in R Markdown documents. (#912)

* Fixed an issue where the R site library was visible in `renv` projects with
  the system library sandbox disabled.

* Fixed an issue where `renv` could update the wrong `.gitignore` in R
  processes launched by `callr` (e.g. in `devtools::install`). (#910)

* Fixed an issue where `renv` could fail to read mis-encoded
  DESCRIPTION files. (#908)

* Fixed an issue where `config$cache.symlinks()` would report `NULL` when
  unset. (#906)

# renv 0.15.0

* The development branch for `renv` has moved from master to main.

* `renv` package records in the lockfile now include a `Requirements`
  entry, which gives a list of R packages this package depends on
  in some way. This is primarily for internal use by the `pak`
  package.

* Fixed an issue where packages containing DESCRIPTION files using
  a latin1 encoding would not be read correctly by `renv`.

* Fixed an issue that could cause `renv::dependencies()` to fail
  when a malformed `DESCRIPTION` file was encountered. (#892)

* The path to the project-local `renv` folder can now be configured
  via the `RENV_PATHS_RENV` environment variable. This can be useful
  if you'd prefer to store your project's `renv` resources within
  an alternate location in the project. (#472)

* `renv` now uses an external library by default for R package projects,
  with the library located within `tools::R_user_dir("renv", \ 
"cache")`.
  This directory can be configured via the `RENV_PATHS_LIBRARY_ROOT`
  environment variable if desired. See
  `vignette("packages", package = "renv")` for more details. \ 
(#384)

* `renv` now uses the repositories as defined within the project lockfile
  (if any) when attempting to bootstrap itself in a project. (#820)

* The `renv` sandbox is now disabled by default -- see #614 for more details.

* `renv` gains the function `repair()`, to be used to attempt to repair
  the project library when links into the global package cache appear to
  be broken. (#378)

* Fixed an issue where the staging library used during install could fail to
  inherit the same directory permissions as the target library itself. (#331)

* Fixed an regression which caused `renv::history()` to fail. (#886)

* `renv` gains experimental support for the [pak](https://pak.r-lib.org/)
  package. Set `RENV_CONFIG_PAK_ENABLED = TRUE` in an appropriate `.Renviron`
  file to enable `pak` integration. When enabled, calls to `renv::install()`
  will use `pak` to download and install packages.

* `renv::init()` gains the `bioconductor` argument, to be used to initialize
  a project with a particular Bioconductor release. You can also use
  `renv::init(bioconductor = TRUE)` to initialize with the latest-available
  release for the version of R being used.

* Project settings can now be overridden by setting an R option of the same
  name. For example, one could force a project to use Bioconductor 3.14 by
  setting `options(renv.settings.bioconductor.version = "3.14")` within
  the project `.Rprofile` (or similar startup R profile).

* The ad-hoc package repository called "local sources" has been renamed to
  the "package cellar". In addition, the path to the cellar is now
  controlled by the `RENV_PATHS_CELLAR` environment variable, rather than
  `RENV_PATHS_LOCAL`. This change was made to reduce confusion between
  "local sources" of packages located somewhere on the filesystem, as
  opposed to packages explicitly placed in this ad-hoc repository.
  `RENV_PATHS_LOCAL` remains supported for backwards compatibility.

* The `RENV_PATHS_CELLAR` environment variable can now be set to multiple
  paths. Use `;` as a separator between paths; for example,
  `RENV_PATHS_LOCAL=/path/to/sources/v1;/path/to/sources/v2`. (#550)

* Packages installed via e.g. `renv::install("./path/to/package")`
  will now retain the relative path to that package within the lockfile.
  (#873)

* Fixed an issue where invalid `config` option values were not properly
  reported. (#773)

* `renv` now supports restoration of packages installed via one of the
  [r-universe](https://r-universe.dev/) repositories.

* `renv` gains the `bioconductor.version` project setting, used to freeze
  the version of Bioconductor used in a particular project. When set, this
  will override any version that might be selected via the `BiocManager`
  package. (#864)

* `renv` now infers that parameterized R Markdown documents have a dependency
  on the `shiny` package. In addition, R code included within the `params:`
  list will be parsed for dependencies. (#859)

* `renv` now ignores hidden directories during dependency discovery by default.
  If you want to force a particular hidden directory to be included for
  discovery, you can use a `.renvignore` file with an explicit inclusion
  criteria; e.g. `!.hidden/`.

* `renv` now supports the `*release` remotes specifier for GitHub repositories,
  for requesting installation of the latest declared release of a package from
  GitHub. (#792)

* `renv` now handles packages stored within the sub-directory of a Git
  repository better. (#793)

* Fixed an issue where `renv::history()` would fail to resolve the correct
  lockfile path if the working directory was changed. (#834)

* Refined dependency discovery within `glue::glue()` expressions.

* `renv` now parses packages referenced via the `base_format` field within
  an R Markdown document's YAML header. (#854)

* Fixed an issue where `renv` would fail to produce the appropriate binary
  repository URL for RSPM repositories built using Red Hat Enterprise Linux.

* Fixed an issue where `renv::snapshot()` could cause the environment name
  and / or path associated with a Python environment to be omitted from the
  lockfile. (#843)

* Fixed an issue where `renv::restore()` could fail to restore packages which
  referred to their source via an explicit path in the `Source` field. (#849)

* `renv` no longer requires explicit user consent when used within Singularity
  containers. (#824, @kiwiroy)

* `renv` now respects the `R_PROFILE_USER` environment variable, in addition
  to the `user.profile` configuration option, when considering whether the
  user `.Rprofile` should be examined for package dependencies. (#821)

* The `renv` auto-loader can now be disabled by setting the environment
  variable `RENV_AUTOLOADER_ENABLED = FALSE`. This can be useful if you'd like
  to explicitly control how a project is loaded, e.g. by calling `renv::load()`
  explicitly.

* `renv::snapshot()` gains the `repos` argument, to be used to force
  the lockfile to be generated with the requested set of R repositories
  encoded within.

* `renv` now validates that the `repos` option, as used by `renv::snapshot()`,
  is a named vector. (#811)

* Fixed an issue where `renv`'s shims, e.g. for `install.packages()`, failed
  to pass along other optional arguments to the shimmed function correctly.
  (#808)
   2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016)
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:
devel/py-traitlets/distinfo

The following distfiles were unfetchable (note: some may be only fetched
conditionally):

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
   2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017)
Log message:
devel: Remove SHA1 hashes for distfiles