No user visible changes.
Starting from version 2.0.0 pkgcache returns data frames instead of tibbles. While data frames and tibbles are very similar, they are not completely compatible. To convert the output of pkgcache to tibbles call the as_tibble()
function on them.
pkgcache loads the pillar package at startup, if available, and uses it to improve the printing of pkgcache data frames.
parse_packages()
now automatically determines the type of the PACKAGES*
file, instead of relying on file extensions.
pkgcache can now call back again to a PACKAGES
file if PACKAGES.gz
is not available. (This fixes a regression in pkgcache 1.3.0.)
pkgcache now uses HTTP 1.1 on Linux as well, because of crashes with HTTP/2.
pkgcache now supports file:///
, repositories, i.e. repositories on the local file system.
pkgcache now works better on M1 macs.
current_r_platform()
does a much better job now. In particular, on Linux it includes the name and release of the distribution. The new current_r_platform_data()
function returns the platform information as a data frame, instead of a single string.
Metadata is now more accurate for Windows packages that are typically not multi-arch any more on R 4.2.0 (current R-devel).
pkgcache has its own DCF metadata parser now, which is much faster, and it parses all fields of PACAKGES*
and DESCRIPTION
files.
New parse_installed()
function to get the metadata of all installed packages in a library. It uses the new DCF parser, so it is quite fast.
meta_cache_list()
and related functions now correctly set the rversion
column of source R packages to "*"
.
pkgcache now uses HTTP 1.1 on macOS, to work around a possible slowdown issue with libcurl for HTTP/2.
pkgcache now uses our extra metadata (file sizes, system requirements, etc.) for RStudio Package Manager (RSPM) repositories as well, as long as they are named RSPM
in getOption("repos")
.
tools::R_user_dir()
cache location. To clean up your old cache call pkgcache:::cleanup_old_cache_dir()
.No user visible changes.
New repo_add()
, repo_get()
, repo_resolve()
and with_repo()
functions to query and manipulate repositories.
meta_cache_*()
functions now handle getOption("repos")
changes correctly.
Failed metadata downloads now do not trigger metadata updates (#52).
New bioc_release_version()
, bioc_devel_version()
, bioc_repos()
helper functions to deal with Bioconductor repositories.
Metadata cache functions, e.g. meta_cache_deps()
etc. now allow specifying the dependency types in all lowercase (#54).
package_cache
now does not fail if the web server does not send an Etag
header when downloading packages.
package_cache
has now much relaxed HTTP timeouts, and handles downloading many packages (slowly) much better.
The package download progress bar can now be suppressed by setting the pkg.show_progress
option to FALSE
.
New repo_status()
function to query the status and response time of CRAN-like repositories.
New bioc_version()
and bioc_version_map()
functions to query Bioconductor repositories.
pkgcache now does not fail if some repositories do not provide some package types.
New current_r_platform()
, default_cran_mirror()
and default_platforms()
functions.
pkgcache now works for R 4.0.x macOS binaries.
HTTP timeouts are now much better, and by default they are defined in terms of download speed, instead of total download time (#29).
pkgcache now tries to download metadata from the PACKAGES
file, if it cannot find PACKAGES.gz
(@timmsm, #27).
pkgcache is now less verbose when updating or loading metadata.
Fix handling of Bioconductor versions and repositories, see README for the details.
Now different versions of pkgcache, that potentially have different metadata format, can share the same metadata cache directory.
Fix concurrency issues when the async API is used multiple times in the same event loop.
Make package compatible with tibble >= 2.0.0.
Add meta_cache_summary()
and a summary()
method for cranlike_metadata_cache
. Return information about a metadata cache instance.