Bellow is the announcement made by Peter Dalgaard:

The build system rolled up R-2.15.0.tar.gz (codename “Easter Beagle”) at 9:00 this morning. This is the first release of the 2.15 series and contains several new features and changes; see the list below for details.

You can get the source code from

http://cran.r-project.org/src/base/R-2/R-2.15.0.tar.gz

or wait for it to be mirrored at a CRAN site nearer to you.

Binaries for various platforms will appear in due course.

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:

MD5 (AUTHORS) = cbf6da8f886ccd8d0dda0cc7ffd1b8ec

MD5 (COPYING) = eb723b61539feef013de476e68b5c50a

MD5 (COPYING.LIB) = a6f89e2100d9b6cdffcea4f398e37343

MD5 (FAQ) = c6cf7cff235e9bd3c823e6a1a3d76cd5

MD5 (INSTALL) = 37adac6d0fbadf25b5a40e3f7535415e

MD5 (NEWS) = 31dee994d35636656c9e254bfb819d7c

MD5 (NEWS.html) = 0551e23b675fa9dc709830d1a4ee738c

MD5 (ONEWS) = 0c3e10eef74439786e5fceddd06dac71

MD5 (OONEWS) = b0d650eba25fc5664980528c147a20db

MD5 (R-latest.tar.gz) = 905f638990492618559202cc1e48a867

MD5 (README) = 296871fcf14f49787910c57b92655c76

MD5 (RESOURCES) = a7a02d98a407c3cb8674d067608f14fc

MD5 (THANKS) = 159efc7bd4ae7b23dda07c1d431657bc

MD5 (R-2/R-2.15.0.tar.gz) = 905f638990492618559202cc1e48a867

This is the relevant part of the NEWS file

CHANGES IN R VERSION 2.15.0:

SIGNIFICANT USER-VISIBLE CHANGES:

o The behaviour of unlink(recursive = TRUE) for a symbolic link to

a directory has changed: it now removes the link rather than the

directory contents (just as rm -r does).

On Windows it no longer follows reparse points (including

junctions and symbolic links).

NEW FEATURES:

o Environment variable RD2DVI_INPUTENC has been renamed to

RD2PDF_INPUTENC.

o .Deprecated() becomes a bit more flexible, getting an old

argument.

o Even data-only packages without R code need a namespace and so

may need to be installed under R 2.14.0 or later.

o assignInNamespace() has further restrictions on use apart from at

top-level, as its help page has warned. Expect it to be disabled

from programmatic use in the future.

o system() and system2() when capturing output report a non-zero

status in the new “status” attribute.

o kronecker() now has an S4 generic in package methods on which

packages can set methods. It will be invoked by X %x% Y if

either X or Y is an S4 object.

o pdf() accepts forms like file = “|lpr” in the same way as

postscript().

o pdf() accepts file = NULL. This means that the device does NOT

create a PDF file (but it can still be queried, e.g., for font

metric info).

o format() (and hence print()) on “bibentry” objects now uses

options(“width”) to set the output width.

