[R] R 2.12.2 is released

Peter Dalgaard pd.mes at cbs.dk
Fri Feb 25 13:49:42 CET 2011

I've rolled up R-2.12.2.tar.gz a short while ago. This is an update release, which fixes a number of mostly minor issues, and one major issue in which complex arithmetic was being messed up on some compiler platform.

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.

    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) = ac9746b4845ae866661f51cfc99262f5
MD5 (COPYING) = eb723b61539feef013de476e68b5c50a
MD5 (COPYING.LIB) = a6f89e2100d9b6cdffcea4f398e37343
MD5 (FAQ) = 72deeabefdf6fd14e83bf5703dce9176
MD5 (INSTALL) = 70447ae7f2c35233d3065b004aa4f331
MD5 (NEWS) = 30b55e4f34c155fcb2fafa7ebb55528e
MD5 (ONEWS) = 0c3e10eef74439786e5fceddd06dac71
MD5 (OONEWS) = b0d650eba25fc5664980528c147a20db
MD5 (R-latest.tar.gz) = bc70b51dddab8aa39066710624e55d5e
MD5 (README) = 296871fcf14f49787910c57b92655c76
MD5 (RESOURCES) = 020479f381d5f9038dcb18708997f5da
MD5 (THANKS) = f2ccf22f3e20ebaa86f8ee5cc6b0f655
MD5 (R-2/R-2.12.2.tar.gz) = bc70b51dddab8aa39066710624e55d5e

This is the relevant part of the NEWS file:

