R-2.0.1 is released

Peter Dalgaard 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:

6f75951d61cc321f597ea28ad43a9ada  INSTALL
b5519f795224506e7702f74dbbb152b1  NEWS
1a2248b10e3dbf078559705a25b52ca4  ONEWS
fb47b1fdef4323031e24d541a2f36b2b  R-2.0.1.tar.gz
4e334bc539e5a2d8cc3e6b8cca4171be  R-2.0.1.tar.gz-split.aa
bc7cb22034948998a4eeb18006a53094  R-2.0.1.tar.gz-split.ab
b73f587c39599ce47bba00544f2cd100  R-2.0.1.tar.gz-split.ac
bbec006c26c6a236c6b5e98989a2f0a2  R-2.0.1.tar.gz-split.ad
8d04842319525ba6cead4bff1b259263  R-2.0.1.tar.gz-split.ae
e3d1af261c7ea83820597f6fef9e9449  R-2.0.1.tar.gz-split.af
3595c1939484762a6440a957908023ce  R-2.0.1.tar.gz-split.ag
4492e468cc5003e06a2a85c496ff2672  R-2.0.1.tar.gz-split.ah
fb47b1fdef4323031e24d541a2f36b2b  R-latest.tgz
b5509d1e6232e66dee66d9644bf65490  README
7a5a7cfe9419affd9574aba3cf525741  RESOURCES

Here is the relevant bit of the NEWS file:



    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)
	now work


    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.


    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
	formally deprecated.


    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
	in R.)

    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
	or broken'.

    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[0], 1[0])(1) doesn't segfault anymore (PR#7290).
	spline() and splinefun() now also work with missing values by
	omiting them.

    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
	raw vector.

    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[2] <- 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 
        unused levels. 
    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 mailing list