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.3.3 uitgebracht met de titel Angel Food Cake. De changelog van deze uitgave ziet er als volgt uit:
R 4.3.3 is releasedThe build system rolled up R-4.3.3.tar.gz and .xz (codename "Angel Food Cake") this morning. This is a minor update, intended as the wrap-up release for the 4.3.x series. This also marks the 6th anniversary of R-1.0.0. (2000-02-29) The list below details the changes in this release.
New features:Deprecated and defunct:
- iconv() now fixes up variant encoding names such as "utf8" case-insensitively.
Bug fixes:
- The legacy encoding = "MacRoman" is deprecated in pdf() and postscript(): support was incomplete in earlier versions of R.
- Arguments are now properly forwarded to methods on S4 generics with ... in the middle of their formal arguments. This was broken for the case when a method introduced an argument but did not include ... in its own formals. Thanks to Herv'e Pag`es for the report PR#18538.
- Some invalid file arguments to pictex(), postscript() and xfig() opened a file called NA rather than throw an error. These included postscript(NULL) (which some people expected to work like pdf(NULL)).
- Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the Cairo-based bitmap devices opened a file called NA: it now throws an error.
- quartz(file = NA) opened a file called NA, including when used as a Quartz-based bitmap device. It now gives an error.
- rank() now works, fixing PR#18617, thanks to Ilia Kats.
- seq.int() did not adequately check its length.out argument.
- match(, .) is correct again for differing time zones, ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
- drop.terms(*, dropx = <0-length>) now works, fixing PR#18563 as proposed by Mikael Jagan.
- drop.terms(*) keeps + offset(.) terms when it should, PR#18565, and drop.terms() no longer makes up a response, PR#18566, fixing both bugs thanks to Mikael Jagan.
- getS3method("t", "test") no longer finds the t.test() function, fixing PR#18627.
- pdf() and postscript() support for the documented Adobe encodings "Greek" and "Cyrilllic" was missing (although the corresponding Windows' codepages could be used).
- Computations of glyph metric information for pdf() and postscript() did not take into account that transliteration could replace one character by two or more (only seen on macOS 14) and typically warned that the information was not known.
- rank(x) no longer overflows during integer addition, when computing rank average for largish but not-yet long vector x, fixing PR#18630, thanks to Ilia Kats.
- list.files() on Windows now returns also files with names longer that 260 bytes (the Windows limit is 260 characters). Previously, some file names particularly with 'East Asian' characters were omitted.
- cov2cor(<0 x 0>) now works, fixing PR#18423 thanks to Mikael Jagan and Elin Waring.
- cov2cor() and similar now give one warning instead of two, with better wording, fixing PR#18424 thanks to Mikael Jagan.
- tools:: startDynamicHelp() now ensures port is in proper range, fixing PR#18645.
- pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases where a or b or both are 0, fixing PR#18672 thanks to Michael Fay.
- pmatch(x, table) for large table, also called for data frame row selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
- predict(, newdata=*) fix computing of nbasis, see Russ Lenth's comment 29 in PR#16158.
- Added a work-around for a bug in macOS 14.3.1 and higher which prevents R plots in the Quartz Cocoa device from updating on screen.