pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
(math/R) update COMMIT_MSG, pkglint (-2)
Module Name: pkgsrc-wip
Committed By: Makoto Fujiwara <makoto%if.t.u-tokyo.ac.jp@localhost>
Pushed By: mef
Date: Sat Apr 25 09:36:14 2026 +0900
Changeset: e1804fb2e3125ab2360ef7a25b94591167ebd938
Modified Files:
R/COMMIT_MSG
R/Makefile
Log Message:
(math/R) update COMMIT_MSG, pkglint (-2)
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=e1804fb2e3125ab2360ef7a25b94591167ebd938
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
R/COMMIT_MSG | 886 ++++-------------------------------------------------------
R/Makefile | 4 +-
2 files changed, 48 insertions(+), 842 deletions(-)
diffs:
diff --git a/R/COMMIT_MSG b/R/COMMIT_MSG
index 807697ea9f..e127090305 100644
--- a/R/COMMIT_MSG
+++ b/R/COMMIT_MSG
@@ -1,864 +1,70 @@
-(math/R) Updated 4.4.3 to 4.5.2 ( some 800 lines)
+(math/R) Updated 4.5.2 to 4.5.3
-CHANGES IN R 4.5.2:
+CHANGES IN R 4.5.3:
UTILITIES:
- * 'R CMD check' now handles archives with extension '.tar' or
- '.tar.zstd' (where 'zstd' compression is supported by the R
- build).
-
- BUG FIXES:
-
- * 't.test(c(1:3, Inf))' and similar no longer produce an error
- but return a (still not so useful) '"htest"' result, fixing
- PR#18901, thanks to Jesse Alderliesten.
-
- * 'attr(., "tsp") <- val' now uses 'getOption("ts.eps")'
- instead of hardwired '1e-5'; consequently, 'ts(..,
- ts.eps=*)' now passes 'ts.eps' to the '"tsp"' setting C
- code; both fixing a long-standing 'FIXME'.
-
- * 'insertSource()' now ignores the internal '.packageName'
- object, avoiding a superfluous message.
-
- * In static HTML help, links to vignette files from the
- default 'doc/index.html' page now also work for packages not
- installed in the default '.Library', thanks to a report by
- Patrice Kiener.
-
- * 'fixInNamespace("<S3method>")' failed to update the S3
- methods table when the generic was not on the search path.
-
- * In plain-text help ('Rd2txt'), an initial newline from an Rd
- inline \eqn no longer breaks the paragraph.
-
- * 'hist(*, log = "x")' now works without a warning, thanks to
- Martin Smith's PR#18921.
-
- * Subassigning '"POSIXlt"', i.e., '<tdat>[i] <- val' and
- '<tdat>[[i]] <- val' now rebalance as they should, thanks to
- Mikael Jagan's PR#18919.
-
- * '<POSIXlt>[*]' (re-)setting '"balanced"', fixing PR#18681
- comment #7, thanks to Mikael Jagan.
-
- * All four of '{col,row}{Sums,Means}(Z, na.rm=TRUE)' now
- correctly work with complex 'Z' where 'is.na(Re(Z))' differs
- from 'is.na(Im(Z))', fixing PR#18942, unearthed by Dirk
- Eddelbuettel.
-
- * Fix for glyph rendering on the 'quartz()' device when there
- is other ("normal") text drawn on the device. The problem
- was that the text transformation matrix was not reset so
- glyphs would be rendered incorrectly (often completely
- outside the device, i.e., not visible).
-
- * Functions 'install.packages()' and 'download.packages()'
- again consult option 'download.file.method' when the
- download method is unspecified.
-
- * Tanguy Barthelemy and colleagues at the 'R Dev Day'
- following Rencontres R in May 2025 extended the help page of
- 'lm()', fixing PR#18058. As suggested by Thomas Soeiro,
- such notes were also added to the 'glm()', 'poly()' and
- 'splines::bs()' and 'ns()' pages.
-
- * 'lbeta(1i, 1)' now signals an error, as 'lbeta()' is not
- implemented for 'complex', fixing PR#18946 from Ben Bolker
- and Kasper Kristensen.
-
- * The Cairo-based SVG device uses 'pt' as the default document
- unit also with Cairo >= 1.17.8 (PR#18912).
-
- * 'pretty(*, eps.correct = 2)' has been fixed, e.g., to avoid
- over 1 million length result for 'pretty(c(0, 1e-322),
- eps.correct = 2)'.
-
- * When '"POSIXlt"' date-time objects are 'NA'-padded from
- subsetting or increasing 'length' in the '`[`' or
- '`length<-`' methods, the '"balanced"' attribute is set to
- 'NA', now; noted in PR#18681, thanks to Mikael Jagan.
-
-CHANGES IN R 4.5.1:
-
- NEW FEATURES:
-
- * The internal method of 'unzip()' now follows 'unzip 6.00' in
- how it handles extracted file paths which contain '"../"'.
- With thanks to Ivan Krylov.
-
- INSTALLATION:
-
- * Standalone 'nmath' can be built with early-2025 versions of
- 'clang'-based compilers such as LLVM 'clang' 20, Apple
- 'clang' 17 and Intel 'icx' 2025.0.
-
- * Tcl/Tk 9 can be used to build package 'tcltk': this has
- become the default in some Linux distributions.
-
- BUG FIXES:
-
- * Java detection in 'javareconf' could not detect 'libjvm.*'
- in the 'zero' variant of the JDK (PR#18884). All valid
- variants as of JDK 24u are now supported.
-
- * 'factanal(.., rotation=*)' now correctly updates 'rotmat',
- fixing PR#18886.
-
- * 'dnbinom(<large>, <muchlarger>, ..)' now is '0' correctly,
- instead of 'NaN' or 'Inf' sometimes.
-
- * 'dbinom(<large>, n=Inf, ..)' is '0' now correctly, instead
- of 'NaN' which also fixes many 'dnbinom()' cases, notably
- those mentioned in PR#16727 comment #5.
-
- * Fixing C level "binomial deviance" 'bd0()' for extreme
- arguments (preventing under-/overflow) solves more PR#16727
- cases and also prevents some full accuracy loss in such
- cases for 'dbinom()', 'dnbinom()', and via 'dbinom^raw()'
- potentially 'dgeom()', 'dhyper()', 'dbeta()', and 'df()'.
-
- * 'signif(1.**e308, digits)' no longer truncates unnecessarily
- (but still to prevent overflow to 'Inf'), fixing PR#18889.
-
- * 'prettyNum(*, zero.print={>=1-char}, replace.zero=TRUE)' now
- works as documented, thanks to Marttila Mikko and Ivan
- Krylov's messages on R-devel.
-
- * 'pbeta(x, a,b, ..)' for very large 'a,b' no longer returns
- 'NaN' but the correct values (0 or 1, or their logs for
- 'log.p = TRUE'). This improves Mathlib's C level 'bratio()'
- and hence also 'pnbinom()', etc..
-
-CHANGES IN R 4.5.0:
-
- NEW FEATURES:
-
- * 'as.integer(rl)' and hence 'as.raw(rl)' now work for a
- 'list' of 'raw(1)' elements, as proposed by Michael
- Chirico's PR#18696.
-
- * 'graphics'' 'grid()' gains optional argument 'nintLog'.
-
- * New functions 'check^package^urls()' and
- 'check^package^dois()' in package 'tools' for checking URLs
- and DOIs in package sources.
-
- * New 'head()' and 'tail()' methods for class '"ts"' time
- series, proposed by Spencer Graves on R-devel.
-
- * New 'qr.influence()' function, a "bare bones" interface to
- the 'lm.influence()' leave-one-out diagnostics computations;
- wished for in PR#18739.
-
- * Package 'citation()' results auto-generated from the package
- metadata now also provide package DOIs for CRAN and
- Bioconductor packages.
-
- * New function 'grepv()' identical to 'grep()' except for the
- default 'value = TRUE'.
-
- * 'methods(<pkg>:::<genfun>)' now does report methods when
- neither the generic nor the methods have been exported.
-
- * 'pdf()' gains an 'author' argument to set the corresponding
- metadata field, and logical arguments 'timestamp' and
- 'producer' to optionally omit the respective metadata.
- (Thanks to Edzer Pebesma.)
-
- * 'grDevices::glyphInfo()' gains a 'rot' argument to allow
- per-glyph rotation. (Thanks to Daniel Sabanes Bove.)
-
- * Package 'tools' now exports functions 'CRAN^current^db()',
- 'CRAN^aliases^db()', 'CRAN^rdxrefs^db()',
- 'CRAN^archive^db()', and 'CRAN^authors^db()'.
-
- * Package 'tools' now exports functions 'R()' and
- 'parse^URI^reference()'.
-
- * Package 'tools' now exports functions 'base^aliases^db()'
- and 'base^rdxrefs^db()'.
-
- * It is now possible to set the background color for row and
- column names in the data editor on Windows ('Rgui').
-
- * 'Rterm' on Windows now accepts input lines of unlimited
- length.
-
- * 'file.info()' on Windows now provides file owner name and
- domain.
-
- * 'Sys.info()' on Windows now provides current user domain.
-
- * 'findInterval()' gets new arguments 'checkSorted' and
- 'checkNA' which allow skipping relatively costly checks;
- related to PR#16567.
-
- * 'pnorm(x)' underflows more gracefully.
-
- * 'get(nam, env)' now signals a ^classed^ error,
- '"getMissingError"', as "subclass" of '"missingArgError"'
- where the latter is used also in similar situations, e.g.,
- 'f <- function(x) exp(x); try(f())' .
-
- * The set operations now avoid the 'as.vector()'
- transformation for same-kind apparently vector-like
- operands.
-
- * 'md5sum()' can be used to compute an MD5 hash of a raw
- vector of bytes by using the 'bytes=' argument instead of
- 'files='. The two arguments are mutually exclusive.
-
- * Added function 'sha256sum()' in package 'tools' analogous to
- 'md5sum()' implementing the SHA-256 hashing algorithm.
-
- * The 'xtfrm()' method for class '"AsIs"' is now considerably
- faster thanks to a patch provided by Ivan Krylov.
-
- * The 'merge()' method for data frames will no longer convert
- row names used for indexing using 'I()', which will lead to
- faster execution in cases where 'sort = TRUE' and 'all.x'
- and/or 'all.y' are set to 'TRUE'.
-
- * The 'methods' package internal function '.requirePackage()'
- now calls 'requireNamespace(p)' instead of 'require(p)',
- hence no longer adding packages to the 'search()' path in
- cases methods or class definitions are needed.
- Consequently, previous workflows relying on the old
- behaviour will have to be amended by adding corresponding
- 'library(p)' calls.
-
- * More R-level messages use a common format containing
- '"character string"' for more consistency and less
- translation work.
-
- * 'available.packages()' and 'install.packages()' get an
- optional switch 'cache^user^dir', somewhat experimentally.
-
- * The 'sunspot.month' data have been updated to Oct 2024;
- because of recalibration also historical numbers are
- changed, and we keep the previous data as 'sunspot.m2014'
- for reproducibility.
-
- * The 'quartz()' device now supports alpha masks. Thanks to
- George Stagg, Gwynn Gebeyhu, Heather Turner, and Tomek
- Gieorgijewski.
-
- * The 'print()' method for date-time objects ('POSIX.t') gets
- an optional 'digits' argument for ^fractional^ seconds,
- passed to improved 'format.POSIXlt()'; consequently,
- 'print(<date.time>, digits = n)' allows to print fractions
- of seconds.
-
- * 'install.packages()' and 'download.packages()' download
- packages simultaneously using 'libcurl', significantly
- reducing download times when installing or downloading
- multiple packages.
-
- * Status reporting in 'download.file()' has been extended to
- report the outcome for individual files in simultaneous
- downloads.
-
- * The Rd \link macro now allows markup in the link text when
- the topic is given by the optional argument, e.g.,
- '\link[=gamma]{\eqn{\Gamma(x)}}'.
-
- * If 'La^library()' is empty, 'sessionInfo()' still reports
- 'La^version()' when available.
-
- * 'seq.int(from, to, by, ....)' when |by| = 1 now behaves as
- if 'by' was omitted, and hence returns 'from:to', possibly
- integer.
-
- * 'seq.Date(from, to, by, ....)' and 'seq.POSIXt(..)' now also
- work when 'from' is missing and sufficient further arguments
- are provided, thanks to Michael Chirico's report, patch
- proposal in PR#17672 and 'R Dev Day' contributions.
-
- The 'Date' method also works for 'seq(from, to)', when 'by'
- is missing and now defaults to '"1 days"'.
-
- It is now documented (and tested) that the 'by' string may
- be ^abbreviated^ in both 'seq' methods.
-
- Both methods return or keep internal type '"integer"' more
- consistently now. Also, 'as.POSIXct({})' is internally
- integer.
-
- * 'duplicated()', 'unique()', and 'anyDuplicated()' now also
- work for class 'expression' vectors.
-
- * New function 'use()' to use packages in R scripts with full
- control over what gets added to the search path. (Actually
- already available since R 4.4.0.)
-
- * There is some support for 'zstd' compression of tarballs in
- 'tar()' and 'untar()'. (This depends on OS support of
- 'libzstd' or by 'tar'.)
-
- * 'print(summary(<numbers>))' gets new optional argument
- 'zdigits' to allow more flexible and consistent (double)
- rounding. The current default 'zdigits = 4L' is somewhat
- experimental. Specifying both 'digits = *, zdigits = *'
- allows behaviour independent of the global 'digits' option.
-
- * The 'format()' method for '"difftime"' objects gets a new
- back compatible option 'with.units'.
-
- * A 'summary()' method for '"difftime"' objects which prints
- nicely, similar to those for '"Date"' and '"POSIXct"'.
-
- * 'unique()''s default method now also deals with '"difftime"'
- objects.
-
- * 'optimize(f, *)' when 'f(x)' is not finite says more about
- the value in its 'warning' message. It no longer replaces
- '-Inf' by the largest ^positive^ finite number.
-
- * The documentation of 'gamma()' and 'is.numeric()' is more
- specific, thanks to the contributors of PR#18677.
-
- * New dataset 'gait' thanks to Heather Turner and Ella Kaye,
- used in examples.
-
- * New datasets 'penguins' and 'penguins^raw' thanks to Ella
- Kaye, Heather Turner, and Kristen Gorman.
-
- * 'isSymmetric(<matrix>)' gains a new option 'trans = "C"';
- when set to non-default, it tests for "simple" symmetry of
- complex matrices.
-
- * 'model.frame()' produces more informative error messages in
- some cases when variables in the formula are not found,
- thanks to Ben Bolker's PR#18860.
-
- * 'selectMethod(f, ..)' now keeps the function name if the
- function belongs to a group generic and the method is for
- the generic.
-
- BLAS and LAPACK:
-
- * The bundled BLAS and LAPACK sources have been updated to
- those shipped as part of January 2025's LAPACK 3.12.1.
-
- * It is intended that this will be the last update to BLAS and
- LAPACK in the R sources. Those building R from source are
- encouraged to use external BLAS and LAPACK and this will be
- required in future.
-
- * This update was mainly bug fixes but contained a barely
- documented major change. The set of BLAS routines had been
- unchanged since 1988, so throughout R's history. This
- update introduced new BLAS routines 'dgemmtr' and 'zgemmtr'
- which are now used by LAPACK routines. This means that BLAS
- implementations are no longer interchangeable.
-
- * To work around this, R can be configured with option
- '--with-2025blas' which arranges for the 2025 BLAS additions
- to be compiled into 'libRlapack' (the internal LAPACK, not
- built if an external LAPACK is used).
-
- This option allows the continuation of the practice of
- swapping the BLAS in use by symlinking 'lib/libRblas.*'. It
- has the disadvantage of using the reference BLAS version of
- the 2025 routines whereas an enhanced BLAS might have an
- optimized version (OpenBLAS does as from version 0.3.29).
-
- * Windows builds currently use the internal LAPACK and by
- default the internal BLAS: notes on how to swap the latter
- ^via^ 'Rblas.dll' are in file 'src/extra/blas/Makefile.win'.
-
- INSTALLATION on a UNIX-ALIKE:
-
- * A C23 compiler (if available) is now selected by default for
- compilation of R and packages. R builds can opt out ^via^
- the 'configure' flag '--without-C23', unless the specified
- or default (usually 'gcc') compiler defaults to C23: 'gcc'
- 15 does.
-
- A C23 compiler is known to be selected with 'gcc' 13-15,
- LLVM 'clang' 18-20 (and 15 should), Apple 'clang' 15-17 and
- Intel 2024.2-2025.0 (and 2022.2 should).
-
- Current binary distributions on macOS use Apple 'clang' 14
- and so do not use C23.
-
- * The minimum 'autoconf' requirement for a maintainer build
- has been increased to 'autoconf' 2.72.
-
- * Building the HTML and Info versions of the R manuals now
- requires 'texi2any' from Texinfo 6.1 or later.
-
- * Failures in building the manuals under 'doc' now abort the
- installation, removing any file which caused the failure.
-
- * Control of symbol visibility is now supported on macOS (the
- previous check only worked on ELF platforms).
-
- * There is now support for installing the debug symbols for
- recommended packages on macOS: see 'REC^INSTALL^OPT' in file
- 'config.site'.
-
- * 'configure' is now able to find an external 'libintl' on
- macOS (the code from an older GNU gettext distribution
- failed to try linking with the macOS Core Foundation
- framework).
-
- INSTALLATION on WINDOWS:
-
- * Both building R and installing packages use the C compiler
- in C23 mode.
-
- * R on Windows by default uses 'pkg-config' for linking
- against external libraries. This makes it easier to test R
- and packages with alternative toolchains (such as from
- Msys2, e.g., testing with LLVM and possibly with
- sanitizers). It also allows more significant Rtools updates
- within a single R minor release.
-
- * The installer scripts for Windows have been tailored to
- Rtools45, an update of the Rtools44 toolchain. It is based
- on GCC 14. The experimental support for 64-bit ARM
- ('aarch64') CPUs is based on LLVM 19. R-devel and R 4.5.x
- are no longer maintained to be buildable using Rtools44 and
- it is advised to switch to Rtools45.
-
- DEPRECATED AND DEFUNCT:
-
- * 'is.R()' is defunct. Environment variable
- '^R^DEPRECATED^IS^R^' no longer has any effect.
-
- * Deprecated (for more than 9 years!) functions
- 'linearizeMlist', 'listFromMlist', and 'showMlist' and the
- '"MethodsList"' class for S4 method handling were removed
- from package 'methods'. Deprecated functions
- 'balanceMethodsList', 'emptyMethodsList',
- 'inheritedSubMethodLists', 'insertMethod',
- 'insertMethodInEmptyList', 'makeMethodsList',
- 'mergeMethods', 'MethodsList', 'MethodsListSelect', and
- 'SignatureMethod' were made defunct, as were the
- '"MethodsList"' branches of functions
- 'assignMethodsMetaData', 'finalDefaultMethod', and
- 'MethodAddCoerce'.
-
- * 'getMethods(*, table = TRUE)' is deprecated.
-
- * Building with the bundled (and old) version of 'libintl' is
- deprecated and now gives a 'configure' warning. This should
- be selected only if neither the OS's 'libc' (as on GNU
- Linux) nor an external 'libintl' library provide suitable
- functions.
-
- Instead install 'libintl' from a recent version of GNU
- gettext (available for macOS) or use 'configure' option
- '--disable-nls'.
-
- The ability to use the bundled version may be removed as
- soon as R 4.5.1.
-
- * The deprecated 'xfig()' graphics device has been removed.
+ * tools/fetch-recommended can be used instead of
+ tools/rsync-recommended to fetch recommended packages into R
+ sources using curl on systems without rsync or behind firewalls.
PACKAGE INSTALLATION:
- * Packages are now installed using C23 where supported by the
- OS and R build.
-
- Packages using R's compiler settings can ask *not* to use
- C23 ^via^ including 'USE^C17' in 'SystemRequirements' or can
- be installed by 'R CMD INSTALL --use-C17'. (Some packages
- ignore these settings in their 'configure' script or when
- compiling in sub-directories of 'src', as will those using a
- 'src/Makefile'.)
-
- * Source installs now report the package version in the log.
-
- * There is preliminary support for C++26 with GCC >= 14, Apple
- 'clang++' >= 16 and LLVM 'clang++' >= 17.
-
- C-LEVEL FACILITIES:
-
- * The non-API and hidden entry points 'Rf^setIVector',
- 'Rf^setRVector' and 'Rf^setSVector' have been removed.
-
- * The internal code for changing the parent of an environment
- now signals an error if the new parent is not an environment
- or if the change would create a cycle in the parent chain.
-
- * 'SET^TYPEOF' now signals an error unless the old and new
- types have compatible memory structure and content. Use of
- 'SET^TYPE' in package C code should be avoided and may be
- deprecated in the near future. It is better to allocate an
- object of the desired type in the first place.
-
- * The set of LAPACK (double and complex) routines declared in
- the headers 'R^ext/Lapack.h' and 'R^ext/Applic.h' has been
- extended, mostly to routines actually in use by packages.
-
- * Memory allocation messages now use the (non-SI notation)
- '"Mb"', '"Gb"' , ..., and '"Mbytes"' strings as ^arguments^
- instead of as part of the (translatable format) string.
- This is one step for PR#18297; from Henrik Bengtsson.
-
- * Header 'R^ext/Constants.h' (included by 'R.h') now always
- includes header 'float.h' or 'cfloat' for constants such as
- 'DBL^MAX'.
-
- * Strict R headers are now the default. This removes the
- legacy definitions of 'PI', 'Calloc', 'Realloc' and 'Free':
- use 'M^PI', 'R^Calloc', 'R^Realloc' or 'R^Free' instead.
-
- * The deprecated and seemingly never-used S-compatibility
- macros 'F77^COM' and 'F77^COMDECL' have been removed from
- header 'R^ext/RS.h'.
-
- * The 'enum' 'Rboolean' defined in header 'R^ext/Boolean.h'
- now has a fixed underlying type of 'int' on platforms whose
- C compiler supports this.
-
- This is a C23 feature (taken from C++11) and also supported
- in all C standards by some versions of 'clang' (from LLVM
- and Apple) and (with a warning when using '-pedantic') by
- GCC when in C17 mode.
-
- A fair amount of code has assumed this: it may be changed to
- a smaller type in future. In particular, as standard
- compilers do not check the validity of assignment to an
- 'enum', it has been possible to assign 'NA^INTEGER' to an
- 'Rboolean' variable, coerce it to 'int' and recover the
- value.
-
- If there were a platform which used an underlying type of a
- different size this would be an ABI-breaking change (but we
- are unaware of any such platform).
-
- * Header 'R^ext/Boolean.h' now ensures that a 'bool' type is
- available either as a keyword (C23 and C++) or by including
- the C99 header 'stdbool.h'. This is being used internally
- in R to replace 'Rboolean' by 'bool'.
-
- * There are new functions 'asRboolean' and 'asBool', variants
- of 'asLogical' more suited to converting logical arguments
- to 'Rboolean' or to 'bool'. They require a length-one input
- and throw an error if that evaluates to 'NA'.
-
- * Header 'R^exts/Error.h' now ensures that 'Rf^error' and
- similar are given a 'noreturn' attribute when used from C++
- under all compilers.
-
- * Header 'R^exts/Utils.h' no longer contains a declaration for
- 'F77^SUB(interv)'. This is intended to be called from
- Fortran and was wrongly declared: 'LOGICAL' in Fortran
- corresponds to 'int *' not 'Rboolean *'.
-
- * Defining 'R^INCLUDE^BOOLEAN^H' to '0' before including
- headers 'R.h' or 'Rinternals.h' (or any other header which
- includes 'R^ext/Boolean.h') stops the inclusion of header
- 'R^ext/Boolean.h' which `defines' constants 'TRUE', 'FALSE',
- 'true', 'false' and the type 'bool' which some package
- maintainers wish to avoid.
-
- Note that the last three are keywords in C23 and C++11 so
- cannot be avoided entirely. However, with commonly-used
- compilers they can be masked by a macro of the same name,
- often with a warning.
-
- C-LEVEL API:
-
- * The 'Writing R Extensions' Texinfo source now contains very
- experimental annotations for more clearly identifying the
- API status of C entry points. These annotations are used to
- produce indices for API, experimental API, and embedded API
- entry points in the rendered versions. This is very
- preliminary and may be dropped if a better approach emerges.
-
- Also for Fortran-callable entry points which are part of the
- API.
-
- * 'Writing R Extensions' has a new section 'Moving into C API
- compliance' to help package authors move away from using
- non-API endpoints. This section will continue to be updated
- as work on clarifying and tightening the C API continues.
-
- * New API function 'R^mkClosure'. This checks that its
- arguments are valid and should be used instead of
- 'allocSExp(CLOSXP' followed by 'SET^FORMALS', 'SET^BODY',
- and 'SET^CLOENV'.
+ * C++ standard specifications (CXX_STD = in src/Makevars* and in
+ the SystemRequirements field of the DESCRIPTION file) are now
+ checked more thoroughly. Invalid values are still ignored but
+ now give a warning, as do contradictory specifications.
- * New API functions 'R^ClosureFormals', 'R^ClosureBody', and
- 'R^ClosureEnv' for extracting closure components. The
- existing functions 'R^ClosureExpr' and 'R^BytecodeExpr' have
- also been added to the API.
+ * (Preliminary) support for C++26 has been extended to Windows.
- * New API function 'R^ParentEnv' corresponding to R's
- 'parent.env()'.
-
- * Further non-API entry points have been added to those
- reported by 'R CMD check': 'COMPLEX0', 'ddfind', 'DDVAL',
- 'ENSURE^NAMEDMAX', 'ENVFLAGS', 'FRAME', 'HASHTAB',
- 'INTERNAL', 'IS^ASCII', 'IS^UTF8', 'LEVELS', 'NAMED',
- 'PRSEEN', 'RDEBUG', 'REAL0', 'Rf^findVarInFrame3',
- 'SET^BODY', 'SET^CLOENV', 'SET^FORMALS', 'SET^PRSEEN',
- 'SET^RDEBUG', 'STRING^PTR', 'SYMVALUE', and 'VECTOR^PTR'.
- Any declarations for these in public header files will be
- removed in the near future, and they will be hidden where
- possible.
-
- * Some 'R CMD check' 'NOTE's on the use of non-API entry
- points have been upgraded to 'WARNING's in preparation for
- removing declarations and, where possible, hiding these
- entry points.
-
- * Additional non-API entry points have been added to those
- reported by 'R CMD check': 'IS^LONG^VEC', 'PRCODE', 'PRENV',
- 'PRVALUE', 'R^nchar', 'Rf^NonNullStringMatch',
- 'R^shallow^duplicate^attr', 'Rf^StringBlank', 'SET^TYPEOF',
- 'TRUELENGTH', 'XLENGTH^EX', and 'XTRUELENGTH'.
-
- * Enable defining 'R^NO^REMAP^RMATH' and calling 'Rf^*()' as
- has been documented in 'Writing R Extensions' for a while,
- fixing PR#18800 thanks to Mikael Jagan and Suharto Anggono.
-
- * 'R^GetCurrentSrcref(skip)' now skips calls rather than
- 'srcref's, consistent with counting items in the
- 'traceback()' display. If 'skip == NA^INTEGER', it searches
- for the first 'srcref', starting at the current evaluation
- state and proceeding through the call stack; otherwise, it
- returns the 'srcref' of the requested entry from the call
- stack.
-
- UTILITIES:
-
- * 'R CMD INSTALL' (and hence 'check') now compile C++ code
- with '-DR^NO^REMAP'.
-
- 'Writing R Extensions' has been revised to describe the
- remapped entry points, for with the 'Rf^' prefix remains
- optional when used from C code (but is recommended for new C
- code).
-
- * 'R CMD check --as-cran' notes bad parts in the 'DESCRIPTION'
- file's URL fields.
-
- * 'R CMD check' now reports more warnings on
- long-deprecated/obsolete Fortran features reported by
- 'gfortran -Wall'. For hints on how to modernize these, see
- <https://fortranwiki.org/fortran/show/Modernizing+Old+Fortran>.
-
- * Since almost all supported R versions now use UTF-8, 'R CMD
- check' no longer by default reports on marked UTF-8 or
- Latin-1 strings in character data. Set environment variable
- '^R^CHECK^PACKAGE^DATASETS^SUPPRESS^NOTES^' to a false value
- for the previous behaviour.
-
- * 'tools::checkDocFiles()' notes more cases of usage
- documentation without corresponding \alias.
-
- * 'R CMD check' with a true value for environment variable
- '^R^CHECK^BASHISMS^' checks more thoroughly, including for
- 'bash' scripts and bashisms in components of
- 'autoconf'-generated 'configure' scripts.
-
- * 'R CMD check' gains option '--run-demo' to check demo
- scripts analogously to tests. This includes a check for
- undeclared package dependencies: it can also be enabled
- separately by setting the environment variable
- '^R^CHECK^PACKAGES^USED^IN^DEMO^' to a true value (as done
- by 'R CMD check --as-cran').
-
- * 'R CMD build' now supports '--compression=zstd' on platforms
- with sufficient support for 'zstd'.
-
- * 'tools::texi2pdf(..., texinputs=<paths>)' now ^pre^pends the
- specified <paths> to 'TEXINPUTS'. When building R itself
- ('doc/NEWS.pdf' and base vignettes) or package manuals using
- 'R CMD Rd2pdf', it is ensured that this R's 'Rd.sty' takes
- precedence over any other (incompatible) versions in default
- "texmf trees".
-
- * 'tools::Rd2latex()' no longer outputs an
- '\inputencoding{utf8}' line by default; such a declaration
- is obsolete since LaTeX 2018-04-01.
+ * A non-zero exit status from cleanup, cleanup.win or cleanup.ucrt,
+ if requested via options --clean or --preclean, is now reported
+ with a warning.
BUG FIXES:
- * 'update^pkg^po()' now copies '.mo' files to the
- 'translation' package even if a 'DESCRIPTION' file exists,
- thanks to Michael Chirico fixing PR#18694.
-
- * Auto-generated 'citation()' entries no longer include
- (additional) URLs in the 'note' field (PR#18547).
-
- * 'as.data.frame.list()' gets a new option 'new.names' and now
- preserves 'NA' names, thus fixing the 'format()' method for
- data frames, and also bug PR#18745. Relatedly, the
- 'format()' method gets an option 'cut.names'.
-
- * 'stem()' formats correctly also in cases where rounding up,
- e.g., from 9.96 to 10 needs more digits; thanks to Ella Kaye
- and Kelly Bodwin, fixing PR#8934 during 'R Dev Day' at
- useR!2024.
-
- Additionally, 'stem(x)' now works normally also when
- 'length(x) == 1'.
-
- * 'tools'' 'toTitleCase()' now works better, fixing PR#18674,
- thanks to Shannon Pileggi, Sarah Zeller, Reiko Okamoto, and
- Hugo Gruson's 'R Dev Day' effort.
-
- * Printing matrices (typically with many rows and or columns)
- now also omits columns when desirable according to option
- 'max.print', or argument 'max', respectively. This is
- primarily the work of Lorena Abad, Ekaterina Akimova, Hanne
- Oberman, Abhishek Ulayil, and Lionel Henry at the 'R Dev
- Day', thus fixing PR#15027.
-
- * 'Sys.setLanguage()' now warns about ^some^ failures to
- change the language.
-
- * Printing 'ls.str()' now shows '"<missing>"' even when R's
- language setting is not English.
-
- * 'xyTable()' now handles and reports 'NA's fixing PR#18654.
- Thanks to Heather Turner and Zhian Kamvar for report and
- patch.
-
- * 'as(*, "raw")' now works as documented, thanks to Mikael
- Jagan's PR#18795.
-
- * Informational messages of e.g., 'print(1:1e4, max=1000)',
- now correctly mention 'max' in addition to
- 'getOption("max.print")'.
-
- * 'rowSums(A, dims = dd)', 'colMeans(..)', etc, give a more
- helpful error message when 'dd' is not of length one, thanks
- to Michael Chirico's PR#18811.
-
- * 'seq.Date()' no longer explicitly coerces results from
- integer to double, analogously with 'seq.default()',
- 'seq.int()' and 'seq.POSIXt()', resolving a ^modified^
- PR#18782.
-
- * 'axisTicks(usr, ...)' documentation clarification for 'log =
- TRUE', fixing bug PR#18821 thanks to Duncan Murdoch.
-
- * 'debug()' and 'debugonce(fun)' now also accept a string
- 'fun' when it names an S4 generic, fixing PR#18822 thanks to
- Mikael Jagan.
-
- * 'debugonce(<S4-simple-body>, signature=*)' now works
- correctly when "called twice", fixing PR#18824 thanks to
- Mikael Jagan.
-
- * 'format(dtime, digits=* / format=*)' is more consistent when
- the 'POSIXt' date-time object 'dtime' has fractional (non
- integer) seconds. Fixes PR#17350, thanks to new
- contributions by LatinR's 'R Dev Day' participants, Heather
- Turner and Dirk Eddelbuettel; also fixes more cases, notably
- when 'format' contains '%OS<nodigit>'.
-
- * 'options(scipen = NULL)' and other invalid values now signal
- an error instead of invalidating ops relying on a finite
- integer value. Values outside the range -9 .. 9999 are now
- warned about and set to a boundary or to the default '0',
- e.g., in case of an 'NA'. This also fixes PR#16322.
-
- * 'cbind()' could segfault with 'NULL' inputs. (Seen when R
- was built with 'gcc-14', LTO and C99 inlining semantics.)
-
- * Fix segfault on 'quartz()' from 'grid.glyph()' call with
- 'glyphInfo()' that describes non-existent font (PR#18784).
- Thanks to Tomek Gieorgijewski.
-
- * 'format()' etc, using 'decimal.mark = s', by default getting
- 's <- getOption("OutDec")', signals a warning (to become an
- error in the future) when 's' is not a string with exactly
- one character.
-
- * When 's <- getOption("OutDec")' is not a string of one
- character, a warning is signalled now whenever it is used in
- internal C code, notably when calling the default methods of
- 'format()'.
-
- * 'pwilcox()' and 'qwilcox()' now check for user interrupt
- less frequently.
-
- * 'summary(<stl>)' (which prints directly) finally gets the
- same 'digits' default as the formatting printing of default
- 'summary()' method results, and it is documented explicitly.
-
- * 'options(show.error.locations = TRUE)' once again shows the
- most recent known location when an error is reported.
- Setting its value to '"bottom"' is no longer supported.
- Numerical values are converted to logical.
-
- * C API function 'R^GetCurrentSrcref(skip)' now returns
- 'srcref' entries correctly. (Note that there is also a
- change to the interpretation of 'skip'; see the C-LEVEL API
- entry above.)
-
- * 'tools::Rd2latex()' now removes leading and trailing spaces
- from \alias entries as documented, fixing indexing and
- linking hiccups in some PDF manuals.
-
- * 'R CMD Rd2pdf' can now render the package manual from a
- '--latex' installation also when the help contains figures.
-
- * The argument of 'as.environment()' is now named 'x', not
- 'object', as was always documented and shown when printing
- it; thanks to Gael Millot's PR#18849.
-
- * When 'R CMD check' aims at getting the time+date from a
- world clock, it is more robust against unexpected non-error
- results, thanks to Michael Chirico's PR#18852.
-
- * The 'tools::parseLatex()' parser made several parsing errors
- (PR#18855).
+ * all.equal(obj, simple, check.class=FALSE) now is true, also when
+ simple is a bare atomic vector and obj has a simple class, fixing
+ the first part of PR#18971 thanks to Jan Gorecki.
- * Error messages produced by 'tools::parseLatex()' are now
- more readable (PR#18855).
+ * str(x, give.attr=FALSE) no longer shows attributes when x is a
+ zero length "Date" or "POSIXt" object.
- * 'R CMD build <pkg>' excludes more file patterns when it tars
- the <pkg> directory, fixing both PR#18432 and PR#18434, for
- 'vim' and 'GNU Global' 'emacs' users, thanks to Dirk
- Eddelbuettel's patch.
+ * Tweaks to binning for bw.SJ() and bw.ucv() in the very rare case
+ of data which have an extremely small range compared to their
+ absolute values, e.g., x <- 6e9 + 6:9.
- * 'quantile()''s default method gets an option 'fuzz' to
- protect against floating point inaccuracy before rounding,
- thus fixing PR#15811 and, en passant, PR#17683.
+ * Formatting book-type bibentry objects now converts LaTeX accents
+ also in the publisher and series fields.
- * Printing arrays now also omits columns, rows and slices when
- desirable according to option 'max.print', or argument
- 'max', respectively, addressing most of the remaining part
- of PR#15027, thanks to Sherry Zhang's patch.
+ * model.frame(~1, list(), na.action=na.pass) and similar
+ "border-line" uses no longer produce invalid data frames, fixing
+ PR#18977, reported with patch by Mikael Jagan.
- * 'drop.terms(y ~ w, 1)' and similar now work, thanks to
- Benjamin Sommer's report in PR#18861 and collaboration with
- Heather Turner improving 'reformulate()'.
+ * length(<POSIXlt>) <- v is more careful about balancing, notably
+ when v is not integer, thanks to Suharto Anggono's remarks on the
+ mailing list R-devel.
- * Many arguments which should be length-1 logical are checked
- more thoroughly. The most commonly seen errors are in
- 'unlink(, recursive)', 'tempdir()' and the 'na.rm' arguments
- of 'max()', 'min()', 'sum()', ....
+ * approx(<x_with_ties>, <y_with_NA>, na.rm = FALSE) now should
+ always call the ties() function, fixing PR#17604 reported by Bill
+ Dunlap.
- 'grep()', 'strsplit()' and similar took non-'TRUE'/'FALSE'
- values of their logical arguments as 'FALSE', but these were
- almost always mismatches to unnamed arguments and are now
- reported as 'NA'.
+ * besselJ(1, 1e-15) and similar now give correct results, thanks to
+ Leo Mada and other "R-help"ers.
- * 'vignette("reshape")' is now also available on Windows.
+ * vignette(<pkg>::<topic>) is now a documented usage variant and
+ confines vignette retrieval to the specified package.
- * 'trace(coerce, ..)' now works correctly, fixing PR#18823
- thanks to Mikael Jagan.
+ * pretty(ch) again correctly works with ch a character vector of
+ numbers.
- * 'R CMD check' now also reports bad symbols in package shared
- objects linked in from local static libraries (PR#18789).
+ * persp() labels the three axes correctly also when C level
+ atan2pi() is available, fixing PR#19007 by Klaus Schliep.
- * 'factanal()' now works correctly also, e.g., for
- 'GPArotation', 'oblimin()' rotations, fixing PR#18417,
- thanks to Coen Bernaards and others.
+ * Large (tall) subscripts in plotmath expressions are now
+ positioned correctly. They were being positioned too high.
- * Setting 'attributes' on primitive functions is deprecated
- now and already an error in the development version of R.
- Changing the 'environment' of a primitive does no longer
- happen and signals a warning.
+ * Ops group (Arith, Compare,..) methods for matrix-"ts" now do
+ return (zero length) matrices even when the two series do not
+ overlap, a very partial fix of PR#18972 which is to be fully
+ addressed later.
diff --git a/R/Makefile b/R/Makefile
index fb4768e281..964940343b 100644
--- a/R/Makefile
+++ b/R/Makefile
@@ -158,8 +158,8 @@ INSTALL_SCRIPT= ${INSTALL} ${COPY} -m ${BINMODE}
#TOOL_DEPENDS+= tex-latexconfig-[0-9]*:../../print/tex-latexconfig
#TOOL_DEPENDS+= tex-mptopdf-[0-9]*:../../graphics/tex-mptopdf
#TOOL_DEPENDS+= tex-pdftex-def-[0-9]*:../../print/tex-pdftex
-TOOL_DEPENDS+= p5-Text-Unidecode-[0-9]*:../../textproc/p5-Text-Unidecode
-TOOL_DEPENDS+= p5-Locale-libintl-[0-9]*:../../misc/p5-Locale-libintl
+TOOL_DEPENDS+= p5-Text-Unidecode-[0-9]*:../../textproc/p5-Text-Unidecode
+TOOL_DEPENDS+= p5-Locale-libintl-[0-9]*:../../misc/p5-Locale-libintl
SUBST_CLASSES+= fixwrap
SUBST_STAGE.fixwrap= post-build
Home |
Main Index |
Thread Index |
Old Index