R is een ontwikkelomgeving en programmeertaal voor statistische en data-analysedoeleinden. Het werd oorspronkelijk ontworpen door Ross Ihaka en Robert Gentleman (vandaar de naam R) aan de Universiteit van Auckland, Nieuw-Zeeland. In R is programmeren sterk objectgeoriënteerd en de functionaliteit kan uitgebreid worden via packages die onder andere via cran beschikbaar worden gesteld. Het R-coreteam, dat zich vandaag de dag bezighoudt met de doorontwikkeling, heeft versie 4.2.1 uitgebracht met de titel One Push-Up. De changelog van deze uitgave ziet er als volgt uit:
New FeaturesInstallation on a Unix-Alike
- New function utils::findCRANmirror() to find out if a CRAN mirror has been selected, otherwise fallback to the main site. This behaves in the same way as tools::CRAN_package_db() and is intended for packages wishing to access CRAN for purposes other than installing packages.
- The need for this was shown by a day when the main CRAN website was offline and a dozen or so packages which had its URL hardcoded failed their checks.
Utilities
- The libraries searched for by --with-blas (without a value) now include BLIS (after OpenBLAS but before ATLAS). And on macOS, the Accelerate framework (after ATLAS). (This is patterned after the AX_BLAS macro from the Autoconf Archive.)
- The included LAPACK sources have been updated to 3.10.1.
C-Level Facilities
- The (full path to) the command tidy to be used for HTML validation can be set by environment variable R_TIDYCMD.
- Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a false value will override R CMD check --as-cran and turn off HTML validation. This provides a way to circumvent a problematic tidy.
- The 2006 version that ships with macOS is always skipped.
Bug Fixes
- The undocumented legacy declarations of Sint, Sfloat, SINT_MAX and SINT_MIN in header ‘R.h’ are deprecated.
Bug Fixes on Windows
- fisher.test(d) no longer segfaults for “large” d; fixing PR#18336 by preventing/detecting an integer overflow reliably.
- tar(., files=*) now produces correctly the warning about invalid uid or gid of files, fixing PR#18344, reported by Martin Morgan.
- tk_choose.files() with multi = FALSE misbehaved on paths containing spaces (PR#18334) (regression introduced in R 4.0.0).
- sort(x, partial = ind, *) now works correctly notably for the non-default na.last = FALSE or TRUE, fixing PR#18335 reported by James Edwards.
- Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used for checking ‘.Rd’ cross-references in R CMD check (as documented) and not for other uses looking for a CRAN mirror.
- The search for a CRAN mirror when checking packages now uses getOption("repos") if that specifies a CRAN mirror, even when it does not also specify all three Bioconductor repositories (as was previously required).
- The HTML code generated by tools::Rd2HTML() has been improved to pass tidy 5.8.0.
- Writing to a clipboard connection works again, fixing a regression in R 4.2.0 (PR#18332). Re-using a closed clipboard connection longer issues a spurious warning about an ignored encoding argument.
- C function getlocale no longer attempts to query an unsupported category from the OS, even when requested at R level, which may cause crashes when R 4.2.0 (which uses UCRT) is embedded (reported by Kevin Ushey).
- Accent keys now work in GraphApp Unicode windows, which are used by Rgui whenever running in a multibyte locale (so also in UTF-8, hence fixing a regression in R 4.2.0 for users of systems where R 4.1 used a single-byte locale).
- Completion in Rgui now works also with non-ASCII characters.
- Rgui no longer truncates usage information with --help.
- Text injection from external applications via SendInput now works in GraphApp Unicode windows, fixing a regression in R 4.2.0 for Rgui users of systems where R 4.1 used a single-byte locale but R 4.2.0 uses UTF-8.
- Performance of txtProgressBar() in Rgui when running in a multi-byte locale has been improved (fixing a performance regression in R 4.2.0 for users of systems where R 4.1 used a single-byte locale).
- The script editor in Rgui now works also on systems using UTF-8 as the native encoding. Users of the script editor have to convert their scripts with non-ASCII characters to UTF-8 before reading them in R 4.2.1 or newer (on recent Windows where UTF-8 is used). This fixes a regression in R 4.2.0, which prevented some operations with scripts when they contained non-ASCII characters.