pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

(math/R) add COMMIT_MSG



Module Name:	pkgsrc-wip
Committed By:	Makoto Fujiwara <makoto%ki.nu@localhost>
Pushed By:	mef
Date:		Fri Jan 5 12:45:32 2024 +0900
Changeset:	fe37f927a528ae870cbb4b6c0a47e66d69d891e0

Added Files:
	R/COMMIT_MSG

Log Message:
(math/R) add COMMIT_MSG

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=fe37f927a528ae870cbb4b6c0a47e66d69d891e0

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 R/COMMIT_MSG | 982 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 982 insertions(+)

diffs:
diff --git a/R/COMMIT_MSG b/R/COMMIT_MSG
new file mode 100644
index 0000000000..ab95380faa
--- /dev/null
+++ b/R/COMMIT_MSG
@@ -0,0 +1,982 @@
+(math/R) Updated 4.2.l to 4.3.2
+
+CHANGES IN R 4.3.2:
+
+  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:
+
+         * 'substr(x, n, L) <- cc' now works (more) correctly for
+           multibyte UTF-8 strings 'x' when 'L > nchar(x)', thanks to a
+           report and patch by 'Architect 95'.
+
+         * 'contrib.url(character())' now returns 0-length
+           'character()' as documented, which also avoids spurious
+           warnings from 'available.packages()' et al. in the edge case
+           of an empty vector of repository URLs.
+
+         * 'readChar(., 4e8)' no longer fails, thanks to Kodi Arfer's
+           report (PR#18557).
+
+         * 'lapply(<list>, as.data.frame)' no longer warns falsely for
+           some base vector components.
+
+         * Communication between parent and child processes in the
+           'multicore' part of 'parallel' could fail on platforms that
+           do not support an arbitrarily large payload in system
+           functions 'read()'/'write()' on pipes (seen on macOS where a
+           restriction to 'INT_MAX' bytes is documented, without doing
+           a partial read unlike Linux). The payload is now split into
+           1Gb chunks to avoid that problem. (PR#18571)
+
+         * 'qqplot(x,y, conf.level=.)' gives better confidence bounds
+           when 'length(x) != length(y)', thanks to Alexander Ploner's
+           report and patch proposal (PR#18557).
+
+         * 'norm(<0-length>, "2")' now gives zero instead of an error,
+           as all the other norm types, thanks to Mikael Jagan's
+           PR#18542.
+
+         * Build-stage Rd macros \packageAuthor and \packageMaintainer
+           now process 'Authors@R', fixing 'NA' results when the
+           package 'DESCRIPTION' omits 'Author' and 'Maintainer'
+           fields.
+
+         * Formatting and printing complex numbers could give things
+           like '0.1683-0i' because of rounding error: '-0i' is now
+           replaced by '+0i'.
+
+         * 'postscript()' refused to accept a 'title' comment
+           containing the letter "W" (PR#18599).
+
+         * 'isoreg(c(1,Inf))' signals an error instead of segfaulting,
+           fixing PR#18603.
+
+         * 'tiff(type = "Xlib")' was only outputting the last page of
+           multi-page plots.
+
+         * 'tools::latexToUtf8()' again knows about '\~{n}' and other
+           letters with tilde, fixing a regression in R 4.3.0, and
+           about '\^{i}' as an alternative to '\^{\i}' (similarly with
+           other accents).  Furthermore, LaTeX codes for accented I
+           letters are now correctly converted, also fixing related
+           mistakes in 'tools::encoded_text_to_latex()'.
+
+         * 'tar(*, tar = "internal")' no longer creates out-of-spec tar
+           files in the very rare case of user or group names longer
+           than 32 bytes, fixing PR#17871 with thanks to Ivan Krylov.
+
+         * When using the "internal" timezone datetime code, adding a
+           fraction of a second no longer adds one second, fixing
+           PR#16856 from a patch by Ivan Krylov.
+
+         * 'tools::checkRd()' no longer produces spurious notes about
+           "unnecessary braces" from multi-line Rd results of \Sexpr
+           macros.
+
+CHANGES IN R 4.3.1:
+
+  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 (PR#18530).
+
+         * Fix (new) bug in 'hcl.colors(2, *)', by Achim Zeileis
+           (PR#18523).
+
+         * 'head(., <illegal>)' and 'tail(..)' now produce more useful
+           '"Error in ...."' error messages, fixing PR#18362.
+
+         * Package code syntax on Windows is checked in UTF-8 when
+           UTF-8 is the native encoding.
+
+         * 'na.contiguous(x)' now also returns the first run, when it
+           is at the beginning and there is a later one of the same
+           length; reported to R-devel, including a fix, by Georgi
+           Boshnakov.  Further, by default, it modifies only an
+           existing 'attr(*,"tsp")' but otherwise no longer sets one.
+
+         * 'chol(<not pos.def>, pivot = <T|F>)' now gives a correct
+           error or warning message (depending on 'pivot'), thanks to
+           Mikael Jagan's (PR#18541).
+
+CHANGES IN R 4.3.0:
+
+  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 'NaN's,
+           including R's 'NA'.)
+
+         * The parser now signals _classederrors, 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, log = "y")' now signal a _classedwarning about
+           negative values of y (where 'log(.)' is 'NA').  Such a
+           warning can be specifically suppressed or caught otherwise.
+
+         * Regular expression functions now check more thoroughly
+           whether their inputs are valid strings (in their encoding,
+           e.g. in UTF-8).
+
+         * The performance of 'grep()', 'sub()', 'gsub()' and
+           'strsplit()' has been improved, particularly with 'perl =
+           TRUE' and 'fixed = TRUE'.  Use of 'useBytes = TRUE' for
+           performance reasons should no longer be needed and is
+           discouraged: it may lead to incorrect results.
+
+         * 'apropos()' gains an argument 'dot_internals' which is used
+           by the completion ('help(rcompgen)') engine to also see
+           'base' internals such as '.POSIXct()'.
+
+         * Support in 'tools::Rdiff()' for comparing uncompressed PDF
+           files is further reduced - see its help page.
+
+         * 'qqplot(x, y, ...)' gains 'conf.level' and 'conf.args'
+           arguments for computing and plotting a confidence band for
+           the treatment function transforming the distribution of 'x'
+           into the distribution of 'y ' (Switzer, 1976, _Biometrika_).
+           Contributed by Torsten Hothorn.
+
+         * Performance of 'package_dependencies()' has been improved
+           for cases when the number of dependencies is large.
+
+         * Strings newly created by 'gsub()', 'sub()' and 'strsplit()',
+           when any of the inputs is marked as '"bytes"', are also
+           marked as '"bytes"'.  This reduces the risk of creating
+           invalid strings and accidental substitution of bytes deemed
+           invalid.
+
+         * Support for 'readLines(encoding = "bytes")' has been added
+           to allow processing special text files byte-by-byte, without
+           creating invalid strings.
+
+         * 'iconv(from = "")' now takes into account any declared
+           encoding of the input elements and uses it in preference to
+           the native encoding.  This reduces the risk of accidental
+           creation of invalid strings, particularly when different
+           elements of the input have different encoding (including
+           '"bytes"').
+
+         * Package repositories in 'getOption("repos")' are now
+           initialized from the 'repositories' file when 'utils' is
+           loaded (if not already set, e.g., in '.Rprofile').  (From a
+           report and patch proposal by Gabriel Becker in PR#18405.)
+
+         * 'compactPDF()' gets a 'verbose' option.
+
+         * 'type.convert()' and hence 'read.table()' get new option
+           'tryLogical = TRUE' with back compatible default.  When set
+           to false, converts '"F"' or '"T"' columns to character.
+
+         * Added new unit prefixes '"R"' and '"Q"' for abbreviating
+           (unrealistically large) sizes beyond 10^{27} in 'standard =
+           "SI"', thanks to Henrik Bengtsson's PR#18435.
+
+         * 'as.data.frame()''s default method now also works fine with
+           atomic objects inheriting from classes such as '"roman"',
+           '"octmode"' and '"hexmode"', such fulfilling the wish of
+           PR#18421, by Benjamin Feakins.
+
+         * The 'as.data.frame.vector()' utility now errors for
+           wrong-length 'row.names'.  It warned for almost six years,
+           with "Will be an error!".
+
+         * 'sessionInfo()' now also contains 'La_version()' and reports
+           codepage and timezone when relevant, in both 'print()' and
+           'toLatex()' methods which also get new option 'tzone' for
+           displaying timezone information when 'locale = FALSE'.
+
+         * New function 'R_compiled_by()' reports the C and Fortran
+           compilers used to build R, if known.
+
+         * 'predict(<lm>, newdata = *)' no longer unnecessarily creates
+           an 'offset' of all '0's.
+
+         * 'solve()' for complex inputs now uses argument 'tol' and by
+           default checks for 'computational singularity' (as it long
+           has done for numeric inputs).
+
+         * 'predict(<rank-deficient lm>, newdata=*)' now obeys a new
+           argument 'rankdeficient', with new default '"warnif"',
+           warning only if there are non-estimable cases in 'newdata'.
+           Other options include 'rankdeficient = "NA"', predicting
+           'NA' for non-estimable 'newdata' cases.  This addresses
+           PR#15072 by Russ Lenth and is based on his original proposal
+           and discussions in PR#16158 also by David Firth and Elin
+           Waring.  Still somewhat experimental.
+
+         * 'Rgui' console implementation now works better with the
+           'NVDA' screen reader when the full blinking cursor is
+           selected.  The underlying improvements in cursor handling
+           may help also other screen readers on Windows.
+
+         * The drop-field control in GraphApp can now be left with the
+           TAB key and all controls can be navigated in the reverse
+           order using the Shift+TAB key, improving accessibility of
+           the 'Rgui' configuration editor.
+
+         * 'qnorm(<very large negative>, log.p=TRUE)' is now fully
+           accurate (instead of to "only" minimally five digits).
+
+         * 'demo(error.catching)' now also shows off 'withWarnings()'
+           and 'tryCatchWEMs()'.
+
+         * As an experimental feature the placeholder '_' can now also
+           be used in the 'rhs' of a forward pipe '|>' expression as
+           the first argument in an extraction call, such as '_$coef'.
+           More generally, it can be used as the head of a chain of
+           extractions, such as '_$coef[[2]]'.
+
+         * Spaces in the environment variable used to choose the R
+           session's temporary directory ('TMPDIR', 'TMP' and 'TEMP'
+           are tried in turn) are now fatal.  (On Windows the 'short
+           path' version of the path is tried and used if that does not
+           contain a space.)
+
+         * 'all.equal.numeric()' gets a new optional switch 'giveErr'
+           to return the numeric error as attribute.  Relatedly,
+           'stopifnot(all.equal<some>(a, b, ..))' is as "smart" now, as
+           'stopifnot(all.equal(....))' has been already, thus allowing
+           customized 'all.equal<Some>()' wrappers.
+
+         * R on Windows is now able to work with path names longer than
+           260 characters when these are enabled in the system
+           (requires at least Windows 10 version 1607).  Packages
+           should be updated to work with long paths as well, instead
+           of assuming 'PATH_MAX' to be the maximum length.  Custom
+           front-ends and applications embedding R need to update their
+           manifests if they wish to allow this feature.  See
+           <https://blog.r-project.org/2023/03/07/path-length-limit-on-windows>
+           for more information.
+
+         * 'Object not found' and 'Missing argument' errors now give a
+           more accurate error context. Patch provided by Lionel Henry
+           in PR#18241.
+
+         * The '@' operator is now an S3 generic. Based on
+           contributions by Tomasz Kalinowski in PR#18482.
+
+         * New generic 'chooseOpsMethod()' provides a mechanism for
+           objects to resolve cases where two suitable methods are
+           found for an Ops Group Generic. This supports experimenting
+           with alternative object systems. Based on contributions by
+           Tomasz Kalinowski in PR#18484.
+
+         * 'inherits(x, what)' now accepts values other than a simple
+           character vector for argument 'what'. A new generic,
+           'nameOfClass()', is called to resolve the class name from
+           'what'. This supports experimenting with alternative object
+           systems. Based on contributions by Tomasz Kalinowski in
+           PR#18485.
+
+         * Detection of BLAS/LAPACK in use ('sessionInfo()') with
+           FlexiBLAS now reports the current backend.
+
+         * The '"data.frame"' method for 'subset()' now warns about
+           extraneous arguments, typically catching the use of '='
+           instead of '==' in the 'subset' expression.
+
+         * Calling 'a:b' when numeric 'a' or 'b' is longer than one may
+           now be made into an error by setting environment variable
+           '_R_CHECK_LENGTH_COLON_' to a true value, along the proposal
+           in PR#18419 by Henrik Bengtsson.
+
+         * 'density(x, weights = *)' now warns if automatic bandwidth
+           selection happens without using 'weights'; new optional
+           'warnWbw' may suppress the warning.  Prompted by Christoph
+           Dalitz' PR#18490 and its discussants.
+
+         * 'rm(list = *)' is faster and more readable thanks to Kevin
+           Ushey's PR#18492.
+
+         * The 'plot.lm()' function no longer produces a normal Q-Q
+           plot for GLMs. Instead it plots a half-normal Q-Q plot of
+           the absolute value of the standardized deviance residuals.
+
+         * The 'print()' method for class '"summary.glm"' no longer
+           shows summary statistics for the deviance residuals by
+           default.  Its optional argument 'show.residuals' can be used
+           to show them if required.
+
+         * The 'tapply()' function now accepts a data frame as its 'X'
+           argument, and allows 'INDEX' to be a formula in that case.
+           'by.data.frame()' similarly allows 'INDICES' to be a
+           formula.
+
+         * The performance of 'df[j] <- value' (including for missing
+           'j') and 'write.table(df)' has been improved for data frames
+           'df' with a large number of columns.  (Thanks to Gabriel
+           Becker's PR#18500, PR#18503 and discussants, prompted by a
+           report from Toby Dylan Hocking on the R-devel mailing list.)
+
+         * The matrix multiply operator '%*%' is now an S3 generic,
+           belonging to new group generic 'matrixOps'.  From Tomasz
+           Kalinowski's contribution in PR#18483.
+
+         * New function 'array2DF()' to convert arrays to data frames,
+           particularly useful for the list arrays created by
+           'tapply()'.
+
+  DATES and TIMES:
+
+         * On platforms where (non-UTC) datetimes before 1902 (or
+           before 1900 as with system functions on recent macOS) are
+           guessed by extrapolating time zones from 1902-2037, there is
+           a warning at the first use of extrapolation in a session.
+           (As all time zones post 2037 are extrapolation, we do not
+           warn on those.)
+
+         * (Platforms using '--with-internal-tzone', including Windows
+           and by default macOS). How years are printed in dates or
+           date-times can be controlled by environment variable
+           'R_PAD_YEARS_BY_ZERO'.  The default remains to pad to 4
+           digits by zeroes, but setting value 'no' gives no padding
+           (as used by default by 'glibc').
+
+         * 'strftime()' tries harder to determine the offset for the
+           '"%z"' format, and succeeds on the mainstream R platforms.
+
+         * 'strftime()' has a limit of 2048 bytes on the string
+           produced - attempting to exceed this is an error.
+           (Previously it silently truncated at 255 bytes.)
+
+         * 'sessionInfo()' records (and by default prints) the system
+           time zone as part of the locale information.  Also, the
+           source (system/internal) of the date-time conversion and
+           printing functions.
+
+         * Objects of class '"POSIXlt"' created in this version of R
+           always have 11 components: component 'zone' is always set,
+           and component 'gmtoff' is set for times in UTC and usually
+           set on the (almost all) platforms which have C-level
+           support, otherwise is 'NA'.
+
+         * There are comprehensive validity checks on the structure of
+           objects of class '"POSIXlt"' when converting (including
+           formatting and printing).  (This avoids mis-conversions of
+           hand-crafted objects.)
+
+         * There is some support for using the native date-time
+           routines on macOS: this is only viable on recent versions
+           (e.g. 12.6 and 13) and does get wrong some historical
+           changes (before 1900, during WWII).  Use of
+           '--with-internal-tzone' remains the default.
+
+         * 'as.POSIXct(<numeric>)' and 'as.POSIXlt(.)' (without
+           specifying 'origin') now work.  So does
+           'as.Date(<numeric>)'.
+
+         * 'as.Date.POSIXct(., tz)' now treats several 'tz' values,
+           notably '"GMT"' as equivalent to '"UTC"', proposed and
+           improved by Michael Chirico and Joshua Ulrich in PR#17674.
+
+         * Experimental 'balancePOSIXlt()' utility allows using
+           "ragged" and or out-of-range '"POSIXlt"' objects more
+           correctly, e.g., in subsetting and subassignments.  Such
+           objects are now documented.
+
+           More experimentally, a '"POSIXlt"' object may have an
+           attribute '"balanced"' indicating if it is known to be
+           filled or fully balanced.
+
+         * Functions 'axis.Date()' and 'axis.POSIXct()' are rewritten
+           to gain better default tick locations and better default
+           formats by using 'prettyDate()'. Thanks to Swetlana
+           Herbrandt.
+
+         * The mapping of Windows' names for time zones to IANA's
+           'Olson' names has been updated.  When ICU is available (it
+           is by default), it is used to get a mapping for the current
+           region set in Windows.  This can be overridden by setting
+           environment variable 'TZ' to the desired Olson name - see
+           'OlsonNames()' for those currently available.
+
+  GRAPHICS:
+
+         * The graphics engine version, 'R_GE_version', has been bumped
+           to '16' and so packages that provide graphics devices should
+           be reinstalled.
+
+         * The 'grDevices' and 'grid' packages have new functions for
+           rendering typeset glyphs, primarily:
+           'grDevices::glyphInfo()' and 'grid::grid.glyph()'.
+
+           Rendering of typeset glyphs is only supported so far on the
+           Cairo-based graphics devices and on the 'pdf()' and
+           'quartz()' devices.
+
+         * The defined behaviour for '"clear"' and '"source"'
+           compositing operators (via 'grid::grid.group()') has been
+           changed (to align better with simple interpretation of
+           original Porter-Duff definitions).
+
+         * Support for gradients, patterns, clipping paths, masks,
+           groups, compositing operators, and affine transformations
+           has been added to the 'quartz()' device.
+
+  INSTALLATION on a UNIX-ALIKE:
+
+         * A system installation of generic LAPACK 3.10.0 or later will
+           be preferred to the version in the R sources.
+
+           'configure' option '--with-lapack=no' (equivalently
+           '--without-lapack') forces compilation of the internal
+           LAPACK sources.
+
+           If '--with-lapack' is not specified, a system 'liblapack' is
+           looked for and used if it reports version 3.10.0 or later
+           and does not contain BLAS routines.
+
+           Packages using LAPACK will need to be reinstalled if this
+           changes to using an external library.
+
+         * On 'aarch64' Linux platforms using GCC, 'configure' now
+           defaults to '-fPIC' (instead of '-fpic'), as desired in
+           PR#18326.
+
+         * 'configure' now checks conversion of datetimes between
+           'POSIXlt' and 'POSIXct' around year 2020.  Failure (which
+           has been seen on platforms missing 'tzdata') is fatal.
+
+         * If 'configure' option '--with-valgrind-instrumentation' is
+           given value '1' or '2', option
+           '--with-system-valgrind-headers' is now the default and
+           ignored (with a warning).  It is highly recommended that the
+           system headers are installed alongside 'valgrind': they are
+           part of its packaging on some Linux distributions and
+           packaged separately (e.g. in the 'valgrind-devel' RPM) on
+           others.  'configure' will give a warning if they are not
+           found.
+
+           The system headers will be required in a future release of R
+           to build with 'valgrind' instrumentation.
+
+         * 'libcurl' 8.x is now accepted by 'configure': despite a
+           change in major version number it changes neither API nor
+           ABI.
+
+  INSTALLATION on WINDOWS:
+
+         * The makefiles and installer scripts for Windows have been
+           tailored to 'Rtools43', an update of the 'Rtools42'
+           toolchain.  It is based on 'gcc' 12 and newer versions of
+           MinGW-W64, binutils and libraries.  At this time R-devel can
+           still be built using Rtools42 without changes, but when
+           R-devel is installed via the installer, it will by default
+           look for Rtools43.
+
+         * Old make targets 'rsync-extsoft' and 32-bit ones that are no
+           longer needed have been removed.
+
+         * Default builds (including for packages) no longer select
+           C99.  Thus the C standard used is the default for the
+           compiler, which for the toolchain in 'Rtools43' is C17.
+           (This is consistent with Unix builds.)
+
+  PACKAGE INSTALLATION:
+
+         * The default C++ standard has been changed to C++17 where
+           available (which it is on all currently checked platforms):
+           if not C++14 or C++11 is used if available otherwise C++ is
+           not supported.
+
+         * 'USE_FC_LEN_T' is the default: this uses the correct
+           (compiler-dependent) prototypes for Fortran BLAS/LAPACK
+           routines called from C/C++, and requires adjustment of many
+           such calls - see 'Writing R Extensions' <c2><a7>6.6.1.
+
+         * There is initial support for C++23 as several compilers are
+           now supporting '-std=c++23' or '-std=c++2b' or similar.  As
+           for C++20, there no additional 'configure' checks for C++23
+           features beyond a check that the compiler reports a
+           '__cplusplus' value greater than that in the C++20 standard.
+           C++ feature tests should be used.
+
+         * There is support for a package to indicate the version of
+           the C standard which should be used to compile it, and for
+           the installing user to specify this.  In most cases R
+           defaults to the C compiler's default standard which is C17
+           (a `bug-fix' of C11) - earlier versions of R or compilers
+           may have defaulted to C99.
+
+           Current options are:
+
+           USE_C17 Use a standard that is at most C17.  The intention
+               is to allow legacy packages to still be installed when
+               later C standards become the default, including packages
+               using new keywords as identifiers or with K&R-style
+               function declarations.  This will use C17 if available,
+               falling back to C11.
+
+           USE_C90 Use the C90 (aka C89) standard.  (As that standard
+               did not require compilers to identify that version, all
+               we can verify is that the compiler does not claim to be
+               using a later standard.  It may accept C99 features -
+               for example 'clang' accepts // to make comments.)
+
+           USE_C99 Use the C99 standard. This should be rarely needed -
+               it avoids the few new features of C11/C17 which can be
+               useful if a package assumes them if C17 is specified and
+               they are not implemented.
+
+           USE_C23 Use C23 (or in future, later).  Compiler/library
+               support for C23 is still being implemented, but LLVM
+               clang from 15.0.0 and the upcoming GCC 13 have quite
+               extensive support.
+
+           These can be specified as part of the 'SystemRequirements'
+           field in the package's 'DESCRIPTION' file or _viaoptions
+           '--use-C17' and so on of 'R CMD INSTALL' and 'R CMD SHLIB'.
+
+           For further details see "Writing R Extensions" <c2><a7>1.2.5.
+
+         * (Windows) A 'src/Makefile.ucrt' or 'src/Makefile.win' file
+           is now included after 'R_HOME/etcR_ARCH/Makeconf' and so no
+           longer needs to include that file itself.  Installation of a
+           package with such a file now uses a site 'Makevars' file in
+           the same way as a package with a 'src/Makevars.win' file
+           would.
+
+         * 'configure' is now passed crucial variables such as 'CC' and
+           'CFLAGS' in its environment, as many packages were not
+           setting them (as documented in 'Writing R Extensions' <c2><a7>1.2).
+
+           This has most effect where 'configure' is used to compile
+           parts of the package - most often by 'cmake' or 'libtool'
+           which obfuscate the actual compile commands used.
+
+           Also used for 'configure.win' and 'configure.ucrt' on
+           Windows.
+
+  FORTRAN FLAGS:
+
+         * The flag '-fno-optimize-sibling-calls' is no longer forced
+           for 'gfortran' 7 and later.  It should no longer be needed
+           now using 'hidden' character-length arguments when calling
+           BLAS/LAPACK routines from C/C++ is the default even for
+           packages.  (Unless perhaps packages call Fortran code from
+           C/C++ without using R's headers and without allowing for
+           these arguments.)
+
+  C-LEVEL FACILITIES:
+
+         * The deprecated S-compatibility macros 'DOUBLE_*' in
+           'R_ext/Constants.h' (included by 'R.h') have been removed.
+
+         * The deprecated legacy typedefs of 'Sint' and 'Sfloat' in
+           header 'R.h' are no longer defined, and that header no
+           longer includes header 'limits.h' from C nor 'climits' from
+           C++.
+
+         * New macro 'CAD5R()' is provided in 'Rinternals.h' and used
+           in a few places in the R sources.
+
+         * ALTREP now supports 'VECSXP' vectors. Contributed by Gabor
+           Csardi in PR#17620.
+
+         * The 'Rcomplex' definition (in header 'R_ext/Complex.h') has
+           been extended to prevent possible mis-compilation when
+           interfacing with Fortran (PR#18430).  The new definition
+           causes compiler warnings with static initializers such as
+           '{1, 2}', which can be changed to '{.r=1, .i=2}'.
+
+           Using the new definition from C++ depends on compiler
+           extensions supporting C features that have not been
+           incorporated into the C++ standards but are available in
+           'g++' and 'clang++': this may result in C++ compiler
+           warnings but these have been worked around for recent
+           versions of common compilers (GCC, Apple/LLVM clang, Intel).
+
+           It is intended to change the inclusion of header
+           'R_ext/Complex.h' by other R headers, so C/C++ code files
+           which make use of 'Rcomplex' should include that header
+           explicitly.
+
+  UTILITIES:
+
+         * 'R CMD check' does more checking of package '.Rd' files,
+           warning about invalid email addresses and (some) invalid
+           URIs and noting empty '\item' labels in description lists.
+
+         * 'R CMD check' now also reports problems when reading package
+           news in md (file 'NEWS.md') and (optionally) plain text
+           (file 'NEWS') formats.
+
+         * '_R_CHECK_TIMINGS_' defaults to a value from the environment
+           even for 'R CMD check --as-cran'; this allows for
+           exceptionally fast or slow platforms.
+
+           It now applies to checking PDF and HTML versions of the
+           manuals, and 'checking CRAN incoming feasibility'.
+
+         * 'R CMD check' can optionally (but included in '--as-cran')
+           check whether HTML math rendering _viaKaTeX works for the
+           package '.Rd' files.
+
+         * Non-interactive debugger invocations can be trapped by
+           setting the environment variable
+           '_R_CHECK_BROWSER_NONINTERACTIVE_' to a true value.  This is
+           enabled by 'R CMD check --as-cran' to detect the use of
+           leftover 'browser()' statements in the package.
+
+         * The use of 'sprintf' and 'vsprintf' from C/C++ has been
+           deprecated in macOS 13 and is a known security risk.  'R CMD
+           check' now reports (on all platforms) if their use is found
+           in compiled code: replace by 'snprintf' or 'vsnprintf'
+           respectively. [*NB:* whether such calls get compiled into
+           the package is platform-dependent.]
+
+         * Where recorded at installation, 'R CMD check' reports the C
+           and Fortran compilers used to build R.
+
+           It reports the OS in use (if known, as given by 'osVersion')
+           as well as that R was built for.
+
+           It notes if a C++ standard was specified which is older than
+           the current default: many packages have used C++11 to mean
+           'not C++98' - as C++11 is the minimum supported since R
+           4.0.0, that specification can probably be removed.
+
+         * 'R CMD INSTALL' reports the compilers (and on macOS, the
+           SDK) used, and this is copied to the output of 'R CMD
+           check'.
+
+           Where a C++ standard is specified, it is reported.
+
+         * 'R CMD check''s 'checking compilation flags in Makevars' has
+           been relaxed to accept the use of flags such as '-std=f2008'
+           in 'PKG_FFLAGS'.
+
+         * 'tools::buildVignettes()' has a new argument 'skip', which
+           is used by 'R CMD check' to skip (and note) vignettes with
+           unavailable '\VignetteDepends' (PR#18318).
+
+         * New generic '.AtNames()' added to enable class-specific
+           completions after '@'. The formerly internal function
+           'findMatches()' is now exported, mainly for use in methods
+           for '.DollarNames()' and '.AtNames()'.
+
+  DEPRECATED AND DEFUNCT:
+
+         * 'default.stringsAsFactors()' is defunct.
+
+         * Calling 'as.data.frame.<class>()' directly (for 12 atomic
+           classes) is going to be formally deprecated, currently
+           activated by setting the environment variable
+           '_R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_' to non-empty,
+           which also happens in 'R CMD check --as-cran'.
+
+  BUG FIXES:
+
+         * Hashed 'environment's with sizes less than 5 can now grow.
+           (Reported to R-devel by Duncan Garmonsway.)
+
+         * 'as.character(<Rd>, deparse = TRUE)' failed to re-escape
+           curly braces in LaTeX-like text.  (Reported by Hadley
+           Wickham in PR#18324.)
+
+         * 'library()' now passes its 'lib.loc' argument when requiring
+           'Depends' packages; reported (with fix) in PR#18331 by
+           Mikael Jagan.
+
+         * 'R CMD Stangle': improved message about 'Output' files.
+
+         * 'head(x, n)' and 'tail(x, n)' now signal an error if 'n' is
+           not numeric, instead of incidentally "working" sometimes
+           returning all of 'x'.  Reported and discussed by Colin Fay,
+           in PR#18357.
+
+         * The '"lm"' method for 'summary()' now gives the correct
+           F-statistic when the model contains an offset.  Reported in
+           PR#18008.
+
+         * 'C()' and '`contrasts<-`()' now preserve factor level names
+           when given a function object (as opposed a function name
+           which did preserve names). Reported in PR#17616.
+
+         * 'c(a = 1, 2)[[]]' no longer matches '2' but rather signals a
+           _classederror.  Reported and analysed by Davis Vaughan in
+           PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
+           consistency, 'NULL[[]]' is also erroneous now.  'x[[]] <- v'
+           gives an error of the same class '"MissingSubscriptError"'.
+
+         * The 'relist()' function of 'utils' now supports 'NULL'
+           elements in the skeleton (PR#15854).
+
+         * 'ordered(levels = *)' (missing 'x') now works analogously to
+           'factor(, ordered=TRUE)'; reported (with fix) by Achim
+           Zeileis in PR#18389.
+
+         * User-defined Rd macro definitions can now span multiple
+           lines, thanks to a patch from Duncan Murdoch. Previously,
+           the Rd parser silently ignored everything after the first
+           line.
+
+         * Plain-text help ('tools::Rd2txt()') now preserves an initial
+           blank line for text following description list items.
+
+         * 'tools::Rd2HTML()' and 'tools::Rd2latex()' no longer split
+           \arguments and \value lists at Rd comments.
+
+         * 'tools::Rd2latex()' now correctly handles optional text
+           outside \items of argument lists as well as bracketed text
+           at the beginning of sections, e.g., \value{[NULL]}.
+
+         * 'as.character(<POSIXt>)' now behaves more in line with the
+           methods for atomic vectors such as numbers, and is no longer
+           influenced by 'options()'.  Ditto for
+           'as.character(<Date>)'.  The 'as.character()' method gets
+           arguments 'digits' and 'OutDec' with defaults _not_
+           depending on 'options()'.  Use of 'as.character(*, format =
+           .)' now warns.
+
+         * Similarly, the 'as.character.hexmode()' and '*.octmode()'
+           methods also behave as 'good citizen' methods and back
+           compatibility option 'keepStr = TRUE'.
+
+         * The 'as.POSIXlt(<POSIXlt>)' and 'as.POSIXct(<POSIXct>)'
+           default methods now do obey their 'tz' argument, also in
+           this case.
+
+         * 'as.POSIXlt(<Date>)' now does apply a 'tz' (time zone)
+           argument, as does 'as.POSIXct()'; partly suggested by Roland
+           Fu<c3><9f> on the R-devel mailing list.
+
+         * 'as.Date.POSIXlt(x)' now also works when the list components
+           are of unequal length, aka "partially filled" or "ragged".
+
+         * 'expand.model.frame()' looked up variables in the wrong
+           environment when applied to models fitted without 'data'.
+           Reported in PR#18414.
+
+         * 'time()' now (also) uses the 'ts.eps = getOption("ts.eps")'
+           argument and thus by default rounds values very close to the
+           start (or end) of a year.  Based on a proposal by Andre<c3><af> V.
+           Kostyrka on R-help.
+
+         * Printing of a 'factanal()' result with just one factor and
+           'sort = TRUE' now works regularly, fixing PR#17863 by
+           Timothy Bates, thanks to the 'R Contributors' working group.
+
+         * Printing 0-length objects of class '"factor"', '"roman"',
+           '"hexmode"', '"octmode"', '"person"', '"bibentry"', or
+           '"citation"' now prints something better, one of which fixes
+           PR#18422, reported by Benjamin Feakins.
+
+         * 'Sys.timezone()' queries 'timedatectl' only if 'systemd' is
+           loaded; addressing a report by Jan Gorecki in PR#17421.
+
+         * The formula method of 'cor.test()' had scoping problems when
+           'environment(formula)' was not the calling environment;
+           reported with a patch proposal by Mao Kobayashi in PR#18439.
+
+         * 'attach()' of an environment with active bindings now
+           preserves the active bindings.  Reported by Kevin Ushey in
+           PR#18425.
+
+         * BLAS detection now works also with system-provided libraries
+           not available as regular files.  This fixes detection of the
+           Accelerate framework on macOS since Big Sur.  Reported by
+           David Novgorodsky.
+
+         * 'download.file()' gives a helpful error message in case of
+           an invalid 'download.file.method' option, thanks to Colin
+           Fay's report in PR#18455.
+
+         * Sporadic crashes of 'Rterm' when using completion have been
+           fixed.
+
+         * 'Rprof()' is now more reliable.  A livelock in thread
+           initialization with too short sampling interval has been
+           fixed on macOS.  A deadlock in using the C runtime has been
+           fixed on Windows.  A potential deadlock has been prevented
+           on Unix.
+
+         * Cursor placement in 'Rgui' now works even after a
+           fixed-width font is selected.
+
+         * Mandatory options ('options()') are now set on startup so
+           that saving and restoring them always works (PR#18372).
+
+         * Package installation, 'R CMD INSTALL' or
+           'install.packages(*)', now parses each of the '<pkg>/R/*.R'
+           files individually instead of first concatenating and then
+           'parse()'ing the large resulting file.  This allows parser
+           or syntax errors to be diagnosed with correct file names and
+           line numbers, thanks to Simon Dedman's report and Bill
+           Dunlap's patch in PR#17859.
+
+           This _doesrequire syntactically self contained R source
+           files now, fixing another inadvertent bug.
+
+         * 'predict.lm(<model with offset>)' now finds the offset in
+           the correct environment, thanks to Andr<c3><a9> Gillibert's report
+           and patch in PR#18456.
+
+         * 'getInitial(<formula>)' now finds the 'selfStart' model in
+           the correct environment.  (Reported by Ivan Krylov in
+           PR#18368.)
+
+         * Fix for possible segfault when using recently-added graphics
+           features, such as gradients, clipping paths, masks, and
+           groups with 'pdf(file=NULL)'.
+
+         * 'class(m) <- class(m)' no longer changes a matrix 'm' by
+           adding a class _attribute_.
+
+         * 'packageDate(pkg)' now only warns once if there is no 'pkg'.
+
+         * When 'ts()' creates a multivariate time series, '"mts"', it
+           also inherits from '"array"' now, and 'is.mts()' is
+           documented _andstricter.
+
+         * 'Rd2txt()' now preserves line breaks of \verb Rd content and
+           from duplicated \cr.  The former also fixes the rendering of
+           verbatim output from Rd \Sexpr in plain-text help.
+
+         * 'uniroot(f, interval)' should no longer wrongly converge
+           _outsidethe interval in some cases where 'abs(f(x)) ==
+           Inf' for an 'x' at the interval boundary, thanks to posts by
+           Ben Bolker and Serguei Sokol on R-devel.
+
+         * Vectorized alpha handling in palette functions such as in
+           'gray()', 'rainbow()', or 'hcl.colors()' works correctly
+           now, thanks to Achim Zeileis' report and patch in PR#18476.
+
+         * Formatting and 'print()'ing of 'bibentry' objects has
+           dropped the deprecated 'citation.bibtex.max' argument, such
+           that the 'bibtex' argument's default for 'print.bibentry()'
+           depends directly on the 'citation.bibtex.max' option,
+           whereas in 'format.bibentry()' the option no longer applies.
+
+         * Attempting to use a character string naming a foreign
+           function entry point in a foreign function call in a package
+           will now signal an error if the packages has called
+           'R_forceSymbols' to specify that symbols must be used.
+
+         * An error in 'table()' could permanently set
+           'options(warn=2)' promoting all subsequent warnings to
+           errors.
+
+         * The 'sigma()' function gave misleading results for binary
+           GLMs.  A new method for objects of class '"glm"' returns the
+           square root of the estimate of the dispersion parameter
+           using the same calculation as 'summary.glm()'.
+
+         * 'bs()' and 'ns()' in the (typical) case of automatic knot
+           construction, when some of the supposedly inner knots
+           coincide with boundary knots, now moves them inside (with a
+           warning), building on PR#18442 by Ben Bolker.
+
+         * 'R CMD' on Windows now skips the site profile with
+           '--no-site-file' and '--vanilla' even when 'R_PROFILE' is
+           set (PR#18512, from Kevin Ushey).
+



Home | Main Index | Thread Index | Old Index