While the license allows to re-distribute the source tarball
unchanged, an automatic download fails, so it will have to be
downloaded in a browser.
From the upstream description:
SMath Studio is a tiny, powerful, free mathematical program with
WYSIWYG editor and complete units of measurements support.
It provides numerous computing features and rich user interface
translated into about 40 different languages. The application also
contains an integrated mathematical reference book.
It can be easily extended based on your needs. A built-in Extensions
Manager tool allows to get access to hundreds official and third-party
resources of the following types: usage examples, plug-ins, SMath
Viewer based applications, snippets, interface translations,
interactive books, handbooks and tutorials.
* What is new in gsl-2.7:
** fixed doc bug for gsl_histogram_min_bin (lhcsky at 163.com)
** fixed bug #60335 (spmatrix test failure, J. Lamb)
** fixed bug #36577
** clarified documentation on interpolation accelerators (V. Krishnan)
** fixed bug #45521 (erroneous GSL_ERROR_NULL in ode-initval2, thanks to M. Sitte)
** fixed doc bug #59758
** fixed bug #58202 (rstat median for n=5)
** added support for native C complex number types in gsl_complex
when using a C11 compiler
** upgraded to autoconf 2.71, automake 1.16.3, libtool 2.4.6
** updated exponential fitting example for nonlinear least squares
** added banded LU decomposition and solver (gsl_linalg_LU_band)
** New functions added to the library:
- gsl_matrix_norm1
- gsl_spmatrix_norm1
- gsl_matrix_complex_conjtrans_memcpy
- gsl_linalg_QL: decomp, unpack
- gsl_linalg_complex_QR_* (thanks to Christian Krueger)
- gsl_vector_sum
- gsl_matrix_scale_rows
- gsl_matrix_scale_columns
- gsl_multilarge_linear_matrix_ptr
- gsl_multilarge_linear_rhs_ptr
- gsl_spmatrix_dense_add (renamed from gsl_spmatrix_add_to_dense)
- gsl_spmatrix_dense_sub
- gsl_linalg_cholesky_band: solvem, svxm, scale, scale_apply
- gsl_linalg_QR_UD: decomp, lssolve
- gsl_linalg_QR_UU: decomp, lssolve, QTvec
- gsl_linalg_QR_UZ: decomp
- gsl_multifit_linear_lcurvature
- gsl_spline2d_eval_extrap
** bug fix in checking vector lengths in gsl_vector_memcpy (dieggsy@pm.me)
** made gsl_sf_legendre_array_index() inline and documented
gsl_sf_legendre_nlm()
The omppool file is both in PLIST and PLIST.Linux. One needs to go. This hotfix
just removes the typo. Do we remove PLIST.Linux and assume every platform
of interest has working OpenMP? Add Darwin dep for parallel/openmp?
The problem was:
~/usr/include/g++/bits/c++0x_warning.h:32:2: error: #error
This file requires compiler and library support for the ISO C++ 2011 standard.
This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support \
^~~~~
This delivers 64 bit index BLAS libraries alongside 32 bit ones. This is often
called ILP64 in the BLAS world, as opposed to LP64 where integers are 32 bit
due to the Fortran default integer type, not to be confused with the basic
system ABI used by C. For really large vectors on modern machines, you want
an 'ILP64' BLAS and layers on top of it.
In preparation of better support for vendor BLAS libraries, I had to realize
that you better use the C interfaces supplied by them, not the netlib one
strapped on. A simple reason of practicability: The vendor blas libraries,
just like openblas, like to ship all symbols in one library, so you get them
whether you want it or not. Also implementations may skip Fortran and implement
the underlying functionality directly in C anyway, so one might skip a
layer of indirection. Future will tell if other layers will follow. We still
have the framework of individual layers from Netlib to combine with certain
implementations that miss them (Accelerate framework comes to mind, which
needs further work).
The framework of netlib reference packages for the separate libraries
is instructive and helps keeping things small when you not need all of them.
The installation location of the headers is now in a subdirectory to be able
to have 32 and 64 bit variants independently. The 32 bit ones are linked to
${PREFIX}/include to keep the old picture. We could be brave and remove
those, but there is some value in a build just trying -lcblas and
inclusion of <cblas.h> to be happy.
There is one blas.buildlink3.mk that is supposed to be used only once and
so avoids a combination of conflicting libraries (as the 64 bit index symbols
have the same names as the 32 bit ones).
Basic usage for getting LAPACK+BLAS is still the same as before. You get
CBLAS and LAPACKE by setting BLAS_C_INTERFACE=yes in the package. The 64 bit
indices are selected via BLAS_INDEX64=yes.
Due to the special nature of the Accelerate framework, a package has to
explicitly indicate support for it and it will also not appear on the
list of implementations by default. The reason is that it does provide
mainly CBLAS and CLAPACK (another version of C interface to LAPACK, f2c-based)
and BLAS/LAPACK with f2c/g77 calling conventions. A default build with
gfortran would not like that
This commit also fixes up math/py-numpy and math/py-numpy16 to follow the
new scheme, as that are the only packages directly affected by the change
in CBLAS providership.
Change the way iconv_t void* conflict is handled
using a patch from upstream to fix PR pkg/56240 .
Due to the above remove
patch-libinterp_corefcn_input.cc and
patch-liboctave_wrappers_iconv-wrappers.h .
Execute autoconf in the configuration step so that
patch-configure.ac and patch-m4_acinclude.m4 is
actually used.
Change the PLIST so that -gnu is not used
references in patch-m4_acinclude.m4 mentions this.
Explicitly don't generate any docs since
generation octave.pdf breaks and it already exists.
Install info and man pages manually since they are
not installed due to docs not being generated.
Bump pkgrevision due to PLIST change.
Upstream changes:
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
read.table() (related to stringsAsFactor) in R 4.0.0.
* When printing list arrays, classed objects are now shown _via_
their format() value if this is a short enough character string,
or by giving the first elements of their class vector and their
length.
* capabilities() gets new entry "Rprof" which is TRUE when R has
been configured with the equivalent of --enable-R-profiling (as
it is by default). (Related to Michael Orlitzky's report
PR#17836.)
* str(xS4) now also shows extraneous attributes of an S4 object
xS4.
* Rudimentary support for vi-style tags in rtags() and R CMD rtags
has been added. (Based on a patch from Neal Fultz in PR#17214.)
* checkRdContents() is now exported from tools; it and also
checkDocFiles() have a new option chkInternal allowing to check
Rd files marked with keyword "internal" as well. The latter can
be activated for R CMD check via environment variable
_R_CHECK_RD_INTERNAL_TOO_.
* New functions numToBits() and numToInts() extend the raw
conversion utilities to (double precision) numeric.
* Functions URLencode() and URLdecode() in package utils now work
on vectors of URIs. (Based on patch from Bob Rudis submitted
with PR#17873.)
* path.expand() can expand ~user on most Unix-alikes even when
readline is not in use. It tries harder to expand ~, for example
should environment variable HOME be unset.
* For HTML help (both dynamic and static), Rd file links to help
pages in external packages are now treated as references to
topics rather than file names, and fall back to a file link only
if the topic is not found in the target package. The earlier rule
which prioritized file names over topics can be restored by
setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
false value.
* c() now removes NULL arguments before dispatching to methods,
thus simplifying the implementation of c() methods, _but_ for
back compatibility keeps NULL when it is the first argument.
(From a report and patch proposal by Lionel Henry in PR#17900.)
* Vectorize()'s result function's environment no longer keeps
unneeded objects.
* Function ...elt() now propagates visibility consistently with
..n. (Thanks to Lionel Henry's PR#17905.)
* capture.output() no longer uses non-standard evaluation to
evaluate its arguments. This makes evaluation of functions like
parent.frame() more consistent. (Thanks to Lionel Henry's
PR#17907.)
* packBits(bits, type="double") now works as inverse of
numToBits(). (Thanks to Bill Dunlap's proposal in PR#17914.)
* curlGetHeaders() has two new arguments, timeout to specify the
timeout for that call (overriding getOption("timeout")) and TLS
to specify the minimum TLS protocol version to be used for
https:// URIs (_inter alia_ providing a means to check for sites
using deprecated TLS versions 1.0 and 1.1).
* For nls(), an optional constant scaleOffset may be added to the
denominator of the relative offset convergence test for cases
where the fit of a model is expected to be exact, thanks to a
proposal by John Nash. nls(*, trace=TRUE) now also shows the
convergence criterion.
* Numeric differentiation _via_ numericDeriv() gets new optional
arguments eps and central, the latter for taking central divided
differences. The latter can be activated for nls() via
nls.control(nDcentral = TRUE).
* nls() now passes the trace and control arguments to getInitial(),
notably for all self-starting models, so these can also be fit in
zero-noise situations via a scaleOffset. For this reason, the
initial function of a selfStart model must now have ... in its
argument list.
* bquote(splice = TRUE) can now splice expression vectors with
attributes: this makes it possible to splice the result of
parse(keep.source = TRUE). (Report and patch provided by Lionel
Henry in PR#17869.)
* textConnection() gets an optional name argument.
* get(), exists(), and get0() now signal an error if the first
argument has length greater than 1. Previously additional
elements were silently ignored. (Suggested by Antoine Fabri on
R-devel.)
* R now provides a shorthand notation for creating functions, e.g.
\(x) x + 1 is parsed as function(x) x + 1.
* R now provides a simple native forward pipe syntax |>. The
simple form of the forward pipe inserts the left-hand side as the
first argument in the right-hand side call. The pipe
implementation as a syntax transformation was motivated by
suggestions from Jim Hester and Lionel Henry.
* all.equal(f, g) for functions now by default also compares their
environment(.)s, notably via new all.equal method for class
function. Comparison of nls() fits, e.g., may now need
all.equal(m1, m2, check.environment = FALSE).
* .libPaths() gets a new option include.site, allowing to _not_
include the site library. (Thanks to Dario Strbenac's suggestion
and Gabe Becker's PR#18016.)
* Lithuanian translations are now available. (Thanks to Rimantas
Zakauskas.)
* names() now works for DOTSXP objects. On the other hand, in
R-lang, the R language manual, we now warn against relying on the
structure or even existence of such dot-dot-dot objects.
* all.equal() no longer gives an error on DOTSXP objects.
* capabilities("cairo") now applies only to the file-based devices
as it is now possible (if very unusual) to build R with Cairo
support for those but not for X11().
* There is optional support for tracing the progress of
loadNamespace() - see its help.
* (Not Windows.) l10n_info() reports an additional element, the
name of the encoding as reported by the OS (which may differ from
the encoding part (if any) of the result from
Sys.getlocale("LC_CTYPE").
* New function gregexec() which generalizes regexec() to find _all_
disjoint matches and well as all substrings corresponding to
parenthesized subexpressions of the given regular expression.
(Contributed by Brodie Gaslam.)
* New function charClass() in package utils to query the
wide-character classification functions in use (such as
iswprint).
* The names of quantile()'s result no longer depend on the global
getOption("digits"), but quantile() gets a new optional argument
digits = 7 instead.
* grep(), sub(), regexp and variants work considerably faster for
long factors with few levels. (Thanks to Michael Chirico's
PR#18063.)
* Provide grouping of x11() graphics windows within a window
manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
posted to R-devel.
* The split() method for class data.frame now allows the f argument
to be specified as a formula.
* sprintf now warns on arguments unused by the format string.
* New palettes "Rocket" and "Mako" for hcl.colors() (approximating
palettes of the same name from the 'viridisLite' package).
Contributed by Achim Zeileis.
* The base environment and its namespace are now locked (so one can
no longer add bindings to these or remove from these).
* Rterm handling of multi-byte characters has been improved,
allowing use of such characters when supported by the current
locale.
* Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
characters as hex digits.
* Environment variable LC_ALL on Windows now takes precedence over
LC_CTYPE and variables for other supported categories, matching
the POSIX behaviour.
* duplicated() and anyDuplicated() are now optimized for integer
and real vectors that are known to be sorted via the ALTREP
framework. Contributed by Gabriel Becker via PR#17993.
GRAPHICS:
* The graphics engine version, R_GE_version, has been bumped to 14
and so packages that provide graphics devices should be
reinstalled.
* Graphics devices should now specify deviceVersion to indicate
what version of the graphics engine they support.
* Graphics devices can now specify deviceClip. If TRUE, the
graphics engine will never perform any clipping of output itself.
The clipping that the graphics engine does perform (for both
canClip = TRUE and canClip = FALSE) has been improved to avoid
producing unnecessary artifacts in clipped output.
* The grid package now allows gpar(fill) to be a linearGradient(),
a radialGradient(), or a pattern(). The viewport(clip) can now
also be a grob, which defines a clipping path, and there is a new
viewport(mask) that can also be a grob, which defines a mask.
These new features are only supported so far on the Cairo-based
graphics devices and on the pdf() device.
* (Not Windows.) A warning is given when a Cairo-based type is
specified for a png(), jpeg(), tiff() or bmp() device but Cairo
is unsupported (so type = "Xlib" is tried instead).
* grSoftVersion() now reports the versions of FreeType and
FontConfig if they are used directly (not _via_ Pango), as is
most commonly done on macOS.
C-LEVEL FACILITIES:
* The _standalone_ libRmath math library and R's C API now provide
log1pexp() again as documented, and gain log1mexp().
INSTALLATION on a UNIX-ALIKE:
* configure checks for a program pkgconf if program pkg-config is
not found. These are now only looked for on the path (like
almost all other programs) so if needed specify a full path to
the command in PKG_CONFIG, for example in file config.site.
* C99 function iswblank is required - it was last seen missing ca
2003 so the workaround has been removed.
* There are new configure options --with-internal-iswxxxxx,
--with-internal-towlower and --with-internal-wcwidth which allows
the system functions for wide-character classification,
case-switching and width (wcwidth and wcswidth) to be replaced by
internal ones. The first has long been used on macOS, AIX (and
Windows) but this enables it to be unselected there and selected
for other platforms (it is the new default on Solaris). The
second is new in this version of R and is selected by default on
macOS and Solaris. The third has long been the default and
remains so as it contains customizations for East Asian
languages.
System versions of these functions are often minimally
implemented (sometimes only for ASCII characters) and may not
cover the full range of Unicode points: for example Solaris (and
Windows) only cover the Basic Multilingual Plane.
* Cairo installations without X11 are more likely to be detected by
configure, when the file-based Cairo graphics devices will be
available but not X11(type = "cairo").
* There is a new configure option --with-static-cairo which is the
default on macOS. This should be used when only static cairo
(and where relevant, Pango) libraries are available.
* Cairo-based graphics devices on platforms without Pango but with
FreeType/FontConfig will make use of the latter for font
selection.
LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
* Configuring with flag --enable-lto=R now also uses LTO when
installing the recommended packages.
* R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
LTO when compiling code, for use with R configured with
--enable-lto=R. For R configured with --enable-lto, they have
the new flag --no-use-LTO.
Packages can opt in or out of LTO compilation _via_ a UseLTO
field in the DESCRIPTION file. (As usual this can be overridden
by the command-line flags.)
BUILDING R on Windows:
* for GCC >= 8, FC_LEN_T is defined in config.h and hence character
lengths are passed from C to Fortran in _inter alia_ BLAS and
LAPACK calls.
* There is a new text file src/gnuwin32/README.compilation, which
outlines how C/Fortran code compilation is organized and
documents new features:
* R can be built with Link-Time Optimization with a suitable
compiler - doing so with GCC 9.2 showed several
inconsistencies which have been corrected.
* There is support for cross-compiling the C and Fortran code
in R and standard packages on suitable (Linux) platforms.
This is mainly intended to allow developers to test later
versions of compilers - for example using GCC 9.2 or 10.x has
detected issues that GCC 8.3 in Rtools40 does not.
* There is experimental support for cross-building R packages
with C, C++ and/or Fortran code.
* The R installer can now be optionally built to support a single
architecture (only 64-bit or only 32-bit).
PACKAGE INSTALLATION:
* The default C++ standard has been changed to C++14 where
available (which it is on all currently checked platforms): if
not (as before) C++11 is used if available otherwise C++ is not
supported.
Packages which specify C++11 will still be installed using C++11.
C++14 compilers may give deprecation warnings, most often for
std::random_shuffle (deprecated in C++14 and removed in C++17).
Either specify C++11 (see 'Writing R Extensions') or modernize
the code and if needed specify C++14. The latter has been
supported since R 3.4.0 so the package's DESCRIPTION would need
to include something like
Depends: R (>= 3.4)
PACKAGE INSTALLATION on Windows:
* R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
or in a personal/site Makevars file. (For details see 'Writing R
Extensions' SS4.5.)
This provides a valuable check on code consistency. It does work
with GCC 8.3 as in Rtools40, but that does not detect everything
the CRAN checks with current GCC do.
PACKAGE INSTALLATION on macOS:
* The default personal library directory on builds with
--enable-aqua (including CRAN builds) now differs by CPU type,
one of
~/Library/R/x86_64/x.y/library
~/Library/R/arm64/x.y/library
This uses the CPU type R (and hence the packages) were built for,
so when a x86_64 build of R is run under Rosetta emulation on an
arm64 Mac, the first is used.
UTILITIES:
* R CMD check can now scan package functions for bogus return
statements, which were possibly intended as return() calls (wish
of PR#17180, patch by Sebastian Meyer). This check can be
activated via the new environment variable
_R_CHECK_BOGUS_RETURN_, true for --as-cran.
* R CMD build omits tarballs and binaries of previous builds from
the top-level package directory. (PR#17828, patch by Sebastian
Meyer.)
* R CMD check now runs sanity checks on the use of LazyData, for
example that a data directory is present and that
LazyDataCompression is not specified without LazyData and has a
documented value. For packages with large LazyData databases
without specifying LazyDataCompression, there is a reference to
the code given in 'Writing R Extensions' SS1.1.6 to test the
choice of compression (as in all the CRAN packages tested a
non-default method was preferred).
* R CMD build removes LazyData and LazyDataCompression fields from
the DESCRIPTION file of packages without a data directory.
ENCODING-RELATED CHANGES:
* The parser now treats \Unnnnnnnn escapes larger than the upper
limit for Unicode points (\U10FFFF) as an error as they cannot be
represented by valid UTF-8.
Where such escapes are used for outputting non-printable
(including unassigned) characters, 6 hex digits are used (rather
than 8 with leading zeros). For clarity, braces are used, for
example \U{0effff}.
* The parser now looks for non-ASCII spaces on Solaris (as
previously on most other OSes).
* There are warnings (including from the parser) on the use of
unpaired surrogate Unicode points such as \uD834. (These cannot
be converted to valid UTF-8.)
* Functions nchar(), tolower(), toupper() and chartr() and those
using regular expressions have more support for inputs with a
marked Latin-1 encoding.
* The character-classification functions used (by default) to
replace the system iswxxxxx functions on Windows, macOS and AIX
have been updated to Unicode 13.0.0.
The character-width tables have been updated to include new
assignments in Unicode 13.0.0.
* The code for evaluating default (extended) regular expressions
now uses the same character-classification functions as the rest
of R (previously they differed on Windows, macOS and AIX).
* There is a build-time option to replace the system's
wide-character wctrans C function by tables shipped with R: use
configure option --with-internal-towlower or (on Windows)
-DUSE_RI18N_CASE in CFLAGS when building R. This may be needed
to allow tolower() and toupper() to work with Unicode characters
beyond the Basic Multilingual Plane where not supported by system
functions (e.g. on Solaris where it is the new default).
* R is more careful when truncating UTF-8 and other multi-byte
strings that are too long to be printed, passed to the system or
libraries or placed into an internal buffer. Truncation will no
longer produce incomplete multibyte characters.
DEPRECATED AND DEFUNCT:
* Function plclust() from the package stats and
package.dependencies(), pkgDepends(), getDepList(),
installFoundDepends(), and vignetteDepends() from package tools
are defunct.
* Defunct functions checkNEWS() and readNEWS() from package tools
and CRAN.packages() from utils have been removed.
* R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
* parallel::detectCores() drops support for Irix (retired in 2013).
* The LINPACK argument to chol.default(), chol2inv(),
solve.default() and svd() has been defunct since R 3.1.0. It was
silently ignored up to R 4.0.3 but now gives an error.
* Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
(dot-dot-dot) object ddd has been disabled; it worked by accident
only and was undocumented.
BUG FIXES:
* Many more C-level allocations (mainly by malloc and strdup) are
checked for success with suitable alternative actions.
* Bug fix for replayPlot(); this was turning off graphics engine
display list recording if a recorded plot was replayed in the
same session. The impact of the bug became visible if resize the
device after replay OR if attempted another savePlot() after
replay (empty display list means empty screen on resize or empty
saved plot).
* R CMD check etc now warn when a package exports non-existing S4
classes or methods, also in case of no "methods" presence.
(Reported by Alex Bertram; reproducible example and patch by
Sebastian Meyer in PR#16662.)
* boxplot() now also accepts calls for labels such as ylab, the
same as plot(). (Reported by Marius Hofert.)
* The help page for xtabs() now correctly states that addNA is
setting na.action = na.pass among others. (Reported as PR#17770
by Thomas Soeiro.)
* The R CMD check <pkg> gives a longer and more comprehensible
message when DESCRIPTION misses dependencies, e.g., in Imports:.
(Thanks to the contributors of PR#17179.)
* update.default() now calls the generic update() on the formula to
work correctly for models with extended formulas. (As reported
and suggested by Neal Fultz in PR#17865.)
* The horizontal position of leaves in a dendrogram is now correct
also with center = FALSE. (PR#14938, patch from Sebastian
Meyer.)
* all.equal.POSIXt() no longer warns about and subsequently ignores
inconsistent "tzone" attributes, but describes the difference in
its return value (PR#17277). This check can be disabled _via_
the new argument check.tzone = FALSE as suggested by Sebastian
Meyer.
* as.POSIXct() now populates the "tzone" attribute from its tz
argument when x is a logical vector consisting entirely of NA
values.
* x[[2^31]] <- v now works. (Thanks to the report and patch by
Suharto Anggono in PR#17330.)
* In log-scale graphics, axis() ticks and label positions are now
computed more carefully and symmetrically in their range,
typically providing _more_ ticks, fulfilling wishes in PR#17936.
The change really corresponds to an improved axisTicks() (package
grDevices), potentially influencing grid and lattice, for
example.
* qnorm(<very large negative>, log.p=TRUE) is now correct to at
least five digits where it was catastrophically wrong,
previously.
* sum(df) and similar "Summary"- and "Math"-group member functions
now work for data frames df with logical columns, notably also of
zero rows. (Reported to R-devel by Martin "b706".)
* unsplit() had trouble with tibbles due to unsound use of rep(NA,
len)-indexing, which should use NA_integer_ (Reported to R-devel
by Mario Annau.)
* pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
* show(<hidden S4 generic>) prints better and without quotes for
non-hidden S4 generics.
* read.table() and relatives treated an "NA" column name as missing
when check.names = FALSE PR#18007.
* Parsing strings containing UTF-16 surrogate pairs such as
"\uD834\uDD1E" works better on some (uncommon) platforms.
sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
on all platforms.
* identical(x,y) is no longer true for differing DOTSXP objects,
fixing PR#18032.
* str() now works correctly for DOTSXP and related exotics, even
when these are doomed.
Additionally, it no longer fails for lists with a class and
"irregular" method definitions such that e.g. lapply(*) will
necessarily fail, as currently for different igraph objects.
* Too long lines in environment files (e.g. Renviron) no longer
crash R. This limit has been increased to 100,000 bytes.
(PR#18001.)
* There is a further workaround for FreeType giving incorrect
italic font faces with cairo-based graphics devices on macOS.
* add_datalist(*, force = TRUE) (from package tools) now actually
updates an existing data/datalist file for new content. (Thanks
to a report and patch by Sebastian Meyer in PR#18048.)
* cut.Date() and cut.POSIXt() could produce an empty last interval
for breaks = "months" or breaks = "years". (Reported as PR#18053
by Christopher Carbone.)
* Detection of the encoding of 'regular' macOS locales such as
en_US (which is UTF-8) had been broken by a macOS change:
fortunately these are now rarely used with en_US.UTF-8 being
preferred.
* sub() and gsub(pattern, repl, x, *) now keep attributes of x such
as names() also when pattern is NA (PR#18079).
* Time differences ("difftime" objects) get a replacement and a
rep() method to keep "units" consistent. (Thanks to a report and
patch by Nicolas Bennett in PR#18066.)
* The \RdOpts macro, setting defaults for \Sexpr options in an Rd
file, had been ineffective since R 2.12.0: it now works again.
(Thanks to a report and patch by Sebastian Meyer in PR#18073.)
* mclapply and pvec no longer accidentally terminate parallel
processes started before by mcparallel or related calls in
package parallel (PR#18078).
* grep and other functions for evaluating (extended) regular
expressions handle in Unicode also strings not explicitly flagged
UTF-8, but flagged native when running in UTF-8 locale.
* Fixed a crash in fifo implementation on Windows (PR#18031).
* Binary mode in fifo on Windows is now properly detected from
argument open (PR#15600, PR#18031).
# dplyr 1.0.6
* `add_count()` is now generic (#5837).
* `if_any()` and `if_all()` abort when a predicate is mistakingly used
as `.cols=` (#5732).
* Multiple calls to `if_any()` and/or `if_all()` in the same
expression are now properly disambiguated (#5782).
* `filter()` now inlines `if_any()` and `if_all()` expressions. This
greatly improves performance with grouped data frames.
* Fixed behaviour of `...` in top-level `across()` calls (#5813, #5832).
* `across()` now inlines lambda-formulas. This is slightly more performant and
will allow more optimisations in the future.
* Fixed issue in `bind_rows()` causing lists to be incorrectly transformed as
data frames (#5417, #5749).
* `select()` no longer creates duplicate variables when renaming a variable
to the same name as a grouping variable (#5841).
* `dplyr_col_select()` keeps attributes for bare data frames (#5294, #5831).
* Fixed quosure handling in `dplyr::group_by()` that caused issues with extra
arguments (tidyverse/lubridate#959).
* Removed the `name` argument from the `compute()` generic (@ianmcook, #5783).
* row-wise data frames of 0 rows and list columns are supported again (#5804).
# dplyr 1.0.5
* Fixed edge case of `slice_sample()` when `weight_by=` is used and there
0 rows (#5729).
* `across()` can again use columns in functions defined inline (#5734).
* Using testthat 3rd edition.
* Fixed bugs introduced in `across()` in previous version (#5765).
* `group_by()` keeps attributes unrelated to the grouping (#5760).
* The `.cols=` argument of `if_any()` and `if_all()` defaults to `everything()`.
# dplyr 1.0.4
* Improved performance for `across()`. This makes `summarise(across())` and
`mutate(across())` perform as well as the superseded colwise equivalents (#5697).
* New functions `if_any()` and `if_all()` (#4770, #5713).
* `summarise()` silently ignores NULL results (#5708).
* Fixed a performance regression in `mutate()` when warnings occur once per
group (#5675). We no longer instrument warnings with debugging information
when `mutate()` is called within `suppressWarnings()`.
# dplyr 1.0.3
* `summarise()` no longer informs when the result is ungrouped (#5633).
* `group_by(.drop = FALSE)` preserves ordered factors (@brianrice2, #5545).
* `count()` and `tally()` are now generic.
* Removed default fallbacks to lazyeval methods; this will yield
better error messages when you call a dplyr function with the wrong
input, and is part of our long term plan to remove the deprecated
lazyeval interface.
* `inner_join()` gains a `keep` parameter for consistency with the other
mutating joins (@patrickbarks, #5581).
* Improved performance with many columns, with a dynamic data mask using active
bindings and lazy chops (#5017).
* `mutate()` and friends preserves row names in data frames once more (#5418).
* `group_by()` uses the ungrouped data for the implicit mutate step (#5598).
You might have to define an `ungroup()` method for custom classes.
For example, see https://github.com/hadley/cubelyr/pull/3.
* `relocate()` can rename columns it relocates (#5569).
* `distinct()` and `group_by()` have better error messages when the
mutate step fails (#5060).
* Clarify that `between()` is not vectorised (#5493).
* Fixed `across()` issue where data frame columns would could not be referred to
with `all_of()` in the nested case (`mutate()` within `mutate()`) (#5498).
* `across()` handles data frames with 0 columns (#5523).
* `mutate()` always keeps grouping variables, unconditional to `.keep=` (#5582).
* dplyr now depends on R 3.3.0
# dplyr 1.0.2
* Fixed `across()` issue where data frame columns would mask objects referred to
from `all_of()` (#5460).
* `bind_cols()` gains a `.name_repair` argument, passed to
`vctrs::vec_cbind()` (#5451)
* `summarise(.groups = "rowwise")` makes a rowwise data frame even if
the input data is not grouped (#5422).
# dplyr 1.0.1
* New function `cur_data_all()` similar to `cur_data()` but includes
the grouping variables (#5342).
* `count()` and `tally()` no longer automatically weights by column `n` if
present (#5298). dplyr 1.0.0 introduced this behaviour because of Hadley's
faulty memory. Historically `tally()` automatically weighted and `count()`
did not, but this behaviour was accidentally changed in 0.8.2 (#4408) so that
neither automatically weighted by `n`. Since 0.8.2 is almost a year old,
and the automatically weighting behaviour was a little confusing anyway,
we've removed it from both `count()` and `tally()`.
Use of `wt = n()` is now deprecated; now just omit the `wt` argument.
* `coalesce()` now supports data frames correctly (#5326).
* `cummean()` no longer has off-by-one indexing problem (@cropgen, #5287).
* The call stack is preserved on error. This makes it possible to `recover()`
into problematic code called from dplyr verbs (#5308).
These produce poor code and it's always better to use the CPU-specific
intrinsics instead, which we already do on platforms where the test
suite doesn't fail.
Those cmake config files are not useful for us and they are incorrect
for the upcoming 64-bit-index variants. Also, we could switch back
to the Makefile build from cmake in future. Let's treat the question of
CMake as implementation detail of the packages.
The actual use is via mk/blas.bl3 in pkgsrc and pkg-config. There isn't
even added value in these files, were they to be correct. CMake builds
can use pkg-config just fine.
Changed in xts 0.12.1:
o Various function could change the tclass of xts objects. This would happen
in calls to reclass(), period.apply(), and for logical operations on
POSIXct indexes. Thanks to Tom Andrews for the report and testing, and to
Panagiotis Cheilaris for contributing test cases (#322, #323).
o plot.xts() now supports y-axis labels via 'ylab'. Thanks to Jasen Mackie
for the suggestion and PR (#333, #334).
o The API header has been updated to fix the signatures of do_merge_xts() and
is_xts, which did not return a SEXP as required of functions callable by
.Call(). Thanks to Tomas Kalibera for the report (#317), and Dirk
Eddelbuettel for the PR (#337). This is a breaking change, but is required
to avoid the potential for a segfault.
o Michael Chirico added an internal isUTC() function to recognize many UTC-
equivalent time zones (#319).
o first() now operates correctly on non-xts objects when 'n = -1'. Previously
it would always return the last two values. Thanks to GitHub user vxg20
for the report (#325).
o The .xts() constructor would create an xts object with row names if 'x' had
row names. This shouldn't happen, because xts objects do not have or
support row names (#298).
o Claymore Marshall added many examples of time-of-day subsetting to
?subset.xts. He also fixed a bug in time-of-day subsetting where subsetting
by hour only returned wrong results (#304, #326, #328).
Changed in xts 0.12-0:
o All the index-attributes have been removed from the xts object and are now
only attached to the index itself (#245). We took great care to maintain
backward compatibility, and throw warnings when deprecated functions are
called and when index-attributes are found on the xts object. But there
still may be some breaking changes lurking in edge cases.
o @SamoPP found one edge case (#297) where an error was thrown when index()
was called on an xts object with an index that had no tclass attribute.
o ...which led Joshua to find that the index setting functions did not
always copy index attributes (#305).
o Several binary operations (e.g. +, -, !=, <, etc.) on variations of
uncommon xts objects with other xts, matrix, or vector objects, could
result in malformed xts objects (#295). Some examples of the types of
uncommon xts objects: no dim attribute, zero-width, zero-length.
o Calling as.matrix() on an xts object without a dim attribute no longer
throws an error (#294).
o merge.xts() now honors check.names = FALSE (#293).
o The possible values for major.ticks, minor.ticks, and grid.ticks.on in the
Details section of ?plot.xts have been corrected. Thanks to Harvey Smith
(@harvey131) for the report and patch (#291).
o as.zoo.xts() is now only registered for zoo versions prior to 1.8-5. Methods
to convert an object to another class should reside in the package that
implements the target class. Thanks to Kurt Hornik for the report (#287).
o .parseISO8601() no longer has a potential length-1 logical error. Thanks to
Kurt Hornik for the report (#280).
o endpoints() now honors k > 0 when on = "quarters". Thanks to @alkment for
the report (#279).
o Performance for the period.XYZ() functions (sum, prod, min, max) is much
faster (#278). Thanks to Harvey Smith (@harvey131) for the report and
examples.
o merge.xts() now creates shorter column names when passed unnamed objects.
This is now consistent with zoo (#248).
o Time-of-day performance is ~200x faster, thanks to StackOverflow
user3226167 (#193).
Changes in Version 1.8-9
o Added a basic boxplot(x, ...) method for zoo objects that simply calls
boxplot(coredata(x), ...).
o Bug fix in [.zoo and [<-.zoo where indexing with matrices did not
work correctly anymore in R 4.x.y because "matrix" objects now additionally
inherit from "array" objects. (Reported by Bill Cunliffe.)
o Improved internal functionality in na.spline.default() in the same way
na.approx.default() was enhanced in zoo 1.7-14 and 1.7-13. One difference
is that while na.approx() requires at least two non-NA observations,
na.spline() just needs one non-NA observation (using a constant to
interpolate in that case).
o If the FUN in rollapply() returns a matrix or data.frame with more than
one row per element/time point, then this is flattened now so that the
result is again a matrix with one row per element/time point.
o merge.zoo() now handles the case of all indexes being integer or numeric
by coercing the integer indexes to numeric (reported by Simone Giannerini).
o zooreg(x) now allows to create an integer index if start (and end, if any)
are integer and the implied deltat is not numerically different from an
integer value.
Changes in Version 1.8-8
o diff.zoo(x, arithmetic = FALSE) now also works if x contains negative
data.
o merge.zoo() now handles the combination of Date and numeric indexes
explicitly to work around the new behavior of c.Date() in R >= 4.1.0.
Changes in Version 1.8-7
o Added scale_type() methods for yearmon/yearqtr to facilitate ggplot2
visualizations of zoo series with yearmon/yearqtr time index (suggested
by Brian Diggs). This requires at least ggplot2 3.0.0.
o In merge.zoo() "character" columns are now processed in the same way
as "logical" columns.
o Replaced the "fruitohms" example in the "zoo" vignette because the
corresponding "DAAG" package is not actively maintained on CRAN anymore.
Instead the "Journals" data from the "AER" package is used.
# forcats 0.5.1
* Re-license as MIT (#277).
* `fct_lump_n()` no longer uses a partial argument name (@malcolmbarrett, #276).
# forcats 0.5.0
* `as_factor()` gains a logical method that always returns a factor with
levels "FALSE" and "TRUE" (#185).
* `fct_c()`, `fct_collapse()` and `fct_recode()` are now explicitly
documented as using [dynamic dots](https://rlang.r-lib.org/reference/dyn-dots.html)
(@labouz, #234).
* `fct_collapse()` now accepts a `other_level` argument, to allow a
user-specified `Other` level (@gtm19, #194). It now correctly collapses
factors when `other_level` is not `NULL` (#172), and makes `"Other"` the
last level (#202) (@gtm19, #172 & #202)
* `fct_count()` no longer converts implicit NAs into explicit NAs (#151).
* `fct_inseq()` behaves more robustly when factor levels aren't all numbers
(#221).
* `fct_lump()` has been split up into three new functions: `fct_lump_prop()`,
`fct_lump_n()`, and `fct_lump_lowfreq()`. (@jonocarroll, #167, #142).
All `fct_lump_()` functions check their inputs more carefully
(@robinson_es, #169)
* `fct_reorder2()` gains a helper function `first2()`, that sorts `.y` by the
first value of `.x` (@jtr13).
# version 0.7-1
* allow longer units grouping; #270 addressing #269 @bart1
* fix regression in `set_units` method for `mixed_units` to ensure that
ordering is preserved; #272 addressing #271
# version 0.7-0
* add `load_units_xml` to enable database reloading as well as loading
user-provided unit systems; #254 addressing #243, #244
* add `install_unit` and `remove_unit` for adding/removing custom user-defined
symbols or names, with optional mapping to existing units;
`install_symbolic_unit`, `remove_symbolic_unit`, `install_conversion_constant`,
`install_conversion_offset` are deprecated; #261 addressing #89
* add `keep_units`, a helper to apply functions that do not preserve units;
#255 addressing #252
* fix `as_units("")`, which is now equivalent to `unitless`; #199
* fix plot axes for `plot.formula` and `plot.data.frame`; #213
* fix arithmetic for powers above 1 and below -1; #264
* improve arithmetic of logarithms; #249
* export `ud_are_convertible`; #263 addressing #258 @cregouby
* remove deprecations: `as.units`, `as_cf`, `make_unit`, `parse_unit`; #259
* remove deprecated pre-computed `ud_units` database; #259
# version 0.6-7
* port `isFALSE` to fix regression in old R versions; #230 addressing #229
* fix replacement operation for `units` objects; #233 addressing #232
* fix compatibility with dplyr 1.0; #247 addressing #239
# version 0.6-6
* prettier `str` print for units and mixed units; #228 addressing #227
* add compatibility with upcoming tibble v3.0.0; #225
Without this change, I have following error with 9.99.82 host (amd64) which
has gcc-10. And buildlink for libgfortran was only made for gcc-10 side.
Adding this line makes both gcc-7 and gcc-10 buildlinked.
The error I had was: ( the line folded)
** libs
----------
gcc -shared -Wl,-R/usr/pkg/lib/R/lib -L/usr/pkg/lib/R/lib
-L/usr/pkg/lib -L/usr/lib -Wl,-R/usr/lib -Wl,-R/usr/pkg/lib -pthrea d
-L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib -o classInt.so fish1.o init.o
-L/usr/pkg/gcc7/lib/gcc/x86_64--netbsd/7.5.0 -L/usr/pkg/gcc7/lib
-Wl,-R/usr/pkg/gcc7/x86_64--netbsd/lib/. -Wl,-R/usr/pkg/gcc7/lib/. -lgfortran
-lm -lquadmath -lpthread -Wl,-R/usr/pkg/lib/R/lib -L/usr/pkg/lib/R/lib
-lR
ld: cannot find -lgfortran
ld: cannot find -lquadmath
*** Error code 1
----------
Please correct me if my understanding (or correction) is wrong, sorry and tks
# generics 0.1.0
* Maintainer changed to Hadley Wickham.
* Re-licensed with MIT license.
* New `min_grid()`, `required_pkgs()`, and `tunable()` generics.
# `generics` 0.0.2
* Removed the `data` argument to `augment` to resolve issues with `broom`