url_check() now ignores the same HTTP status codes
that CRAN ignores in its incoming URL checks: 202, 401, 403, and 429.
This makes results match what CRAN reports and avoids false positives
from servers that return. Set the
_R_CHECK_URLS_HTTP_STATUS_IGNORE_REGEXP_ environment
variable to override it.
url_check() now sends the same browser-like
User-Agent header that CRAN uses for its URL checks. Set
the _R_CHECK_URLS_CURL_USER_AGENT_ environment variable to
override it (#26).
url_check() no longer reports URLs that appear
inside code chunks of .Rmd vignettes (#50).
url_check() now reads an optional
.urlignore file (from the project root or from
tools/). URLs matching its glob patterns are skipped and
never requested, which is useful for links to private repositories or
pages behind a login or captcha (#45).
The url_check() report no longer errors when a
flagged URL is empty (e.g. a Markdown []() link); the empty
URL is now reported without a source-line pointer (#47).
url_check() now checks URLs in BibTeX
(.bib) bibliography files (#13).
url_check() now finds a GitHub token in the git
credential store (via gitcreds, as configured by usethis or gh), in
addition to the GITHUB_PAT environment variable. This lets
checks of github.com URLs avoid the
429: Too Many Requests errors that anonymous requests hit
(#28).
url_check() gains a fail argument. When
TRUE (the default) it throws an error after printing the
report if any URLs are flagged, yielding a non-zero exit status for
CI/CD workflows. Set fail = FALSE to return the results
instead (#42).
The url_check() report now prints the
file:line:col location of each flagged URL as a clickable
hyperlink, so you can jump straight to the problem in supporting IDEs
and terminals (#23).
url_check() now also works on non-package projects.
path may be a directory that is not an R package (all
supported files within are scanned), a single file, or a character
vector mixing packages, directories and files. Supported file types are
HTML, PDF, Rd, Markdown (.md, .markdown), R
Markdown (.Rmd) and Quarto (.qmd).
url_check() now also checks URLs in Quarto
(.qmd) vignettes, rendering them with quarto
(the un-evaluated document, in the same way .Rmd vignettes
are rendered with pandoc).
url_check() now errors if a
VignetteBuilder package listed in the
DESCRIPTION is not installed, as it is needed to render the
vignettes for URL checking.
url_check() now errors, instead of silently skipping
the file, when pandoc (for .md/.Rmd files) or
quarto (for .qmd files) is needed to render a file but
cannot be found on the PATH.
Handle URL fragments in redirects (#9).
url_check() now also handles package tarballs. This
is useful to check the URL in the package vignettes.
NEWS.md file to track changes to the
package.