Skip to content

Releases: rstudio/packrat

packrat 0.9.2

05 Sep 20:44
Compare
Choose a tag to compare
v0.9.2

Increment version number to 0.9.2

CRAN Release v0.9.1

27 Feb 19:42
91ea7f5
Compare
Choose a tag to compare

Packrat 0.9.1

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

CRAN Release v0.9.0

10 Jan 13:35
e618feb
Compare
Choose a tag to compare

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.

CRAN Release v0.8.1

30 Jun 16:00
Compare
Choose a tag to compare

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)

CRAN Release v0.8.0

31 May 20:35
Compare
Choose a tag to compare

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.

CRAN Release v0.7.0

20 Aug 20:36
e013a87
Compare
Choose a tag to compare

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.

CRAN Release v0.6.0

20 Aug 20:36
Compare
Choose a tag to compare

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)

CRAN Release v0.5.0

15 Nov 23:59
Compare
Choose a tag to compare

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.

CRAN Release v0.4.9-1

13 Mar 22:58
Compare
Choose a tag to compare

Packrat 0.4.9-1

  • Fix test errors on CRAN.

CRAN release v0.4.9

10 Mar 18:36
Compare
Choose a tag to compare

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)