INSTALLATION:
* R can be installed using C23 (for example with -std=gnu23 or
-std=gnu2x) with recent compilers including gcc 12-14, Apple
clang 15-16, LLVM clang 17-20 and Intel icx 2024.2.
It can be installed with the upcoming (at the time of writing)
gcc 15, which defaults to C23.
C-LEVEL FACILITIES:
* The functions R_strtod and R_atof now allow hexadecimal constants
without an exponent, for compatibility with their C99 versions
(PR#18805).
UTILITIES:
* R CMD build and R CMD check now allow reference output for demo
scripts (demo/<demo>.Rout.save files) to be shipped with the
package, as proposed by Torsten Hothorn in PR#18816.
BUG FIXES:
* kappa(A, exact=TRUE) for singular A returns Inf more generally,
fixing PR#18817 reported by Mikael Jagan.
* Fixed URLs of the sun spots (sunspot.month etc) data sets and
mention future changes due to recalibration.
* The parser now accepts hexadecimal constants with a decimal point
without an exponent (taken as p0) as documented in
?NumericConstants (PR#18819).
* rbind() now works correctly when inputs include a raw vector and
a logical, integer or double vector - previously the inclusion of
the latter was garbled.
* smooth.spline() checks validity of its arguments df.offset and
penalty: it could segfault if they were NULL.
* isGeneric(<primitive>, fdef=*, getName=TRUE) now also returns the
name instead of just TRUE, fixing PR#18829 reported by Mikael
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=146
C-LEVEL FACILITIES:
* The S-compatibility macros F77_COM and F77_COMDECL defined in
header R_ext/RS.h are deprecated and will be removed shortly. We
could find no record of their use.
BUG FIXES:
* Mathlib function lgammacor(x) no longer warns about underflow to
zero for large x.
* Text widths and heights were incorrectly reported by the Quartz
device if the drawing context didn't exist yet (typically when
drawing off-screen to a window that is yet to appear, see
PR#18591).
* The Quartz device could segfault in cases where paths with spaces
are used in the new glyph drawing API. Thanks to Tomek
Gieorgijewski (PR#18758).
* On macOS in R CRAN builds, it is again possible to read
little-endian UTF-16 text with a BOM from a connection using
encoding="UTF-16". Users building R from source should avoid
using the system libiconv in macOS 14.1 and later.
* methods' internal .requirePackage() now re-enables primitive
method dispatch when needed; thanks to Ivan Krylov for
demystifying CRAN package check failures on the R-devel mailing
list.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=144
C-LEVEL FACILITIES:
* Functions R_atof and R_strtod declared in header R_ext/Utils.h
are now documented in 'Writing R Extensions' and so formally part
of the API.
* The non-API entry points Rf_setSVector, Rf_StringFalse,
Rf_StringTrue and Rf_isBlankString have been added to those
reported by R CMD check.
* The new function Rf_allocLang is now available. This provides an
alternative to the idiom of calling Rf_allocList followed by
SET_TYPEOF.
UTILITIES:
* R CMD check now reports as warnings what gfortran calls 'Fortran
2018 deleted features', all of which have long been marked as
'obsolescent' and some of which were deleted in Fortran 2008 or
earlier. Fortran compilers are no longer required to support
these.
BUG FIXES:
* as.numeric(), scan(), type.convert() and other places which use
the internal C function R_strtod now require a _non-empty_ digit
sequence in a decimal or binary exponent. This aligns with the
C/POSIX standard for strtod and with ?NumericConstants.
* as.data.frame(m, make.names=NA) now works correctly for a matrix
m with NA's in row names.
* The error message from <POSIXlt>[["hour"]] and similar now
mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
Michael Chirico.
* qbinom() and potentially qpois(), qnbinom(), no longer sometimes
fail accurate inversion (of pbinom(), etc), thanks to Christopher
Chang's report and patch in PR#18711.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=142
SIGNIFICANT USER-VISIBLE CHANGES:
* Startup banners, R --version, sessionInfo() and R CMD check no
longer report (64-bit) as part of the platform as this is almost
universal - the increasingly rare 32-bit platforms will still
report (32-bit).
On Windows, ditto for window titles.
* is.atomic(NULL) now returns FALSE, as NULL is not an atomic
vector. Strict back-compatibility would replace is.atomic(foo)
by (is.null(foo) || is.atomic(foo)) but should happen only
sparingly.
NEW FEATURES:
* The confint() methods for "glm" and "nls" objects have been
copied to the stats package. Previously, they were stubs which
called versions in package MASS. The MASS namespace is no longer
loaded if you invoke (say) confint(glmfit). Further, the "glm"
method for profile() and the plot() and pairs() methods for class
"profile" have been copied from MASS to stats. (profile.nls()
and plot.profile.nls() were already in stats.)
* The confint() and profile methods for "glm" objects have gained a
possibility to do profiling based on the Rao Score statistic in
addition to the default Likelihood Ratio. This is controlled by a
new test = argument.
* The pairs() method for "profile" objects has been extended with a
which = argument to allow plotting only a subset of the
parameters.
* The "glm" method for anova() computes test statistics and
p-values by default, using a chi-squared test or an F test
depending on whether the dispersion is fixed or free. Test
statistics can be suppressed by giving argument test a false
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=140
NEW FEATURES:
* iconv() now fixes up variant encoding names such as "utf8"
case-insensitively.
DEPRECATED AND DEFUNCT:
* The legacy encoding = "MacRoman" is deprecated in pdf() and
postscript(): support was incomplete in earlier versions of R.
BUG FIXES:
* 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(<long vector>) now works, fixing PR#18617, thanks to Ilia
Kats.
* seq.int() did not adequately check its length.out argument.
* match(<POSIXct>, .) 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,
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=138
NEW FEATURES:
* The default initialization of the "repos" option from the
repositories file at startup can be skipped by setting
environment variable R_REPOSITORIES to NULL such that
getOption("repos") is empty if not set elsewhere.
* qr.X() is now an implicit S4 generic in methods.
* iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
platforms which do not support it (notably Alpine Linux). This
should give a human-readable conversion in ASCII on all platforms
(rather than NA_character_).
* trans3d() gains options continuous and verbose addressing the
problem of possible "wrap around" when projecting too long
curves, as reported by Achim Zeileis in PR#18537.
* tools::showNonASCII() has been rewritten to work better on macOS
14 (which has a changed implementation of iconv()).
* tiff(type = "quartz") (the default on macOS) now warns if
compression is specified: it continues to be ignored.
INSTALLATION on a UNIX-ALIKE:
* There is some support for building with Intel's LLVM-based
compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
(Fortran) ifx from oneAPI 2023.x.y.
* There is support for using LLVM's flang-new as the Fortran
compiler from LLVM 16.0.x (preferably 17.0.0 or later).
UTILITIES:
* R CMD check reports the use of the Fortran 90 random number
generator RANDOM_NUMBER() and the subroutines to initialize it.
'Writing R Extensions' has example code to use R's RNGs from
Fortran.
BUG FIXES:
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=136
C-LEVEL FACILITIES:
* The C-level API version of R's integrate(), Rdqags() in Applic.h,
now returns the correct number of integrand evaluations neval,
fixing PR#18515 reported and diagnosed by Stephen Wade.
* The C prototypes for LAPACK calls dspgv and dtptrs in
R_exts/Lapack.h had one too many and one too few character length
arguments - but this has not caused any known issues. To get the
corrected prototypes, include
#include <Rconfig.h> // for PR18534fixed
#ifdef PR18534fixed
# define usePR18534fix 1
#endif
#include <R_exts/Lapack.h>
in your C/C++ code (PR#18534).
INSTALLATION:
* Many of the checks of esoteric Internet operations and those
using unreliable external sites have been moved to a new target
that is not run by default and primarily intended for the core
developers. To run them use
cd tests; make test-Internet-dev
BUG FIXES:
* .S3methods(), typically called from methods(), again marks
methods from package base as visible.
Also, the visibility of non-base methods is again determined by
the method's presence in search().
* tools::Rdiff() is now more robust against invalid strings, fixing
installation tests on Windows without Rtools installed
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=134
SIGNIFICANT USER-VISIBLE CHANGES:
* Calling && or || with LHS or (if evaluated) RHS of length greater
than one is now always an error, with a report of the form
'length = 4' in coercion to 'logical(1)'
Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
effect.
NEW FEATURES:
* The included BLAS sources have been updated to those shipped with
LAPACK version 3.10.1. (This caused some platform-dependent
changes to package check output.) And then to the sources from
LAPACK version 3.11.0 (with changes only to double complex
subroutines).
* The included LAPACK sources have been updated to include the four
Fortran 90 routines rather than their Fortran 77 predecessors.
This may give some different signs in SVDs or
eigendecompositions.. (This completes the transition to LAPACK
3.10.x begun in R 4.2.0.)
* The LAPACK sources have been updated to version 3.11.0. (No new
subroutines have been added, so this almost entirely bug fixes:
Those fixes do affect some computations with NaNs, including R's
NA.)
* The parser now signals _classed_ errors, notably in case of the
pipe operator |>. The error object and message now give line and
column numbers, mostly as proposed and provided by Duncan Murdoch
in PR#18328.
* toeplitz() is now generalized for asymmetric cases, with a
toeplitz2() variant.
* xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=132
C-LEVEL FACILITIES:
* The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
be fully C-compliant. This means that functions loaded _via_ for
example R_GetCCallable need to be cast to an appropriate type if
they have any arguments.
* .Machine has a new element sizeof.time_t to identify old systems
with a 32-bit type and hence a limited range of date-times (and
limited support for dates millions of years from present).
PACKAGE INSTALLATION:
* (Windows) The default C++ standard had accidentally been left at
C++11 when it was changed to C++14 on Unix.
BUG FIXES:
* As "POSIXlt" objects may be "partially filled" and their list
components meant to be recycled, length() now is the length of
the longest component.
* as.POSIXlt.Date() could underflow for dates in the far past (more
than half a million years BCE).
* as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
4.2.2, e.g., for
x <- as.POSIXlt(c("2019-01-30","2001-1-1"))
x$mon <- c(0L, NA); as.Date(x)
* R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
examples and vignettes (regression in R 4.2.0).
* R CMD check did not re-build vignettes in separate processes by
default (regression in R 4.2.0).
* Running examples from HTML documentation now restores previous
knitr settings and options (PR#18420).
* Quartz: fonts are now located using Core Graphics API instead of
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=129
- CHANGES IN R 4.2.2:
NEW FEATURES:
* tools::Rdiff(useDiff = TRUE) checks for the presence of an
external diff command and switches to useDiff = FALSE if none is
found. This allows R CMD Rdiff to always work.
* On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
can be used to switch to only 'best-effort' SSL certificate
revocation checks with the default "libcurl" download method.
This reduces security, but may be needed for downloads to work
with MITM proxies (PR#18379).
* (macOS) The run-time check for libraries from XQuartz for X11 and
Tcl/Tk no longer uses otool from the Apple Developer Tools
(PR#18400).
* The LaTeX style for producing the PDF manuals, Rd.sty, now loads
the standard amsmath, amsfonts and amssymb packages for greater
coverage of math commands in the Rd \eqn and \deqn macros. The
\mathscr LaTeX command is also provided (via the mathrsfs
package, if available, or the amsfonts bundle otherwise),
fulfilling the wish of PR#18398.
* (Windows) The default format of readClipboard() and
writeClipboard() has been changed to 13 (CF_UNICODETEXT).
INSTALLATION on a UNIX-ALIKE:
* The PDF manuals (if built) can be compacted by the new target
make compact-pdf (at the top level or in directory doc/manual).
* There is now configure support for LLVM clang 15 on Linux, which
defaults to position-independent (PIE) executables whereas
gfortran does not.
* Many small changes to ease compilation (and suppress warnings)
with LLVM clang 15.
BUG FIXES:
OBS-URL: https://build.opensuse.org/request/show/1033874
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/R-base?expand=0&rev=86
NEW FEATURES:
* tools::Rdiff(useDiff = TRUE) checks for the presence of an
external diff command and switches to useDiff = FALSE if none is
found. This allows R CMD Rdiff to always work.
* On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
can be used to switch to only 'best-effort' SSL certificate
revocation checks with the default "libcurl" download method.
This reduces security, but may be needed for downloads to work
with MITM proxies (PR#18379).
* (macOS) The run-time check for libraries from XQuartz for X11 and
Tcl/Tk no longer uses otool from the Apple Developer Tools
(PR#18400).
* The LaTeX style for producing the PDF manuals, Rd.sty, now loads
the standard amsmath, amsfonts and amssymb packages for greater
coverage of math commands in the Rd \eqn and \deqn macros. The
\mathscr LaTeX command is also provided (via the mathrsfs
package, if available, or the amsfonts bundle otherwise),
fulfilling the wish of PR#18398.
* (Windows) The default format of readClipboard() and
writeClipboard() has been changed to 13 (CF_UNICODETEXT).
INSTALLATION on a UNIX-ALIKE:
* The PDF manuals (if built) can be compacted by the new target
make compact-pdf (at the top level or in directory doc/manual).
* There is now configure support for LLVM clang 15 on Linux, which
defaults to position-independent (PIE) executables whereas
gfortran does not.
* Many small changes to ease compilation (and suppress warnings)
with LLVM clang 15.
BUG FIXES:
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=127
NEW FEATURES:
* 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.
INSTALLATION on a UNIX-ALIKE:
* 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.
UTILITIES:
* 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.
C-LEVEL FACILITIES:
* The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
and SINT_MIN in header R.h are deprecated.
BUG FIXES:
* fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
by preventing/detecting an integer overflow reliably.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=125
- CHANGES IN R 4.2.0:
SIGNIFICANT USER-VISIBLE CHANGES:
* The formula method of aggregate() now matches the generic in
naming its first argument x (resolving PR#18299 by Thomas
Soeiro).
This means that calling aggregate() with a formula as a named
first argument requires name formula in earlier versions of R and
name x now, so portable code should not name the argument (code
in many packages did).
* Calling && or || with either argument of length greater than one
now gives a warning (which it is intended will become an error).
* Calling if() or while() with a condition of length greater than
one gives an error rather than a warning. Consequently,
environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
any effect.
* Windows users should consult the WINDOWS section below for some
profound changes including
* Support for 32-bit builds has been dropped.
* UTF-8 locales are used where available.
* The default locations for the R installation and personal
library folder have been changed.
Thanks to Tomas Kalibera for months of work on the Windows port
for this release.
NEW FEATURES:
* matrix(x, n, m) now warns in more cases where length(x) differs
from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
Feb 2021 on the R-devel mailing list.
This warning can be turned into an error by setting environment
variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
does so unless it is already set.
OBS-URL: https://build.opensuse.org/request/show/972315
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/R-base?expand=0&rev=84
SIGNIFICANT USER-VISIBLE CHANGES:
* The formula method of aggregate() now matches the generic in
naming its first argument x (resolving PR#18299 by Thomas
Soeiro).
This means that calling aggregate() with a formula as a named
first argument requires name formula in earlier versions of R and
name x now, so portable code should not name the argument (code
in many packages did).
* Calling && or || with either argument of length greater than one
now gives a warning (which it is intended will become an error).
* Calling if() or while() with a condition of length greater than
one gives an error rather than a warning. Consequently,
environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
any effect.
* Windows users should consult the WINDOWS section below for some
profound changes including
* Support for 32-bit builds has been dropped.
* UTF-8 locales are used where available.
* The default locations for the R installation and personal
library folder have been changed.
Thanks to Tomas Kalibera for months of work on the Windows port
for this release.
NEW FEATURES:
* matrix(x, n, m) now warns in more cases where length(x) differs
from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
Feb 2021 on the R-devel mailing list.
This warning can be turned into an error by setting environment
variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
does so unless it is already set.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=123
- CHANGES IN R 4.1.3:
NEW FEATURES:
* The default version of Bioconductor has been changed to 3.14.
(This is used by setRepositories and the menus in GUIs.)
UTILITIES:
* R CMD check --as-cran has a workaround for a bug in versions of
file up to at least 5.41 which mis-identify DBF files last
changed in 2022 as executables.
C-LEVEL FACILITIES:
* The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
(included by R.h) are deprecated and will be removed in R 4.2.0.
BUG FIXES:
* Initialization of self-starting nls() models with initialization
functions following the pre-R-4.1.0 API (without the ...
argument) works again for now, with a deprecation warning.
* Fixed quoting of ~autodetect~ in Java setting defaults to avoid
inadvertent user lookup due to leading ~, reported in PR#18231 by
Harold Gutch.
* substr(., start, stop) <- v now treats _negative_ stop values
correctly. Reported with a patch in PR#18228 by Brodie Gaslam.
* Subscripting an array x without dimnames by a
length(dim(x))-column character matrix gave "random" non-sense,
now an error; reported in PR#18244 by Mikael Jagan.
* ...names() now matches names(list(...)) closely, fixing PR#18247.
* all.equal(*, scale = s) now works as intended when length(s) > 1,
partly thanks to Michael Chirico's PR#18272.
* print(x) for long vectors x now also works for named atomic
vectors or lists and prints the correct number when reaching the
getOption("max.print") limit; partly thanks to a report and
proposal by Hugh Parsonage to the R-devel list.
OBS-URL: https://build.opensuse.org/request/show/962175
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/R-base?expand=0&rev=83
NEW FEATURES:
* The default version of Bioconductor has been changed to 3.14.
(This is used by setRepositories and the menus in GUIs.)
UTILITIES:
* R CMD check --as-cran has a workaround for a bug in versions of
file up to at least 5.41 which mis-identify DBF files last
changed in 2022 as executables.
C-LEVEL FACILITIES:
* The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
(included by R.h) are deprecated and will be removed in R 4.2.0.
BUG FIXES:
* Initialization of self-starting nls() models with initialization
functions following the pre-R-4.1.0 API (without the ...
argument) works again for now, with a deprecation warning.
* Fixed quoting of ~autodetect~ in Java setting defaults to avoid
inadvertent user lookup due to leading ~, reported in PR#18231 by
Harold Gutch.
* substr(., start, stop) <- v now treats _negative_ stop values
correctly. Reported with a patch in PR#18228 by Brodie Gaslam.
* Subscripting an array x without dimnames by a
length(dim(x))-column character matrix gave "random" non-sense,
now an error; reported in PR#18244 by Mikael Jagan.
* ...names() now matches names(list(...)) closely, fixing PR#18247.
* all.equal(*, scale = s) now works as intended when length(s) > 1,
partly thanks to Michael Chirico's PR#18272.
* print(x) for long vectors x now also works for named atomic
vectors or lists and prints the correct number when reaching the
getOption("max.print") limit; partly thanks to a report and
proposal by Hugh Parsonage to the R-devel list.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=121
C-LEVEL FACILITIES:
* The workaround in headers R.h and Rmath.h (using namespace std;)
for the Oracle Developer Studio compiler is no longer needed now
C++11 is required so has been removed. A couple more usages of
log() (which should have been std::log()) with an int argument
are reported on Solaris.
* The undocumented limit of 4095 bytes on messages from the
S-compatibility macros PROBLEM and MESSAGE is now documented and
longer messages will be silently truncated rather than
potentially causing segfaults.
* If the R_NO_SEGV_HANDLER environment variable is non-empty, the
signal handler for SEGV/ILL/BUS signals (which offers recovery
user interface) is not set. This allows more reliable debugging
of crashes that involve the console.
DEPRECATED AND DEFUNCT:
* The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
WARNING, RECOVER, ... are deprecated and will be hidden in R
4.2.0. R's native interface of Rf_error and Rf_warning has long
been preferred.
BUG FIXES:
* .mapply(F, dots, .) no longer segfaults when dots is not a list
and uses match.fun(F) as always documented; reported by Andrew
Simmons in PR#18164.
* hist(<Date>, ...) and hist(<POSIXt>, ...) no longer pass
arguments for rect() (such as col and density) to axis().
(Thanks to Sebastian Meyer's PR#18171.)
* \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
patch by Jeroen Ooms in PR#18152.)
* Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=120
NEW FEATURES:
* require(pkg, quietly = TRUE) is quieter and in particular does
not warn if the package is not found.
DEPRECATED AND DEFUNCT:
* Use of ftp:// URIs should be regarded as deprecated, with
on-going support confined to method = "libcurl" and not routinely
tested. (Nowadays no major browser supports them.)
* The non-default method = "internal" is deprecated for http:// and
ftp:// URIs for both download.file and url.
* On Windows, method = "wininet" is deprecated for http://,
https:// and ftp:// URIs for both download.file and url. (A
warning is only given for ftp://.)
For ftp:// URIs the default method is now "libcurl" if available
(which it is on CRAN builds).
method = "wininet" remains the default for http:// and https://
URIs but if libcurl is available, using method = "libcurl" is
preferred.
INSTALLATION:
* make check now works also without a LaTeX installation. (Thanks
to Sebastian Meyer's PR#18103.)
BUG FIXES:
* make check-devel works again in an R build configured with
--without-recommended-packages.
* qnbinom(p, size, mu) for large size/mu is correct now in a range
of cases (PR#18095); similarly for the (size, prob)
parametrization of the negative binomial. Also qpois() and
qbinom() are better and or faster for extreme cases. The
underlying C code has been modularized and is common to all four
cases of discrete distributions.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=118
- CHANGES IN R 4.1.0:
FUTURE DIRECTIONS:
* It is planned that the 4.1.x series will be the last to support
32-bit Windows, with production of binary packages for that
series continuing until early 2023.
SIGNIFICANT USER-VISIBLE CHANGES:
* Data set esoph in package datasets now provides the correct
numbers of controls; previously it had the numbers of cases added
to these. (Reported by Alexander Fowler in PR#17964.)
NEW FEATURES:
* www.omegahat.net is no longer one of the repositories known by
default to setRepositories(). (Nowadays it only provides source
packages and is often unavailable.)
* Function package_dependencies() (in package tools) can now use
different dependency types for direct and recursive dependencies.
* The checking of the size of tarball in R CMD check --as-cran
<pkg> may be tweaked via the new environment variable
_R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
PR#17777 by Jan Gorecki.
* Using c() to combine a factor with other factors now gives a
factor, an ordered factor when combining ordered factors with
identical levels.
* apply() gains a simplify argument to allow disabling of
simplification of results.
* The format() method for class "ftable" gets a new option justify.
(Suggested by Thomas Soeiro.)
* New ...names() utility. (Proposed by Neal Fultz in PR#17705.)
* type.convert() now warns when its as.is argument is not
specified, as the help file always said it _should_. In that
case, the default is changed to TRUE in line with its change in
OBS-URL: https://build.opensuse.org/request/show/894139
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/R-base?expand=0&rev=79
FUTURE DIRECTIONS:
* It is planned that the 4.1.x series will be the last to support
32-bit Windows, with production of binary packages for that
series continuing until early 2023.
SIGNIFICANT USER-VISIBLE CHANGES:
* Data set esoph in package datasets now provides the correct
numbers of controls; previously it had the numbers of cases added
to these. (Reported by Alexander Fowler in PR#17964.)
NEW FEATURES:
* www.omegahat.net is no longer one of the repositories known by
default to setRepositories(). (Nowadays it only provides source
packages and is often unavailable.)
* Function package_dependencies() (in package tools) can now use
different dependency types for direct and recursive dependencies.
* The checking of the size of tarball in R CMD check --as-cran
<pkg> may be tweaked via the new environment variable
_R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
PR#17777 by Jan Gorecki.
* Using c() to combine a factor with other factors now gives a
factor, an ordered factor when combining ordered factors with
identical levels.
* apply() gains a simplify argument to allow disabling of
simplification of results.
* The format() method for class "ftable" gets a new option justify.
(Suggested by Thomas Soeiro.)
* New ...names() utility. (Proposed by Neal Fultz in PR#17705.)
* type.convert() now warns when its as.is argument is not
specified, as the help file always said it _should_. In that
case, the default is changed to TRUE in line with its change in
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=113
BUG FIXES:
* The change to the internal table in R 4.0.4 for iswprint has been
reverted: it contained some errors in printability of 'East
Asian' characters.
* For packages using LazyData, R CMD build ignored the
--resave-data option and the BuildResaveData field of the
DESCRIPTION file (in R versions 4.0.0 to 4.0.4).
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=109
- CHANGES IN R 4.0.4:
NEW FEATURES:
* File share/texmf/tex/latex/jss.cls has been updated to work with
LaTeX versions since Oct 2020.
* Unicode character width tables (as used by nchar(, type = "w"))
have been updated to Unicode 12.1 by Brodie Gaslam (PR#17781),
including many emoji.
* The internal table for iswprint (used on Windows, macOS and AIX)
has been updated to include many recent Unicode characters.
INSTALLATION on a UNIX-ALIKE:
* If an external BLAS is specified by --with-blas=foo or _via_
environment variable BLAS_LIBS is not found, this is now a
configuration error. The previous behaviour was not clear from
the documentation: it was to continue the search as if
--with-blas=yes was specified.
BUG FIXES:
* all.equal(x,y) now "sees" the two different NAs in factors,
thanks to Bill Dunlap and others in PR#17897.
* (~ NULL)[1] and similar formula subsetting now works, thanks to a
report and patch by Henrik Bengtsson in PR#17935. Additionally,
subsetting leaving an empty formula now works too, thanks to
suggestions by Suharto Anggono.
* .traceback(n) keeps source references again, as before R 4.0.0,
fixing a regression; introduced by the PR#17580, reported
including two patch proposals by Brodie Gaslam.
* unlist(plst, recursive=FALSE) no longer drops content for
pairlists with list components, thanks to the report and patch by
Suharto Anggono in PR#17950.
* iconvlist() now also works on MUSL based (Linux) systems, from a
report and patch suggestion by Wesley Chan in PR#17970.
OBS-URL: https://build.opensuse.org/request/show/872357
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/R-base?expand=0&rev=77
NEW FEATURES:
* File share/texmf/tex/latex/jss.cls has been updated to work with
LaTeX versions since Oct 2020.
* Unicode character width tables (as used by nchar(, type = "w"))
have been updated to Unicode 12.1 by Brodie Gaslam (PR#17781),
including many emoji.
* The internal table for iswprint (used on Windows, macOS and AIX)
has been updated to include many recent Unicode characters.
INSTALLATION on a UNIX-ALIKE:
* If an external BLAS is specified by --with-blas=foo or _via_
environment variable BLAS_LIBS is not found, this is now a
configuration error. The previous behaviour was not clear from
the documentation: it was to continue the search as if
--with-blas=yes was specified.
BUG FIXES:
* all.equal(x,y) now "sees" the two different NAs in factors,
thanks to Bill Dunlap and others in PR#17897.
* (~ NULL)[1] and similar formula subsetting now works, thanks to a
report and patch by Henrik Bengtsson in PR#17935. Additionally,
subsetting leaving an empty formula now works too, thanks to
suggestions by Suharto Anggono.
* .traceback(n) keeps source references again, as before R 4.0.0,
fixing a regression; introduced by the PR#17580, reported
including two patch proposals by Brodie Gaslam.
* unlist(plst, recursive=FALSE) no longer drops content for
pairlists with list components, thanks to the report and patch by
Suharto Anggono in PR#17950.
* iconvlist() now also works on MUSL based (Linux) systems, from a
report and patch suggestion by Wesley Chan in PR#17970.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=107
- CHANGES IN R 4.0.3:
NEW FEATURES:
* On platforms using configure option --with-internal-tzcode,
additional values "internal" and (on macOS only) "macOS" are
accepted for the environment variable TZDIR. (See ?TZDIR.)
On macOS, "macOS" is used by default if the system timezone
database is a newer version than that in the R installation.
* When install.packages(type = "source") fails to find a package in
a repository it mentions package versions which are excluded by
their R version requirement and links to hints on why a package
might not be found.
* The default value for options("timeout") can be set from
enviromnent variable R_DEFAULT_INTERNET_TIMEOUT, still defaulting
to 60 (seconds) if that is not set or invalid.
This may be needed when child R processes are doing downloads,
for example during the installation of source packages which
download jars or other forms of data.
LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
* There is now support for parallelized Link-Time Optimization
(LTO) with GCC and for 'thin' LTO with clang _via_ setting the
LTO macro.
* There is support for setting a different LTO flag for the Fortran
compiler, including to empty when mixing clang and gfortran (as
on macOS). See file config.site.
* There is a new LTO_LD macro to set linker options for LTO
compilation, for example to select an alternative linker or to
parallelize thin LTO.
DEPRECATED AND DEFUNCT:
* The LINPACK argument to chol.default(), chol2inv(),
solve.default() and svd() has been defunct since R 3.1.0. Using
OBS-URL: https://build.opensuse.org/request/show/841472
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/R-base?expand=0&rev=76
NEW FEATURES:
* On platforms using configure option --with-internal-tzcode,
additional values "internal" and (on macOS only) "macOS" are
accepted for the environment variable TZDIR. (See ?TZDIR.)
On macOS, "macOS" is used by default if the system timezone
database is a newer version than that in the R installation.
* When install.packages(type = "source") fails to find a package in
a repository it mentions package versions which are excluded by
their R version requirement and links to hints on why a package
might not be found.
* The default value for options("timeout") can be set from
enviromnent variable R_DEFAULT_INTERNET_TIMEOUT, still defaulting
to 60 (seconds) if that is not set or invalid.
This may be needed when child R processes are doing downloads,
for example during the installation of source packages which
download jars or other forms of data.
LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
* There is now support for parallelized Link-Time Optimization
(LTO) with GCC and for 'thin' LTO with clang _via_ setting the
LTO macro.
* There is support for setting a different LTO flag for the Fortran
compiler, including to empty when mixing clang and gfortran (as
on macOS). See file config.site.
* There is a new LTO_LD macro to set linker options for LTO
compilation, for example to select an alternative linker or to
parallelize thin LTO.
DEPRECATED AND DEFUNCT:
* The LINPACK argument to chol.default(), chol2inv(),
solve.default() and svd() has been defunct since R 3.1.0. Using
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=105
UTILITIES:
* R CMD check skips vignette re-building (with a warning) if the
VignetteBuilder package(s) are not available.
BUG FIXES:
* Paths with non-ASCII characters caused problems for package
loading on Windows PR#17833.
* Using tcltk widgets no longer crashes R on Windows.
* source(*, echo=TRUE) no longer fails in some cases with empty
lines; reported by Bill Dunlap in PR#17769.
* on.exit() now correctly matches named arguments, thanks to
PR#17815 (including patch) by Brodie Gaslam.
* regexpr(*, perl=TRUE) no longer returns incorrect positions into
text containing characters outside of the Unicode Basic
Multilingual Plane on Windows.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=103
- CHANGES IN R 4.0.1:
NEW FEATURES:
* paste() and paste0() gain a new optional argument recycle0. When
set to true, zero-length arguments are recycled leading to
character(0) after the sep-concatenation, i.e., to the empty
string "" if collapse is a string and to the zero-length value
character(0) when collapse = NULL.
A package whose code uses this should depend on R (>= 4.0.1).
* The summary(<warnings>) method now maps the counts correctly to
the warning messages.
BUG FIXES:
* aov(frml, ...) now also works where the formula deparses to more
than 500 characters, thanks to a report and patch proposal by Jan
Hauffa.
* Fix a dozen places (code, examples) as Sys.setlocale() returns
the new rather than the previous setting.
* Fix for adding two complex grid units via sum(). Thanks to Gu
Zuguang for the report and Thomas Lin Pedersen for the patch.
* Fix parallel::mclapply(..., mc.preschedule=FALSE) to handle raw
vector results correctly. PR#17779
* Computing the base value, i.e., 2, "everywhere", now uses
FLT_RADIX, as the original machar code looped indefinitely on the
ppc64 architecture for the longdouble case.
* In R 4.0.0, sort.list(x) when is.object(x) was true, e.g., for x
<- I(letters), was accidentally using method = "radix".
Consequently, e.g., merge(<data.frame>) was much slower than
previously; reported in PR#17794.
* plot(y ~ x, ylab = quote(y[i])) now works, as e.g., for xlab;
related to PR#10525.
* parallel::detect.cores(all.tests = TRUE) tries a matching OS name
OBS-URL: https://build.opensuse.org/request/show/812058
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/R-base?expand=0&rev=74
NEW FEATURES:
* paste() and paste0() gain a new optional argument recycle0. When
set to true, zero-length arguments are recycled leading to
character(0) after the sep-concatenation, i.e., to the empty
string "" if collapse is a string and to the zero-length value
character(0) when collapse = NULL.
A package whose code uses this should depend on R (>= 4.0.1).
* The summary(<warnings>) method now maps the counts correctly to
the warning messages.
BUG FIXES:
* aov(frml, ...) now also works where the formula deparses to more
than 500 characters, thanks to a report and patch proposal by Jan
Hauffa.
* Fix a dozen places (code, examples) as Sys.setlocale() returns
the new rather than the previous setting.
* Fix for adding two complex grid units via sum(). Thanks to Gu
Zuguang for the report and Thomas Lin Pedersen for the patch.
* Fix parallel::mclapply(..., mc.preschedule=FALSE) to handle raw
vector results correctly. PR#17779
* Computing the base value, i.e., 2, "everywhere", now uses
FLT_RADIX, as the original machar code looped indefinitely on the
ppc64 architecture for the longdouble case.
* In R 4.0.0, sort.list(x) when is.object(x) was true, e.g., for x
<- I(letters), was accidentally using method = "radix".
Consequently, e.g., merge(<data.frame>) was much slower than
previously; reported in PR#17794.
* plot(y ~ x, ylab = quote(y[i])) now works, as e.g., for xlab;
related to PR#10525.
* parallel::detect.cores(all.tests = TRUE) tries a matching OS name
OBS-URL: https://build.opensuse.org/package/show/devel:languages:R:released/R-base?expand=0&rev=101
- CHANGES IN 4.0.0:
SIGNIFICANT USER-VISIBLE CHANGES:
* Packages need to be (re-)installed under this version (4.0.0) of
R.
* matrix objects now also inherit from class "array", so e.g.,
class(diag(1)) is c("matrix", "array"). This invalidates code
incorrectly assuming that class(matrix_obj)) has length one.
S3 methods for class "array" are now dispatched for matrix
objects.
* There is a new syntax for specifying _raw_ character constants
similar to the one used in C++: r"(...)" with ... any character
sequence not containing the sequence )". This makes it easier to
write strings that contain backslashes or both single and double
quotes. For more details see ?Quotes.
* R now uses a stringsAsFactors = FALSE default, and hence by
default no longer converts strings to factors in calls to
data.frame() and read.table().
A large number of packages relied on the previous behaviour and
so have needed/will need updating.
* The plot() S3 generic function is now in package base rather than
package graphics, as it is reasonable to have methods that do not
use the graphics package. The generic is currently re-exported
from the graphics namespace to allow packages importing it from
there to continue working, but this may change in future.
Packages which define S4 generics for plot() should be
re-installed and package code using such generics from other
packages needs to ensure that they are imported rather than rely
on their being looked for on the search path (as in a namespace,
the base namespace has precedence over the search path).
REFERENCE COUNTING:
OBS-URL: https://build.opensuse.org/request/show/797070
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/R-base?expand=0&rev=73