R 2.3.1 is released

Peter Dalgaard p.dalgaard at biostat.ku.dk
Thu Jun 1 11:04:12 CEST 2006

I've rolled up R-2.3.1.tar.gz a short while ago. This version contains
several minor fixups and removes a couple of bad bugs. See the full list
of changes below.

You can get it (in a short while) 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. (This will be the last
time we build those.)

        For the R Core Team

        Peter Dalgaard

These are the md5sums for the freshly created files, in case you wish
to check that they are uncorrupted:

c663533d4d6c86f2a192c2b86f5bac12  AUTHORS
eb723b61539feef013de476e68b5c50a  COPYING
a6f89e2100d9b6cdffcea4f398e37343  COPYING.LIB
7eac2a82dfd523caf7e73eb08ab530a4  FAQ
70447ae7f2c35233d3065b004aa4f331  INSTALL
a592ca1b1582f94d3f468dd7ccb38c18  NEWS
88bbd6781faedc788a1cbd434194480c  ONEWS
4f004de59e24a52d0f500063b4603bcb  OONEWS
a1d6d8081af4c71006a6e5a3ed54e4da  R-2.3.1.tar.gz
0ae4891a63b3d7ebf82b1ff70c4f2dcb  R-2.3.1.tar.gz-split.aa
142e3ecbde7d47b85dcad45782ee3b52  R-2.3.1.tar.gz-split.ab
f6fafac0e6c03dd1523d09960e56c7ca  R-2.3.1.tar.gz-split.ac
8a076dd800893b56184819570b8b2863  R-2.3.1.tar.gz-split.ad
5ed399fa2181575ba67c11c81e33dba5  R-2.3.1.tar.gz-split.ae
6074ecc86fad61d679eea80515ab9944  R-2.3.1.tar.gz-split.af
7ba58cf3d6d55044738439518432d846  R-2.3.1.tar.gz-split.ag
e32d05cb40e79b49489ba09cf8fa654c  R-2.3.1.tar.gz-split.ah
8e9f7675844031803a2076a73271b2c1  R-2.3.1.tar.gz-split.ai
12a494e22ddd220c4cefdb60cc532308  R-2.3.1.tar.gz-split.aj
a1d6d8081af4c71006a6e5a3ed54e4da  R-latest.tar.gz
433182754c05c2cf7a04ad0da474a1d0  README
020479f381d5f9038dcb18708997f5da  RESOURCES
4eaf8a3e428694523edc16feb0140206  THANKS

Here is the relevant bit of the NEWS file:



    o	In lm() and glm(), offsets are allowed to be length 1 (and
	if so are replicated to the number of cases).

    o	The \uxxxx notation for Unicode characters in input strings
	can now be used on any platform which supports MBCS, even if
	the current locale is not MBCS (provided that the Unicode
	character is valid in the current character set).

    o	The quasibinomial() family now allows the "cauchit" link. (PR#8851)

    o	edit.data.frame() no longer (silently) coerces character columns
	to factor.


    o	The variables controlling stack checking are made available via
        Rinterface.h to front-ends embedding R: see 'Writing R Extensions'

    o	R_SignalHandlers (defined in Rinterface.h) can be set to 0 to
        suppress the R signal handlers in front-ends embedding R.


    o	There have been a number of changes to help installation on
	platforms that no one had beta-tested.

	- Changes related to older header files, e.g. on Redhat 8.0/9.

	- Problems with 'make install' on older (<3) versions of bash
          on Solaris and elsewhere.

	- AIX 5.2/gcc issues with needing -lm when making modules X11
          and vfonts.

	- Some versions of Solaris and AIX had a fcntl.h that
	  redefined 'open' to be 'open64' and thereby broke
	  compilation of src/main/connections.c and elsewhere.

    o   'make uninstall' works better on a build using a named


    o	min(), max(), sum() and prod() gave nonsensical answers with
	an empty list or raw argument.

    o	sum() on a data frame did not allow multiple arguments.	 (PR#8385)

    o	charmatch() and pmatch() did not specify they applied only to
	character vectors.  Now they do, and attempt to coerce 'x' and
	'target' to character before attempting matching.

    o	The Summary() methods for data.frame, Date, POSIXct, POSIXlt
	and difftime all required an argument which can match 'x',
	although the generics did not.

    o	regexpr() now accepts 0-length 'text' inputs.

    o	help.search() no longer errors out on a wrongly installed package
	(with no "hsearch.rds" file).

    o	The LaTeX version of the package reference manual was omitting
	some topics, and was not sorting the foo-package topic first.

    o	Serializing (e.g. via save()) is better protected against C
	stack overflow, which will now abort the conversion but no
	longer crashes the R process on some platforms.

    o	rbind()ing dataframes with a single row could lead to a
	corrupt data frame (a problem with the fix to PR#8506).

    o	plot(lm(y ~ 1)) now works also for 'which = 5'.

    o	dbeta(0, 1, a, 0) now correctly gives 'a' (limit) instead of 0,
	and dbeta(0, a, b, ncp) now returns Inf instead of NaN.

    o	demo(Hershey) was failing on the Cyrillic octal codes in locales
	(e.g. UTF-8) in which these are invalid.

    o	mean() on an integer (or logical) vector was treating NAs as
	actual values (unless na.rm = TRUE).

    o	mean() on a complex vector was calculated incorrectly in
        code to improve precision (PR#8842, John Peters).

    o	Graphical parameters bg, cex, col, lty, and lwd were being
	checked as being of length one even by functions such as
	title() that ignored them.  (Functions such as lines() and
	points() allow them to be of length > 1, so they might be
	passed through ... to other high-level graphical functions
	which then used to reject them.)

    o	str() now is fast again for large character vectors.

    o	edit() would default the environment of a function to .BaseEnv,
	instead of to .GlobalEnv.

    o	lm() and glm() coerce their 'weights' and 'offset' values to
	vector to avoid problems with specifying them as 1D or n x 1

    o	image() with one or both axes on log scales would give a
	spurious warning; contour() would give an error.

    o	legend() with log axes would place the title in the wrong place.

    o	edit.data.frame() was not returning factors edited with
	factor.mode="numeric" to factors.

    o	edit.matrix() tried to set rownames and colnames from the
	original matrix even if the sizes had been altered, and
	ignored changes made to the column names.  edit.row.names has
	a more sensible default (if the rownames are non-NULL).

    o	bindingIsLocked() was returning invalid values of a logical
	vector on some platforms.

    o	merge.data.frame() did not make the column names unique (by
	appending elements of 'suffixes') when performing a Cartesian
	product.  (PR#8676)

    o	rbind.data.frame() matches up the names of columns (which was
	undocumented), but failed to do so when checking if it was
	dealing with a factor column.  (PR#8868)

	If rbind() was used on data frames with duplicated names it
	produced a corrupt data frame.

    o	dt(x, df, ncp= not.0) now longer gives erratic values for
	|x| < ~1e-12.  (PR#8874)

    o	\code{\linkS4class{.}} now works.

    o	ccf() aligns time series by ts.intersect() rather than
	ts.union() and so is less likely to need a non-default
	na.action.  (PR#8893)

    o	optim(method="CG") could return a value that did not
	correspond to $par for very badly behaved functions on which
	the second phase of the line search failed.  (PR#8786)

    o	print.ts() could fail on a corrupt time series: it now warns and
	does the best it can.

   O__  ---- Peter Dalgaard             Øster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark          Ph:  (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)                  FAX: (+45) 35327907

More information about the R-announce mailing list