R-2.0.1 is released
p.dalgaard at biostat.ku.dk
Mon Nov 15 16:07:05 CET 2004
I've rolled up R-2.0.1.tgz a short while ago. This is a maintenance
version mainly to fix a number of minor bugs and issues. (Some rather
nasty ones were Windows-specific - please check the CHANGES file for
You can get it from
or wait for it to be mirrored at a CRAN site nearer to you. Binaries
for various platforms will appear in due course.
There is also a version split for floppies.
These are the md5sums for the freshly created files, in case you wish
to check that they are uncorrupted:
Here is the relevant bit of the NEWS file:
CHANGES IN R VERSION 2.0.1
o Platform equivalence in library() is tested by a new function
testPlatformEquivalence() which ignores the 'vendor' field and
can be customized by cognescenti.
o The assignment form of split() allows recycling of vectors
within the value list. In particular, things like
split(x, g) <- lapply(split(x, g), mean)
o Manual `Writing R Extensions' has new sections on writing
portable packages and on writing new front-ends for R -- the
latter will be more comprehensive in R 2.1.0 which has new
public header files.
DEPRECATED & DEFUNCT
o The aqua module in MacOS X is deprecated.
o Capabilities "bzip2", "GNOME, "libz" and "PCRE" are deprecated.
o The GNOME GUI on Unix-alikes is deprecated as part of R;
it will be available in another form as from R 2.1.0.
o The undocumented use of UseMethod() with no argument is now
o Building on Alpha OSF/1 no longer forces the C flag -std1,
which appears to be no longer needed. (PR#7257)
o The compiler flag -mieee-fp is no longer used on i386 Linux
(these days it is only passed to the linker and was only
invoked for compilation steps).
o -D__NO_MATH_INLINES is only used on older ix86 glibc-based
systems which need it (tested at configure time). This leads to
small improvements in speed and accuracy on modern systems.
o If makeinfo >= 4.5 is not available, warnings are given that
some of the HTML manuals will be missing, and the index page
given by help.start() will link to CRAN versions of those manuals.
o Files aclocal.m4 and acinclude.m4 used in maintainer builds
are not longer included in the distribution.
o It was not clear in 'Writing R Extensions' that some of the
entry points in the 'Utilities' section were not declared in
<R.h> (they were in <R_ext/Applic.h>). Now all the entry
points in that section are declared in <R_ext/Utils.h>,
included by <R.h>.
o The grid.grab() function in package grid would throw an error
if there were no viewports pushed (now returns NULL).
o model.frame.default() takes row names from the response
variable if that has suitable names and there is no 'data'
argument. (This follows S but was not previously implemented
o write.table() was not respecting the 'dec' argument for complex
o write.table() printed a mixture of numeric and complex numbers
as all complex. (PR#7260)
o R CMD INSTALL failed with versioned installs on packages which
save images (only).
o dlogis() gave NaN not 0 for large negative arguments.
o Importing from another namespace was broken for versioned
installs, incorrectly reporting something like
"package 'imported_from' does not have a name space".
o The GNOME interface under Linux/Unix was broken. (PR#7276)
o For the jpeg/png devices under Linux/Unix, under certain rare
circumstances clipping needed to be cleared before starting a
new page. (PR#7270, which has been the case since the devices
were introduced in 1.1.0.)
o First lattice plot (first grid.newpage() call) did not start
a new page IF there had been a previous traditional graphics
plot (on the same device).
o Using install.packages() to install the same package to more
than one library gave an incorrect warning message. (If there
were two or more such packages it might give an error.)
o .packages(all.available=TRUE) returned packages with an invalid
version field in their DESCRIPTION whereas .find.packages() and
packageDescription() did not. Now all do not.
o packageDescription() now correctly reports that a package does
not exist, rather than that its DESCRIPTION file is 'missing
o 'make dist' from builddir != sourcedir was copying not linking
recommended packages to *.tgz.
o Slots in prototype objects can inherit from locally defined
classes (which were not being found correctly before).
o Several fixes to the behavior of as() when there are either
coerce= or replace= methods supplied in a call to
setIs(). Related fixes to setIs() to handle correctly previous
methods, if there were any.
o splinefun(1, 1)(1) doesn't segfault anymore (PR#7290).
spline() and splinefun() now also work with missing values by
o ecdf() was failing on inputs containing NAs. (Part of PR#7292)
o tools:::.install_package_description was splitting the Built:
field across lines on platforms with very long names.
o capabilities() was wrong for the Aqua GUI on MacOS X.
o Using Rprof() with a non-writable 'file' argument is now a
non-fatal error and does not abort R.
o binom.test() did not deparse its arguments early enough such
that the reported data were ugly if x was a table.
o Systems based on glibc, including those using R's substitute for
strptime, were handling strptime("2001", "%Y") incorrectly, in
some cases crashing. R's substitute code has been corrected
(but problems may remain if glibc is used). See the ?strptime
for what should happen (which is system-specific).
o untrace() after trace() failed if package 'methods' was attached.
o summary.stepfun() was reporting for n > 6 summaries of the
knots and levels as the actual values. Both print() and
summary() methods called the constant values "step heights",
although they were not the heights of the steps.
o is.na/is.nan() were giving spurious warnings if applied to a
o is.atomic() gave incorrect result (false) for a raw vector.
o rank() and order() accepted raw and list inputs, but did not
give a sensible answer (always 1:n). Similarly, partial sorts
of a raw vector were accepted but did nothing.
o require() without a version argument tried for an unversioned
load of a package even though a versioned install was already
loaded. This often led to a message that a required package
was being loaded when it was not actually being loaded.
o str(<S4.object>) made use of attributes() instead of slot(),
and hence didn't properly print NULL slots.
o contrib.url() now handles URLs ending in '/' correctly.
o str() removed any class from externalptr objects.
o logLik() and hence AIC() failed or gave incorrect answers
on "lm" fits with na.action = na.exclude (and perhaps other
na.actions's except na.omit and na.fail).
o pmax() and pmin() sometimes used NAs in internal subassignments,
and sometimes these failed.
o Subassigning an expression, e.g. expr <- 1, could leave an
invalid object and so cause a segfault. (PR#7326)
o download/install.packages() would misbehave if there was more
than one version of a package in a repository.
o sort(partial=) silently ignored some other arguments: using
'decreasing' or 'index.return' or supplying a factor are now
o The ave() function had trouble if the grouping contained
o read.fwf() got confused by skip > 0 and could infinite loop
under some circumstances. (PR#7350)
o upgrade(x, ask = FALSE) was broken for a "packageStatus" object.
o Class "raw" had been omitted from the list of basic classes in
the "methods" package and so could not be used in S4 classes.
o Function getGroupMembers(), part of the definition of S4
classes, had been promised for release 2.0, but slipped through.
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-announce