o legend() gains a text.font argument. (Suggested by Tim Paine,

PR#14719.)

o nchar() and nzchar() no longer accept factors (as integer

vectors). (Wish of PR#6899.)

o summary() behaves slightly differently (or more precisely, its

print() method does). For numeric inputs, the number of NAs is

printed as an integer and not a real. For dates and datetimes,

the number of NAs is included in the printed output (the latter

being the wish of PR#14720).

The “data.frame” method is more consistent with the default

method: in particular it now applies zapsmall() to

numeric/complex summaries.

o The number of items retained with options(warn = 0) can be set by

options(nwarnings=).

o There is a new function assignInMyNamespace() which uses the

namespace of the function it is called from.

o attach() allows the default name for an attached file to be

overridden.

o bxp(), the work horse of boxplot(), now uses a more sensible

default xlim in the case where at is specified differently from

1:n, see the discussion on R-devel, .

o New function paste0(), an efficient version of paste(*, sep=””),

to be used in many places for more concise (and slightly more

efficient) code.

o Function setClass() in package methods now returns, invisibly, a

generator function for the new class, slightly preferred to

calling new(), as explained on the setClass help page.

o The “dendrogram” method of str() now takes its default for

last.str from option str.dendrogram.last.

o New simple fitted() method for “kmeans” objects.

o The traceback() function can now be called with an integer

argument, to display a current stack trace. (Wish of PR#14770.)

o setGeneric() calls can be simplified when creating a new generic

function by supplying the default method as the def argument.

See ?setGeneric.

o serialize() has a new option xdr = FALSE which will use the

native byte-order for binary serializations. In scenarios where

only little-endian machines are involved (these days, close to

universal) and (un)serialization takes an appreciable amount of

time this may speed up noticeably transferring data between

systems.

o The internal (un)serialization code is faster for long vectors,

particularly with XDR on some platforms. (Based on a suggested

patch by Michael Spiegel.)

o For consistency, circles with zero radius are omitted by points()

and grid.circle(). Previously this was device-dependent, but

they were usually invisible.

o NROW(x) and NCOL(x) now work whenever dim(x) looks appropriate,

e.g., also for more generalized matrices.

o PCRE has been updated to version 8.30.

o The internal R_Srcref variable is now updated before the browser

stops on entering a function. (Suggestion of PR#14818.)

o There are ‘bare-bones’ functions .colSums(), .rowSums(),

.colMeans() and .rowMeans() for use in programming where ultimate

speed is required.

o The formerly internal function .package_dependencies() from

package tools for calculating (recursive) (reverse) dependencies

on package databases has been renamed to package_dependencies()

and is now exported.

o There is a new function optimHess() to compute the (approximate)

Hessian for an optim() solution if hessian = TRUE was forgotten.

o .filled.contour() is a ‘bare-bones’ function to add a

filled-contour rectangular plot to an already prepared plot

region.

o The stepping in debugging and single-step browsing modes has

changed slightly: now left braces at the start of the body are

stepped over for if statements as well as for for and while

statements. (Wish of PR#14814.)

o library() no longer warns about a conflict with a function from

package:base if the function has the same code as the base one

but with a different environment. (An example is Matrix::det().)

o When deparsing very large language objects, as.character() now

inserts newlines after each line of approximately 500 bytes,

rather than truncating to the first line.

o New function rWishart() generates Wishart-distributed random

matrices.

o Packages may now specify actions to be taken when the package is

loaded (setLoadActions()).

o options(max.print = Inf) and similar now give an error (instead

of warnings later).

o The “difftime” replacement method of units tries harder to

preserve other attributes of the argument. (Wish of PR#14839.)

o poly(raw = TRUE) no longer requires more unique points than the

degree. (Requested by John Fox.)

PACKAGE parallel:

o There is a new function mcmapply(), a parallel version of

mapply(), and a wrapper mcMap(), a parallel version of Map().

o A default cluster can be registered by the new function

setDefaultCluster(): this will be used by default in functions

such as parLapply().

o clusterMap() has a new argument .scheduling to allow the use of

load-balancing.

o There are new load-balancing functions parLapplyLB() and

parSapplyLB().

o makePSOCKCluster() has a new option useXDR = FALSE which can be

used to avoid byte-shuffling for serialization when all the nodes

are known to be little-endian (or all big-endian).

PACKAGE INSTALLATION:

o Non-ASCII vignettes without a declared encoding are no longer

accepted.

o C/C++ code in packages is now compiled with -NDEBUG to mitigate

against the C/C++ function assert being called in production use.

Developers can turn this off during package development with

PKG_CPPFLAGS = -UNDEBUG.

o R CMD INSTALL has a new option –dsym which on Mac OS X (Darwin)

dumps the symbols alongside the .so file: this is helpful when

debugging with valgrind (and especially when installing packages

into R.framework). [This can also be enabled by setting the

undocumented environment variable PKG_MAKE_DSYM, since R 2.12.0.]

o R CMD INSTALL will test loading under all installed

sub-architectures even for packages without compiled code, unless

the flag –no-multiarch is used. (Pure R packages can do things

which are architecture-dependent: in the case which prompted

this, looking for an icon in a Windows R executable.)

o There is a new option install.packages(type = “both”) which tries

source packages if binary packages are not available, on those

platforms where the latter is the default.

o The meaning of install.packages(dependencies = TRUE) has changed:

it now means to install the essential dependencies of the named

packages plus the Suggests, but only the essential dependencies

of dependencies. To get the previous behaviour, specify

dependencies as a character vector.

o R CMD INSTALL –merge-multiarch is now supported on OS X and

other Unix-alikes using multiple sub-architectures.

o R CMD INSTALL –libs-only now by default does a test load on

Unix-alikes as well as on Windows: suppress with –no-test-load.

UTILITIES:

o R CMD check now gives a warning rather than a note if it finds

inefficiently compressed datasets. With bzip2 and xz compression

having been available since R 2.10.0, it only exceptionally makes

sense to not use them.

The environment variable _R_CHECK_COMPACT_DATA2_ is no longer

consulted: the check is always done if _R_CHECK_COMPACT_DATA_ has

a true value (its default).

o Where multiple sub-architectures are to be tested, R CMD check

now runs the examples and tests for all the sub-architectures

even if one fails.

o R CMD check can optionally report timings on various parts of the

check: this is controlled by environment variable

_R_CHECK_TIMINGS_ documented in ‘Writing R Extensions’. Timings

(in the style of R CMD BATCH) are given at the foot of the output

files from running each test and the R code in each vignette.

o There are new options for more rigorous testing by R CMD check

selected by environment variables – see the ‘Writing R

Extensions’ manual.

o R CMD check now warns (rather than notes) on undeclared use of

other packages in examples and tests: increasingly people are

using the metadata in the DESCRIPTION file to compute information

about packages, for example reverse dependencies.

o The defaults for some of the options in R CMD check (described in

the ‘R Internals’ manual) have changed: checks for unsafe and

.Internal() calls and for partial matching of arguments in R

function calls are now done by default.

o R CMD check has more comprehensive facilities for checking

compiled code and so gives fewer reports on entry points linked

into .so/.dll files from libraries (including C++ and Fortran

runtimes).

Checking compiled code is now done on FreeBSD (as well as the

existing supported platforms of Linux, Mac OS X, Solaris and

Windows).

o R CMD build has more options for –compact-vignettes: see R CMD

build –help.

o R CMD build has a new option –md5 to add an MD5 file (as done by

CRAN): this is used by R CMD INSTALL to check the integrity of

the distribution.

If this option is not specified, any existing (and probably

stale) MD5 file is removed.

DEPRECATED AND DEFUNCT:

o R CMD Rd2dvi is now defunct: use R CMD Rd2pdf.

o Options such –max-nsize, –max-vsize and the function

mem.limits() are now defunct. (Options –min-nsize and

–min-vsize remain available.)

o Use of library.dynam() without specifying all the first three

arguments is now disallowed.

Use of an argument chname in library.dynam() including the

extension .so or .dll (which was never allowed according to the

help page) is defunct. This also applies to

library.dynam.unload() and to useDynLib directives in NAMESPACE

files.

o The internal functions .readRDS() and .saveRDS() are now defunct.

o The off-line help() types “postscript” and “ps” are defunct.

o Sys.putenv(), replaced and deprecated in R 2.5.0, is finally

removed.

o Some functions/objects which have been defunct for five or more

years have been removed completely. These include .Alias(),

La.chol(), La.chol2inv(), La.eigen(), Machine(), Platform(),

Version, codes(), delay(), format.char(), getenv(), httpclient(),

loadURL(), machine(), parse.dcf(), printNoClass(), provide(),

read.table.url(), restart(), scan.url(), symbol.C(), symbol.For()

and unix().

o The ENCODING argument to .C() is deprecated. It was intended to

smooth the transition to multi-byte character strings, but can be

replaced by the use of iconv() in the rare cases where it is

still needed.

INSTALLATION:

o Building with a positive value of –with-valgrind-instrumentation

now also instruments logical, complex and raw vectors.

o There is experimental support for _link-time optimization_ with

gcc 4.5.0 or later on platforms which support it.

C-LEVEL FACILITIES:

o Passing R objects other than atomic vectors, functions, lists and

environments to .C() is now deprecated and will give a warning.

Most cases (especially NULL) are actually coding errors. NULL

will be disallowed in future.

.C() now passes a pairlist as a SEXP to the compiled code. This

is as was documented, but pairlists were in reality handled

differently as a legacy from the early days of R.

o call_R and call_S are deprecated. They still exist in the

headers and as entry points, but are no longer documented and

should not be used for new code.

BUG FIXES:

o str(x, width) now obeys its width argument also for function

headers and other objects x where deparse() is applied.

o The convention for x %/% 0L for integer-mode x has been changed

from 0L to NA_integer_. (PR#14754)

o The exportMethods directive in a NAMESPACE file now exports S4

generics as necessary, as the extensions manual said it does.

The manual has also been updated to be a little more informative

on this point.

It is now required that there is an S4 generic (imported or

created in the package) when methods are to be exported.

o Reference methods cannot safely use non-exported entries in the

namespace. We now do not do so, and warn in the documentation.

o The namespace import code was warning when identical S4 generic

functions were imported more than once, but should not (reported

by Brian Ripley, then Martin Morgan).

o merge() is no longer allowed (in some ways) to create a data

frame with duplicate column names (which confused PR#14786).

o Fixes for rendering raster images on X11 and Windows devices when

the x-axis or y-axis scale is reversed.

o getAnywhere() found S3 methods as seen from the utils namespace

and not from the environment from which it was called.

o selectMethod(f, sig) would not return inherited group methods

when caching was off (as it is by default).

o dev.copy2pdf(out.type = “cairo”) gave an error. (PR#14827)

o Virtual classes (e.g., class unions) had a NULL prototype even if

that was not a legal subclass. See ?setClassUnion.

o The C prototypes for zdotc and zdotu in R_ext/BLAS.h have been

changed to the more modern style rather than that used by f2c.

(Patch by Berwin Turlach.)

o isGeneric() produced an error for primitives that can not have

methods.

o .C() or .Fortran() had a lack-of-protection error if the

registration information resulted in an argument being coerced to

another type.

o boxplot(x=x, at=at) with non finite elements in x and non integer

at could not generate a warning but failed.

o heatmap(x, symm=TRUE, RowSideColors=*) no longer draws the colors

in reversed order.

o predict( ) was incorrect in the multivariate case, for p >= 2.

o print(x, max=m) is now consistent when x is a “Date”; also the

“reached … max.print ..” messages are now consistently using

single brackets.

o Closed the