Releases: rstudio/packrat
packrat 0.9.2
v0.9.2 Increment version number to 0.9.2
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)
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
toTRUE
.curl
must be available
on your system to take advantage of this capability. For authenticated
downloads, you must makeGITHUB_PAT
,GITLAB_PAT
, and/or
BITBUCKET_USERNAME
andBITBUCKET_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 regardingdownload.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 optionpackrat.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 notpackrat.mask.git.service.envvars
has been set toFALSE
. (#682) - Change how Packrat selects a
tar
binary. Previously, Packrat would force the
use of R's internaltar
implementation, which cannot handle long filepaths.
Now, if aTAR
environment variable exists, Packrat will use that. Otherwise,
it will either look for atar
binary on thePATH
on Unix, or look for the
systemtar
on Windows. If no binary is found in those locations, it will use
R's internaltar
implementation. (#648) - Allow GitLab downloads from repositories having paths (#699).
- Update some RStudio references to Posit.
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
theGITLAB_USERNAME
andGITLAB_PASSWORD
variables, which are not
supported by GitLab. (#673)
CRAN Release v0.8.0
Packrat 0.8.0
-
Stop using
devtools::github_pat
to obtain an (optional)GITHUB_PAT
environment variable value. Thegithub_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 andpackrat::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 thequarto
package for all*.qmd
content.
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.
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 atdirname(packrat:::appDataDir())
topackrat:::appDataDir()
. -
Packrat now only queries binary repositories for available packages during
installation ifgetOption("pkgType") != "source"
. -
Packrat no longer attempts to unload packages loaded from the user library
after callingpackrat::init()
, as this could fail in a myriad of cases.
(To ensure proper isolation of the session, you should still restart R after
invokingpackrat::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 likepackrat::clean()
.
(#525) -
Fixed an issue where newly-added project options did not get their correct
default value when no entry existed within thepackrat.opts
file. (#496) -
Improve performance of dependency processing. (#615)
-
Infer package dependencies from
requireNamespace()
andloadNamespace()
only when the package name is character input. (#602)
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 nopackages
provided;
both with and without this option, the new behavior is thatexpr
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
librarypackrat/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
Packrat 0.4.9-1
- Fix test errors on CRAN.
CRAN release v0.4.9
Packrat 0.4.9
-
Packrat now understands how to install R packages from private GitHub
repositories. (TheGITHUB_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()
andset_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 thepackrat/
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 setoptions(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 usingpackrat::init()
andpackrat::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 optionpackrat.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)