R News



    • Complex arithmetic (notably z^n for complex z and integer n) gave
      incorrect results since R 2.10.0 on platforms without C99 complex
      support.  This and some lesser issues in trignometric functions
      have been corrected.

      Such platforms were rare (we know of Cygwin and FreeBSD).
      However, because of new compiler optimizations in the way complex
      arguments are handled, the same code was selected on x86_64 Linux
      with gcc 4.5.x at the default -O2 optimization (but not at -O).

    • There is a workaround for crashes seen with several packages on
      systems using zlib 1.2.5: see the INSTALLATION section.


    • PCRE has been updated to 8.12 (two bug-fix releases since 8.10).

    • rep(), seq(), seq.int() and seq_len() report more often when the
      first element is taken of an argument of incorrect length.

    • The Cocoa back-end for the quartz() graphics device on Mac OS X
      provides a way to disable event loop processing temporarily
      (useful, e.g., for forked instances of R).

    • kernel()'s default for m was not appropriate if coef was a set of
      coefficients.  (Reported by Pierre Chausse.)

    • bug.report() has been updated for the current R bug tracker,
      which does not accept emailed submissions.

    • R CMD check now checks for the correct use of $(LAPACK_LIBS) (as
      well as $(BLAS_LIBS)), since several CRAN recent submissions have
      ignored ‘Writing R Extensions’.


    • The zlib sources in the distribution are now built with all
      symbols remapped: this is intended to avoid problems seen with
      packages such as XML and rggobi which link to zlib.so.1 on
      systems using zlib 1.2.5.

    • The default for FFLAGS and FCFLAGS with gfortran on x86_64 Linux
      has been changed back to -g -O2: however, setting -g -O may still
      be needed for gfortran 4.3.x.


    • A LazyDataCompression field in the DESCRIPTION file will be used
      to set the value for the --data-compress option of R CMD INSTALL.

    • Files R/sysdata.rda of more than 1Mb are now stored in the
      lazyload daabase using xz compression: this for example halves
      the installed size of package Imap.

    • R CMD INSTALL now ensures that directories installed from inst
      have search permission for everyone.

      It no longer installs files inst/doc/Rplots.ps and
      inst/doc/Rplots.pdf.  These are almost certainly left-overs from
      Sweave runs, and are often large.


    • The ‘experimental’ alternative specification of a name space via
      .Export() etc is now deprecated.

    • zip.file.extract() is now deprecated.

    • Zip-ing data sets in packages (and hence R CMD INSTALL
      --use-zip-data and the ZipData: yes field in a DESCRIPTION file)
      is deprecated: using efficiently compressed .rda images and
      lazy-loading of data has superseded it.


    • identical() could in rare cases generate a warning about
      non-pairlist attributes on CHARSXPs.  As these are used for
      internal purposes, the attribute check should be skipped.
      (Reported by Niels Richard Hansen).

    • If the filename extension (usually .Rnw) was not included in a
      call to Sweave(), source references would not work properly and
      the keep.source option failed.  (PR#14459)

    • format.data.frame() now keeps zero character column names.

    • pretty(x) no longer raises an error when x contains solely
      non-finite values. (PR#14468)

    • The plot.TukeyHSD() function now uses a line width of 0.5 for its
      reference lines rather than lwd = 0 (which caused problems for
      some PDF and PostScript viewers).

    • The big.mark argument to prettyNum(), format(), etc. was inserted
      reversed if it was more than one character long.

    • R CMD check failed to check the filenames under man for Windows'
      reserved names.

    • The "Date" and "POSIXt" methods for seq() could overshoot when to
      was supplied and by was specified in months or years.

    • The internal method of untar() now restores hard links as file
      copies rather than symbolic links (which did not work for
      cross-directory links).

    • unzip() did not handle zip files which contained filepaths with
      two or more leading directories which were not in the zipfile and
      did not already exist.  (It is unclear if such zipfiles are valid
      and the third-party C code used did not support them, but
      PR#14462 created one.)

    • combn(n, m) now behaves more regularly for the border case m = 0.

    • The rendering of numbers in plotmath expressions (e.g.
      expression(10^2)) used the current settings for conversion to
      strings rather than setting the defaults, and so could be
      affected by what has been done before.  (PR#14477)

    • The methods of napredict() and naresid() for na.action =
      na.exclude fits did not work correctly in the very rare event
      that every case had been omitted in the fit.  (Reported by Simon

    • weighted.residuals(drop0=TRUE) returned a vector when the
      residuals were a matrix (e.g. those of class "mlm").  (Reported
      by Bill Dunlap.)

    • Package HTML index files <pkg>/html/00Index.html were generated
      with a stylesheet reference that was not correct for static
      browsing in libraries.

    • ccf(na.action = na.pass) was not implemented.

    • The parser accepted some incorrect numeric constants, e.g. 20x2.
      (Reported by Olaf Mersmann.)

    • format(*, zero.print) did not always replace the full zero parts.

    • Fixes for subsetting or subassignment of "raster" objects when
      not both i and j are specified.

    • R CMD INSTALL was not always respecting the ZipData: yes field of
      a DESCRIPTION file (although this is frequently incorrectly
      specified for packages with no data or which specify lazy-loading
      of data).

      R CMD INSTALL --use-zip-data was incorrectly implemented as
      --use-zipdata since R 2.9.0.

    • source(file, echo=TRUE) could fail if the file contained #line
      directives.  It now recovers more gracefully, but may still
      display the wrong line if the directive gives incorrect

    • atan(1i) returned NaN+Infi (rather than 0+Infi) on platforms
      without C99 complex support.

    • library() failed to cache S4 metadata (unlike loadNamespace())
      causing failures in S4-using packages without a namespace (e.g.
      those using reference classes).

    • The function qlogis(lp, log.p=TRUE) no longer prematurely
      overflows to Inf when exp(lp) is close to 1.

    • Updating S4 methods for a group generic function requires
      resetting the methods tables for the members of the group (patch
      contributed by Martin Morgan).

    • In some circumstances (including for package XML), R CMD INSTALL
      installed version-control directories from source packages.

    • Added PROTECT calls to some constructed expressions used in C
      level eval calls.

    • utils:::create.post() (used by bug.report() and help.request())
      failed to quote arguments to the mailer, and so often failed.

    • bug.report() was naive about how to extract maintainer email
      addresses from package descriptions, so would often try mailing
      to incorrect addresses.

    • debugger() could fail to read the environment of a call to a
      function with a ... argument.  (Reported by Charlie Roosen.)

    • prettyNum(c(1i, NA), drop0=TRUE) or str(NA_complex_) now work

Peter Dalgaard
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com

More information about the R-announce mailing list