CHANGES IN R VERSION 2.14.2:
NEW FEATURES:
o The internal untar() (as used by default by R CMD INSTALL) now
knows about some pax headers which bsdtar (e.g., the default tar
for Mac OS >= 10.6) can incorrectly include in tar files, and
will skip them with a warning.
o Function compactPDF() in package tools now takes the default for
argument gs_quality from environment variable GS_QUALITY: there
is a new value "none", the ultimate default, which prevents
GhostScript being used in preference to qpdf just because
environment variable R_GSCMD is set. If R_GSCMD is unset or set
to "", the function will try to find a suitable GhostScript
executable.
o For consistency with the logLik() method, nobs() for "nls" files
now excludes observations with zero weight. (Reported by Berwin
Turlach.)
UTILITIES:
o R CMD check now reports by default on licenses not according to
the description in 'Writing R Extensions'.
o R CMD check has a new option --as-cran to turn on most of the
customizations that CRAN uses for its incoming checks.
PACKAGE INSTALLATION:
o R CMD INSTALL will now no longer install certain file types from
inst/doc: these are almost certainly mistakes and for some
packages are wasting a lot of space.
+ BUG FIXES
CHANGES IN R VERSION 2.14.1:
NEW FEATURES:
o parallel::detectCores() is now able to find the number of
physical cores (rather than CPUs) on Sparc Solaris.
It can also do so on most versions of Windows; however the
default remains detectCores(logical = TRUE) on that platform.
o Reference classes now keep a record of which fields are locked.
$lock() with no arguments returns the names of the locked fields.
o HoltWinters() reports a warning rather than an error for some
optimization failures (where the answer might be a reasonable
one).
o tools::dependsOnPkg() now accepts the shorthand dependencies =
"all".
o parallel::clusterExport() now allows specification of an
environment from which to export.
o The quartz() device now does tilde expansion on its file
argument.
o Option print in Sweave's RweaveLatex() driver now emulates
auto-printing rather than printing (which can differ for an S4
object by calling show() rather than print()).
o filled.contour() now accepts infinite values: previously it might
have generated invalid graphics files (e.g. containing NaN
values).
+ BUG FIXES
* Packages must have been installed under R >= 2.10.0, as the
current help system is the only one now supported.
* A port to 64-bit Windows is now available as well as binary package
repositiories: see the 'R Administration and Installation Manual'.
* Argument matching for primitive functions is now done in the same way
as for interpreted functions except for the deliberate exceptions
call switch .C .Fortran .Call .External
all of which use positional matching for their first argument,
and also some internal-use-only primitives.
* The default device for command-line R at the console on Mac OS X
is now quartz() and not X11().
New features
* The 'open' modes for connections are now interpreted more consistently.
* R CMD INSTALL now uses the internal untar() in package utils.
* help(try.all.packages = TRUE) is much faster.
* R CMD check has a new option '--timings' to record per-example timings
in file <pkg>.Rcheck/<pkg>-Ex.timings.
* The TRE library has been updated to version 0.8.0 (minor bugfixes).
More...
* Package help is now converted from Rd by the R-based converters
that were first introduced in 2.9.0.
* HTML help is now generated dynamically using an HTTP server
running in the R process and listening on the loopback interface.
* polygon(), pdf() and postscript() now have a parameter
'fillOddEven' (default FALSE), which controls the mode used for
polygon fills of self-intersecting shapes.
* New debugonce() function; further,
getOption("deparse.max.lines") is now observed when debugging.
* plot() methods for "stepfun" and hence "ecdf" no longer plot
points by default for n >= 1000.
* [g]sub(*, perl=TRUE) now also supports '\E' in order to *end*
\U and \L case changes, thanks to a patch from Bill Dunlap.
* factor(), `levels<-`(), etc, now ensure that the resulting factor
levels are unique (as was always the implied intention). Factors
with duplicated levels are still constructible by low-level means,
but are now declared illegal.
* New print() (S3) method for class "function", also used for
auto-printing. Further, .Primitive functions now print and
auto-print identically.
* The print() and toLatex() methods for class "sessionInfo" now
show the locale in a nicer format and have arguments to
suppress locale information.
* In addition to previously only round(), there are other 'Math'
group (S3) methods for 'difftime', such as floor(), signif(), abs(), etc.
* For completeness, old.packages() and available.packages() allow
'type' to be specified (you could always specify 'available'
or 'contriburl').
* More...
SIGNIFICANT USER-VISIBLE CHANGES
o The default graphics device in non-interactive use is now
pdf() rather than postscript(). [PDF viewers are now
more widely available than PostScript viewers.]
The default width and height for pdf() and bitmap() have been
changed to 7 (inches) to match the screen devices.
o Most users of the X11() device will see a new device that has
different fonts, anti-aliasing of lines and fonts and
supports semi-transparent colours.
o Considerable efforts have been made to make the default output
from graphics devices as similar as possible (and in
particular close to that from postscript/pdf). Many devices
were misinterpreting 'pointsize' in some way, for example as
being in device units (pixels) rather than in points.
o Packages which include graphics devices need to be re-installed
for this version of R, with recently updated versions.
+ New features and bug fixes.
Changes are basically bugfixes.
pkgsrc changes:
Don't bother patching configure.ac - it was only part of the changes
being made to configure so don't pretend you could use it to regerate
configure.
Use -fPIC rather than -fpic for NetBSD powerpc. Should fix PR 38032.
patch-ac that altered the order in which the terminal library for
readline was detected. The termcap.buildlink3.mk file (included
indirectly by readline/buildlink3.mk) will do the right thing by
itself.
+ Modify the pkg-index.tmpl INSTALL script fragment: we can just use
${PKG_PREFIX} instead of substituting for @PREFIX@ everywhere. Also
refactor the commands to rebuild the package index into a shell
function and give some indication to the user what is happening.
+ Remove chown operation in post-install that was basically
cargo-culted from the very first version of R imported into pkgsrc.
It's not necessary.
+ Support user-destdir installation.
Bump the PKGREVISION to 2.
pkgsrc changes: no longer automatically generate the PLIST.
use (de)install templates for handling updating the index files
when adding/removing R packages.
Changes 2.4.1
This is a maintenance release and fixes a number of mostly minor bugs.
Changes 2.4.0
This release has many new features. One important aspect is that S4
classes now have their own internal type, and S4 method dispatch has
been completely revised to using cached generic functions, giving
substantial performance improvements. As a consequence, all packages
depending on "methods" need to be reinstalled.
This version contains several minor fixups and removes a couple of bad
bugs such as NA-handling of mean() for integer vectors.
Changes 2.3.0
This version contains several changes and additions, mostly incremental.
USER-VISIBLE CHANGES
o options("expressions") has been reduced to 1000: the limit
of 5000 introduced in 2.1.0 was liable to give crashes from C
stack overflow.
NEW FEATURES
o Use of 'pch' (e.g. in points) in the symbol font 5 is now
interpreted in the single-byte encoding used by that font.
Similarly, strwidth now recognizes that font 5 has a different
encoding from that of the locale. (These are likely to affect
the answer only in MBCS locales such as UTF-8.)
o The URW font metrics have been updated to versions from late
2002 which cover more glyphs, including Cyrillic.
o New postscript encodings for CP1250 (Windows East European),
ISO Latin-7 (8859-13, Latvian, Lithuanian and Maori), Cyrillic
(8859-5), KOI8-R, KOI8-U and CP1251.
o configure has more support for the Intel and Portland Group
compilers on ix86 and x86_64 Linux.
o R CMD INSTALL will clean up if interrupted (e.g. by ctrl-C from
the keyboard).
o There is now a comprehensive French translation of the messages,
thanks to Philippe Grosjean.
DEPRECATED & DEFUNCT
o The undocumented use of atan() with two arguments is deprecated:
instead use atan2() (as documented).
o The 'vfont' argument of axis() and mtext() is deprecated
(it currently warns and does nothing).
o The function mauchley.test() is deprecated (was a misspelling)
and replaced by mauchly.test()
Many BUG FIXES
- this uses libtool, tell the framework so
- don't declare alloca on DragonFly, it conflicts with system headers
- patch libtool.m4 fragment for DrgaonFly
Changes 2.0.1:
This is a maintenance version mainly to fix a number of minor bugs and
issues. Some rather nasty bugs were Windows-specific.
Changes 2.0.0:
Many things have changed since 1.0. The R language has acquired namespaces,
exception handling constructs, formal methods and classes, much improved
garbage collection, generalized I/O via connection objects, and
considerable improvements in the graphics area. The user workspace has been
reorganized, and so has the set of packages that ship with R. Several
"recommended packages" deemed indispensable in a statistical system are
bundled. In addition, there has been a large number of more specific new
functions, tweaks, and bugfixes.
building even though it uses INSTALL_DATA on them so set SHAREMODE=644
rather than have to patch an ever increasing number of files.
Idea from Julio M. Merino Vidal.
USER-VISIBLE CHANGES
o Underscore '_' is now allowed in syntactically valid names, and
make.names() no longer changes underscores. Very old code
that makes use of underscore for assignment may now give
confusing error messages.
o Package 'base' has been split into packages 'base', 'graphics',
'stats' and 'utils'. All four are loaded in a default
installation, but the separation allows a 'lean and mean'
version of R to be used for tasks such as building indices.
Packages ctest, eda, modreg, mva, nls, stepfun and ts have been
merged into stats, and lqs has been returned to MASS. In all
cases a stub has been left that will issue a warning and ensure
that the appropriate new home is loaded. All the time series
datasets have been moved to package stats. Sweave has been
moved to utils.
Package mle has been moved to stats4 which will become the
central place for statistical S4 classes and methods
distributed with base R. Package mle remains as a stub.
Users may notice that code in .Rprofile is run with only the
new base loaded and so functions may now not be found. For
example, ps.options(horizontal = TRUE) should be preceded by
library(graphics) or called as graphics::ps.options or,
better, set as a hook -- see ?setHook.
o There has been a concerted effort to speed up the startup of
an R session: it now takes about 2/3rds of the time of 1.8.1.
o A warning is issued at startup in a UTF-8 locale, as currently R
only supports single-byte encodings.
plus many new features and bug fixes.
explicitly unset NeedFunctionPrototypes, which can no longer safely be done in recent
X11 sources (as _Xconst is only defined if this is set, yet is used everywhere).
Changes since 1.6.2
Many new features.
Language changes.
Additional standard package 'mle'.
Some old features deprecated or defunct.
Many many bug fixes.
Update to 1.8.0 from Ray Brownrigg in private communication, cleaned up
and updated to 1.8.1 by me.
CHANGES IN R VERSION 1.6.2
BUG FIXES
o plot.stepfun() now obeys a `ylim=.' specification.
o removeClass() does a better job of removing inheritance
information.
o setIs() will not allow mismatched representations between two
classes (without an explicit coerce method).
o The code underlying polygon drawing contained a memory leak.
This showed up in persp, but did not affect other graphics
functions. It is now possible to draw big DEMs.
o logLik.nls() gave wrong df.
o rbind() with a mixture of data frames and matrices treated the
matrices as vectors.
o stripchart(method="stack") was not handling missing values.
o Arithmetic functions such as log() lost the object bit from
classed objects if coercion was needed.
o exp_rand would go into an infinite loop if unif_rand returned 0.
o formatC(x, format="fg") could return exponential format if
rounding pushed x over a positive power of 10.
o attr(x, foo) used partial matching for `foo' (even though not
documented to do so), and failed to find `foo' if there were
two or more partial matches before the exact match in the list
of attributes.
o Rdconv now creates direct HTML hyperlinks when linking to
documentation in the same package. The code now ensures that
links which can be resolved within the package are so resolved,
even when there are possible resolutions in other packages.
o If readBin(what=character()) is used incorrectly on a file which
does not contain C-style character strings, warnings (usually
many) are now given.
o Building libR.so with the zlib in the R sources was not
finding the local zlib headers.
o system(intern=TRUE) has an undocumented line length limit of
119 chars both on Unix and Windows. The limit is now 8096 and
documented. On Unix (only) every 120th character used to be
discarded.
o plot.POSIX[cl]t were not passing graphics parameters on to
axis.POSIXct.
o On some HP-UX systems, installed scripts were not executable
when using the BSD-compatible install system program found by
configure. We now always use install-sh on HP-UX.
o c() was converting NA names to "NA": now proper NA strings are
used wherever possible.
o A typo was causing segfaults when using data.entry under SuSE.
Pkgsrc changes:
Now builds the libR.so and provides a buildlink2.mk for packages that want
to use it. From suggestions from Kent Polk.
Recommended library set is now included in the base package.
Changes:
CHANGES IN R VERSION 1.6.1
NEW FEATURES
o Added a few "trivial and obviously missing" functions to tcltk:
tkchooseDirectory, tkpopup, tkdialog, tkread
o barplot() has a new argument `axis.lty', which if set to 1
allows the pre-1.6.0 behaviour of plotting the axis and tick
marks for the categorical axis. (This was apparently not
intentional, but axis() used to ignore lty=0.)
The argument `border' is no longer ".NotYetUsed".
CHANGES IN R VERSION 1.6.0
USER-VISIBLE CHANGES
o The default colour palette now has "grey" instead of "white"
in location 8. See palette().
o grid(nx) behaves differently (but the same as in R versions <= 0.64).
NEW FEATURES
o Preparations for name space support:
o The objects created in the methods package to represent
classes, generic functions, method definitions, and
inheritance relations now themselves belong to true classes. In
particular, the "classRepresentation" objects follow the description
in "Programming with Data" (section 7.6).
o Other additions and changes to the methods package:
o New methods ([[, print, str) and extended plot() method
(incl. logical `horiz') for "dendrogram" class.
o sprintf() now checks the agreement between formats and object
types, and handles special values (NA, Inf, ...) correctly.
o chol() now uses a tolerance for non-positive-definiteness and
so should give more consistent results across platforms.
o New function agrep() for approximate (fuzzy) string matching.
o help.search() can now use both approximate (fuzzy) and regular
expression matching. By default, if the pattern to be matched
consists of only alphanumeric characters, whitespace or a dash,
approximate matching is used.
o axis() has three new optional arguments `col', `lty', and `lwd'
all for drawing the axis line and tick marks.
o Function vcov() (formerly in MASS), a generic function to
return the variance-covariance matrix of the parameter
estimates of a fitted model.
o duplicated() and unique() have methods for matrices and arrays
(based on ideas from Jens Oehlschl<E4>gel).
o Internally memory sizes and counts of cons cells are now stored
in unsigned longs. This allows memory limits to be set and
objects created in the range 2-4Gb on 32-bit platforms, and
allows 64-bit platforms to use much larger amounts of memory.
o Command-line flags to set memory can now use the suffix `G'
for gigabytes. The setting of maximum vsize is now only
limited by the platform's address space.
o All warning and error messages are truncated to a length set
by options(warning.length=), defaulting to 1000. (Previously
most (but not quite all) were truncated at 8192 characters.)
o [dpqr]gamma() check for shape parameter > 0.
o as.POSIX[cl]t can now convert logical NAs.
o All installed packages (even those shipped with R) are
given a `Built' field in the DESCRIPTION file.
o as.data.frame() now coerces logical matrices into logical
columns (rather than factors).
o [[<-.data.frame no longer coerces character replacement values
to factor. This is consistent with using $ to replace and
with S4.
o library() attempts to detect improperly installed packages, so
as from this version an installed package must have a
DESCRIPTION file and that file must have been stamped with a
`Built:' line (which was introduced in 1.2.0). Under
Unix-alikes, the platform is checked against that used for
installation.
o print.factor() has new arguments `max.levels' (with a smart default)
and `width'. print.ordered() is no longer needed.
o RNGkind() has an additional option for normal random generators:
"Inversion".
o data.frame() recycles factors and "AsIs" objects as well as
atomic vectors.
o rect() accepts additional graphics parameters through a ...
argument (in the same way as polygon).
o strwidth/strheight() now coerce their first argument in exactly
the same way text() does, so a wider range of inputs is allowed.
o prompt()'s default and data.frame methods have a new 3rd argument
`name' allowing them to used more easily in scripts and loops.
o rgb() has a new `maxColorValue' argument, allowing r,g,b in [0,M],
particularly in {0:255}, efficiently and non-error-prone.
o summaryRprof() provides the functionality of R CMD Rprof in R
code, though more slowly.
o pdf() now uses PDF not R code for clipping, which ensures that
partially visible text strings are (partially) shown.
o Each R session uses a per-session temporary directory which
is removed at normal termination. The directory name is given
by the tempdir() function, and filenames returned by
tempfile() will be within that directory.
o help.start() on Unix now uses a .R subdirectory of the
per-session temporary directory and not ~/.R. A side effect
is that ~/.R is now never deleted by R.
o cbind/rbind() used to ignore all zero-length vectors, an
undocumented quirk for S-compatibility. This caused problems
when combining zero-extent matrices and zero-length vectors, and
now zero-length vectors are ignored unless the result would
have zero rows/columns.
o plot.spec(x) now also works for other x than AR and Pgram results.
o New functions La.chol() and La.chol2inv() for Cholesky
decomposition and inverse of positive definite matrices using
Lapack.
o Changes to the tcltk package
o New function axTicks() returning tick mark locations like axis().
o grid() has a more sensible default behavior. Tick axis alignment
only happens when no numbers of grid cells are specified. New
arguments lwd and equilogs; nx/ny = NA for not drawing, see ?grid.
o installed.packages() has a new argument `priority'.
o termplot() uses factor levels rather than 1,2,3... for x-axis.
o The trace() function has been robustified and a new function
tracingState() added to turn tracing temporarily on and off.
o New cophenetic() in "mva" as utility for hierarchical clustering.
o p.adjust() has two new methods, 'Hommel' and 'FDR', contributed
by Gordon Smyth <smyth@wehi.edu.au>.
o stars() now has add and plot arguments.
and lots of bug fixes.
User-Visible Changes
o XDR support is now guaranteed to be available, so the default
save format will always be XDR binary files, and it is safe to
distribute data in that format. (We are unaware of any
platform that did not support XDR in recent versions of R.)
gzfile() is guaranteed to be available, so the preferred
method to distribute sizeable data objects is now via
save(compress = TRUE).
o pie() replaces piechart() and defaults to using pastel colours.
o formatC has new arguments (see below) and formatC(*, d = <dig>)
is no longer valid and must be written as formatC(*, digits = <dig>).
o Missingness of character strings is treated much more
consistently, and the character string "NA" can be used as a
non-missing value.
o summary.factor() now uses a stable sort, so the output will
change where there are ties in the frequencies.
Plus lots of new features and many bug fixes.
version in pkgsrc. There are many, many bugfixes, better compliance with
S3/S4, and many additional statistical analysis functions added to the
base library. There is also an improved (faster) garbage collector and
support for dynamically sizing the memory used by R. The full summary of
changes may be found on the R Project website.
particularly fixing the table editor, but also contains a few additions:
o data(), example() and help() now search the loaded packages, then
in their .lib.loc argument, the latter as pre-0.99.0. See
their help pages for the precise details.
o help() has a new argument `try.all.packages' set by the option
"help.try.all.packages". If help is not found in the normal
path and this is TRUE then a search is made of all packages
for possible matches.
o prop.trend.test() - test for trend in proportions.
o write.table() has new argument `dec' for setting the decimal
separator (SPSS/Windows and probably others want commas in
continental European locales).
o Advance warning: save(, oldstyle=TRUE) will no longer be
available after this release.
o Symbols can now be coerced to expressions, making
as.expression(quote(a)) work
since it contains loadable shared object files that are platform-specific.
Lots of bug-fixes and additions ... it's getting closer to a usable
replacement for S-PLUS.
NEW FEATURES
o new target for R installation testing : make strict-tests.
o symnum(x) now nicely codes logical x.
o convolve() has a new type = c("circular", "open", "filter")
argument allowing more than the only circular convolution.
o par(xpd) now has three settings: FALSE (clip to plot region),
TRUE (clip to figure region), or NA (clip to device region).
o zapsmall(x) works for complex x.
o new global variable R.version.string (for plots & reports).
Deprecated version & Version for new R.version & R.Version.
o R CMD Rd2dvi has builtin "Usage" help and works for multiple files.
Useful for automatic reference manual of a package.
(doc/manual/lib2tex is more efficient for installed packages, however).
BUG FIXES
o power() is now fully implemented and documented.
o A couple of problems with group generic operations.
o A bug which meant that it was not possible to add elements
to zero length lists in the obvious way has been fixed.
x <- list(); x[[1]] <- 10
x <- list(); x[["a"]] <- 11
both now work.
o save.image() ignored dot-names. (esp. .First())
o lab= argument to plot() misinterpreted by axis() via ... passing
o NULL labels in text() caused segfault
o matrix(f,...) with f a factor now coerces to character
o documentation errors for substitute and is.vector, minor fixups for
trig and nlm
o Background colours are set properly on X11 devices with
colortype="pseudo": sometimes they were not allocated separately.
o C() works (again?) for a single argument.
o is.na() didn't work properly for "list" arguments.
o symnum() sometimes failed with arrays of rank >= 3.
o in some cases one could get nonblack color instead of
black on 2nd x11() window.
o influence.measures(.) $ is.influential was wrong on the
cooks.distance.
o printing of complex NaN/Inf was wrong as well.
o printing of complex named vectors had a wrong initial space.
o allow trailing space in character->numeric coercion
o library() gave wrong "masked" warnings in some cases.
o par(xpd) semantics were not compatible with S.
o rect() output was not clipped in PostScript.
o par(pin=c(width, height)) was behaving as par(pin=c(width, width)).
o Non-blank separated data files didn't have their 1st field
handled properly.
o "aux" directory moved to "tools" to avoid difficulties on
Windows.
o structure() clobbered factors with missing levels.
o pmatch() misbehaved on duplicate matches.
o R CMD Rd2dvi <file.Rd> works again.
o logical binops tried to set time series parameters before dimensions.
o upped the BUFSIZE in model.c (NOT proper long-term solution).
o dput(), dump() and deparse() now always use DBL_DIG (=15) digits
for numeric formatting.
o chull() now works for vertical borders, such as in chull(c(1,1,2),3:1).