Recent Releases of packrat

packrat - packrat 0.9.3

  • Update vendored renv with support for additional Linux distributions when normalizing and transforming Posit Package Manager URLs. (#725)
  • Improve package installation in a multi-process environment. Do less work when a target package is in the cache and write package DESCRIPTION updates to temporary files before persisting. (#720)
  • When determining the package source, consider biocViews before Repository. Recent Bioconductor package DESCRIPTION files include the Repository field, which caused Packrat to believe that those packages originated from a CRAN-like repository, not Bioconductor. (#729)
  • Attempt package downloads from multiple package repository archive layouts. Paths used by CRAN-like, Nexus, and older Artifactory repositories are supported. (#583)
  • Attempt URL downloads fewer times before giving up.
  • Rename files downloaded from a package repository when the name is not name_1.2.3.tar.gz, as can happen with r-universe. (#731)

- R
Published by aronatkins about 1 year ago

packrat - packrat 0.9.2

- R
Published by aronatkins almost 3 years ago

packrat - CRAN Release v0.9.1

Packrat 0.9.1

  • Fix an issue where Packrat would fail to restore packages installed from subdirectories of SCM repositories (GitHub, GitLab, Bitbucket). (#704)

- R
Published by aronatkins over 3 years ago

packrat - CRAN Release v0.9.0

Packrat 0.9.0

  • Packrat now supports restoring packages hosted in private repositories on GitHub, GitLab, and Bitbucket. To enable this, set the option packrat.authenticated.downloads.use.renv to TRUE. curl must be available on your system to take advantage of this capability. For authenticated downloads, you must make GITHUB_PAT, GITLAB_PAT, and/or BITBUCKET_USERNAME and BITBUCKET_PASSWORD available in Packrat's environment, as appropriate. These environment variables are hidden from package install processes.
  • Correctly discover dependencies in a project beneath a directory hierarchy containing "data". (#684)
  • Take an renv update to include a fix regarding download.file.method handling. (#683)
  • Packrat now masks environment variables commonly used for Git service account authentication from subprocesses used to install packages. This behavior can be disabled by setting the option packrat.mask.git.service.envvars to FALSE. (#682)
  • Users can mask additional arbitrary environment variables from the sub-process that run package installation tasks, by setting the option packrat.masked.envvars to a character vector of variable names to mask. These variables are masked whether or not packrat.mask.git.service.envvars has been set to FALSE. (#682)
  • Change how Packrat selects a tar binary. Previously, Packrat would force the use of R's internal tar implementation, which cannot handle long filepaths. Now, if a TAR environment variable exists, Packrat will use that. Otherwise, it will either look for a tar binary on the PATH on Unix, or look for the system tar on Windows. If no binary is found in those locations, it will use R's internal tar implementation. (#648)
  • Allow GitLab downloads from repositories having paths (#699).
  • Update some RStudio references to Posit.

- R
Published by aronatkins over 3 years ago

packrat - CRAN Release v0.8.1

Packrat 0.8.1

  • Fixed a bug preventing successful downloads of private GitLab and Bitbucket archives during restore. (#671)

  • Allow GitLab downloads from private repos to be authenticated with GITLAB_PAT environment variable. This method of authentication replaces the GITLAB_USERNAME and GITLAB_PASSWORD variables, which are not supported by GitLab. (#673)

- R
Published by aronatkins almost 4 years ago

packrat - CRAN Release v0.8.0

Packrat 0.8.0

  • Stop using devtools::github_pat to obtain an (optional) GITHUB_PAT environment variable value. The github_pat function was removed in devtools-2.4.3. (#651)

  • Use authenticated downloaders for GitHub, GitLab, and Bitbucket when the httr package is installed and the appropriate credentials are available.

  • Provide more information about authenticated download failures.

  • Handle GitLab packages located in a repository sub-directory. (#660)

  • Hash RemoteType: url packages as though they came from a CRAN-like repository. Improves cache reuse for packages originally installed by remotes<2.0.2. (#652)

  • The packrat::set_opts function and packrat::opts single-option setter no longer overwrite previously written in-memory state. (#655)

  • The 'packrat::opts$ignored.packages()' project option ignores recursive package dependencies in addition to direct package dependencies. (#654)

  • Use a bundled renv to perform dependency detection. Avoids a number of evaluation issues and side-effects. (#644)

  • Take an renv update to avoid an implicit dependency on the quarto package for all *.qmd content.

- R
Published by aronatkins about 4 years ago

packrat - CRAN Release v0.6.0

Packrat 0.6.0

  • BREAKING CHANGE: The default Packrat cache directory has changed, and now includes an R version suffix. This helps avoid populating a single cache with versions of packages compiled for different versions of R (as there is no guarantee that packages compiled for e.g. R 3.4.x will work with R 3.5.x). If you'd like to migrate your old Packrat cache directory, you can move the directory at dirname(packrat:::appDataDir()) to packrat:::appDataDir().

  • Packrat now only queries binary repositories for available packages during installation if getOption("pkgType") != "source".

  • Packrat no longer attempts to unload packages loaded from the user library after calling packrat::init(), as this could fail in a myriad of cases. (To ensure proper isolation of the session, you should still restart R after invoking packrat::init()).

  • Packrat now properly annotates the RemoteType field when downloading packages from GitLab and Bitbucket. (#564)

  • Packrat no longer removes old source packages during a restore. (#560)

  • Added support for GitLab: packages downloaded from GitLab can now be restored by Packrat. (#562, @akgold)

  • Fixed an issue where tangled R code chunks containing invalid R code prevented Packrat from finding any dependencies. Packrat will now look for package dependencies within each code chunk independently. (#551)

  • Packrat no longer sets LC_ALL=C when building source packages, as this can lead to errors when building packages containing non-ASCII text. (#545)

  • Fixed an issue where ignored packages would still be queried by packrat::unused_packages(), which affected other APIs like packrat::clean(). (#525)

  • Fixed an issue where newly-added project options did not get their correct default value when no entry existed within the packrat.opts file. (#496)

  • Improve performance of dependency processing. (#615)

  • Infer package dependencies from requireNamespace() and loadNamespace() only when the package name is character input. (#602)

- R
Published by aronatkins almost 5 years ago

packrat - CRAN Release v0.7.0

Packrat 0.7.0

  • Fixed an issue where Packrat could inadvertently execute non-R code chunks when scanning R Markdown documents for dependencies.

  • Fixed an issue where a knitr warning would be emitted when scanning an R Markdown document containing unknown or un-registered knitr engines. (#639)

  • Packrat identifies additional code dependencies, including package references used to define function argument default values. (#630)

  • Added support for extracting R package dependencies from Quarto documents and websites.

- R
Published by aronatkins almost 5 years ago

packrat - CRAN Release v0.5.0

Packrat 0.5.0

  • Packrat now supports both of BiocManager and BiocInstaller (as used for discovering the Bioconductor repositories active for the current project). BiocManager will be used for R >= 3.6.0; BiocInstaller will be used otherwise.

  • The R option packrat.dependency.discovery.disabled can be set to TRUE to disable dependency discovery in projects. This can be useful if you find Packrat's dependency discovery is slow (as it can be in projects containing a large number of R Markdown files). (#513, @ras44)

  • The scheme used for hashing packages that enter the Packrat cache has changed -- now, a defined ordering of fields is used when hashing a package's DESCRIPTION file. Note that this implies a package may need to be re-cached on restore, in the case that its hash has changed. This change should not affect any existing packages in the cache. (#505, @aronatkins)

  • packrat::with_extlib() now works with no packages provided; both with and without this option, the new behavior is that expr is executed in an environment where the original (not packrat) library search path is in place.

  • A project is now only considered 'packified' if it has both a Packrat lockfile as well as the associated autoloader in the project .Rprofile.

  • Calling packrat::init() on a project that already contains a Packrat lockfile no longer attempts to re-snapshot and restore the project.

  • Packrat now supports R packages available on BitBucket, courtesy of a PR from @mariamedp. (#481)

  • Added the project option symlink.system.packages: users can now configure whether base R packages from the system library are symlinked into a private library packrat/lib-R. Disabling this can be useful if you intentionally want Packrat to use packages that have been installed into the system library.

  • Fixed an issue where attempts to snapshot could fail when the R libraries live on a network drive.

- R
Published by kevinushey over 7 years ago

packrat - CRAN Release v0.4.9-1

Packrat 0.4.9-1

  • Fix test errors on CRAN.

- R
Published by kevinushey over 8 years ago

packrat - CRAN release v0.4.9

Packrat 0.4.9

  • Packrat now understands how to install R packages from private GitHub repositories. (The GITHUB_PAT environment variable should be set with an access token that provides access to the associated repositories.) (#449, #448, @ras44)

  • Packrat gained the get_lockfile_metadata() and set_lockfile_metadata() functions, for changing metadata associated with a particular Packrat project; e.g. the active R version, or the active set of repositories. (#429, @cderv)

  • Packrat now ignores all source files within a packrat/ directory when inferring dependencies, not just the packrat/ directory discovered at the top level. (#385)

  • Packrat no longer includes the .Rhistory file when creating bundles. (#401)

  • Packrat now properly handles the plain 'http' protocol when using versions R >= 3.2. (We now set options(download.file.method = "wininet") rather than options(download.file.method = "internal") in such cases.)

  • The infer.dependencies argument can now be used to switch off the scanning of code for dependencies when using packrat::init() and packrat::snapshot().

  • Packrat no longer fails to download the current version of a package if the binary and source branches of the active repositories are out of sync.

  • Packrat now attempts to parse scripts using UTF-8 encoding in addition to the system encoding. This should primarily help users on Windows who (rightly) save their documents using UTF-8 encoding rather than the default system encoding.

  • Packrat now screens out empty package names discovered during package dependency discovery. (#314)

  • The Packrat global cache is now enabled on Windows. Junction points (rather than symbolic links) are used to populate entries in the private Packrat library.

  • The 'lib-R' and 'lib-ext' directories now use architecture-specific sub-directories for their libraries. This should further help in cases where multiple versions of R are operating within a Packrat project at the same time.

  • Packrat now better handles cases where non-symlink files find their way into the 'lib-R' and 'lib-ext' folders.

  • Packrat now better handles packages that contain trailing newlines in their DESCRIPTION file -- it now avoids inserting intervening blank lines between records, which should resolve the 'Error: contains a blank line' error that can occur during package installation.

  • Packrat now only checks for the 'BiocInstaller' package within the Packrat private library, when attempting to ascertain whether Bioconductor is used by a particular project.

  • Packrat no longer automatically restores projects on startup when Packrat is not detected within the library directory.

  • Packrat now more eagerly caches packages during packrat::restore() -- packages will be immediately cached following successful installation, rather than at the end of the restore process. (#324)

  • Packrat now better handles cases where multiple R processes attempt to write the same package to the cache at the same time. (#333)

  • Packrat now properly checks whether a package exists in the cache before attempting to copy / symlink that package to the active library directory. (#335)

  • Users can now control whether Packrat snapshots sources by setting the R_PACKRAT_SNAPSHOT_SOURCES environment variable to a 'truthy' value, or by setting the R option packrat.snapshot.sources.

  • Packrat now provides APIs for accessing the active paths to resource directories, with:

    • packrat::project_dir(project)
    • packrat::src_dir(project)
    • packrat::lib_dir(project)
    • packrat::bundles_dir(project)

See ?packrat-resources for more details.

  • Packrat better preserves the pre-existing contents of ignore files. (#332)

- R
Published by kevinushey over 8 years ago

packrat - Packrat 0.4.2

Packrat 0.4.2

  • Packrat properly infers whether a project is an R package. A project with a DESCRIPTION file that has no Type: field, or has the Type: Package field, will be considered as an R package.
  • Custom library paths can be set through the R_PACKRAT_LIB_DIR environment variable, which can be useful when using Packrat for non-local dependency management or deployment.
  • A bug in the propagation of BioC repositories was fixed.
  • Symlinks to R packages are created and destroyed more conservatively; this should help prevent problems where multiple R processes are acting within a single Packrat project.
  • The autoloader was not properly created in rare cases (thanks, @krlmlr!)
  • install_local now forces lib and repos to be passed as named arguments, to avoid insidious errors. (#162)
  • Packrat no longer removes the lockfile on disable; rather, it simply removes the autoloader. (#161)
  • Packrat projects can now be non-interactively bootstrapped using the command: R --vanilla -f packrat/init.R --args --bootstrap-packrat. (#158)
  • packrat::bundle() gains an 'omit.cran.src' argument, for ignoring package sources that are retrievable from CRAN. (#156)
  • Packrat now understands how to install packages from custom CRAN-like repositories. (#153)
  • Packrat now infers itself to be a git-managed project if any of its parent directories contains a .git folder. This ensures packrat projects included as sub-directories of a git-managed folder are properly understood as git-managed projects.
  • packrat::bundle() gains an 'include.vcs.history' argument, for specifying whether VCS history folders (e.g. .git/, .svn/) should be packaged as part of the bundle. (#159)
  • packrat::bundle() gains an 'include.bundles' argument, for specifying whether previously generated bundles are included as part of new bundles.
  • Packrat now properly bundles projects on Windows (files in the packrat folder were not properly bundled when using the internal version of R's tar) (#152)
  • Packrat gains the 'load.external.packages.on.startup' option, to control whether external packages are loaded on startup.
  • Allow users to specify packrat itself as an external package (experimental, #147)
  • The automatic snapshot mechanism now re-uses the available.packages() cache, to avoid unnecessary internet requests to CRAN.
  • packrat::status() no longer asks you to uninstall packages that are found within the Suggests: field of the project's R package dependency chain, but does not require you to track these packages in the lockfile either. (#109)
  • Downloads are now retried (up to a default of 5 times) on failure -- this should help with intermittent timeouts when e.g. downloading archives from GitHub. (#134)
  • Packrat now adds .Rprofile to the .Rbuildignore file used for package development. (#138)

- R
Published by kevinushey over 11 years ago