R 3.0.2 is released

Peter Dalgaard pd.mes at cbs.dk
Wed Sep 25 13:16:24 CEST 2013

The build system rolled up R-3.0.2.tar.gz (codename "Frisbee Sailing") this morning.

The list below details the changes in this release.

You can get the source code 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) = cbf6da8f886ccd8d0dda0cc7ffd1b8ec
MD5 (COPYING) = eb723b61539feef013de476e68b5c50a
MD5 (COPYING.LIB) = a6f89e2100d9b6cdffcea4f398e37343
MD5 (FAQ) = 77da68a9d0abfa9121d54f6ff0bced33
MD5 (INSTALL) = 3964b9119adeaab9ceb633773fc94aac
MD5 (NEWS) = e01b5a01aade71ccef967d39f3738e0a
MD5 (NEWS.html) = 1925b57c75bd51373adb33a04e2c18f8
MD5 (R-latest.tar.gz) = f9a8374736e7650e4848f33e2e3bbee3
MD5 (README) = e259ae5dd943b8547f0b7719664e815b
MD5 (RESOURCES) = c7cb32499ebbf85deb064aab282f93a4
MD5 (THANKS) = d4b45e302b7cad0fc4bb50d2cfe69649
MD5 (R-3/R-3.0.2.tar.gz) = f9a8374736e7650e4848f33e2e3bbee3

This is the relevant part of the NEWS file



    * The NEWS files have been re-organized.

      This file contains news for R >= 3.0.0: news for the 0.x.y, 1.x.y
      and 2.x.y releases is in files NEWS.0, NEWS.1 and NEWS.2.  The
      latter files are now installed when R is installed.  An HTML
      version of news from 2.10.0 to 2.15.3 is available as

    * sum() for integer arguments now uses an integer accumulator of at
      least 64 bits and so will be more accurate in the very rare case
      that a cumulative sum exceeds 2^53 (necessarily summing more than
      4 million elements).

    * The example() and tools::Rd2ex() functions now have parameters to
      allow them to ignore \dontrun markup in examples.  (Suggested by
      Peter Solymos.)

    * str(x) is considerably faster for very large lists, or factors
      with 100,000 levels, the latter as in PR#15337.

    * col2rgb() now converts factors to character strings not integer
      codes (suggested by Bryan Hanson).

    * tail(warnings()) now works, via the new `[` method.

    * There is now support for the LaTeX style file zi4.sty which has
      in some distributions replaced inconsolata.sty.

    * unlist(x) now typically returns all non-list xs unchanged, not
      just the "vector" ones.  Consequently, format(lst) now also works
      when the list lst has non-vector elements.

    * The tools::getVignetteInfo() function has been added to give
      information about installed vignettes.

    * New assertCondition(), etc. utilities in tools, useful for

    * Profiling now records non-inlined calls from byte-compiled code
      to BUILTIN functions.

    * Various functions in stats and elsewhere that use non-standard
      evaluation are now more careful to follow the namespace scoping
      rules.  E.g. stats::lm() can now find stats::model.frame() even
      if stats is not on the search path or if some package defines a
      function of that name.

    * If an invalid/corrupt .Random.seed object is encountered in the
      workspace it is ignored with a warning rather than giving an
      error.  (This allows R itself to rely on a working RNG, e.g. to
      choose a random port.)

    * seq() and seq.int() give more explicit error messages if called
      with invalid (e.g. NaN) inputs.

    * When parse() finds a syntax error, it now makes partial parse
      information available up to the location of the error.  (Request
      of Reijo Sund.)

    * Methods invoked by NextMethod() had a different dynamic parent to
      the generic. This was causing trouble where S3 methods invoked
      via lazy evaluation could lose track of their generic.

    * Code for the negative binomial distribution now treats the case
      size == 0 as a one-point distribution at zero.

    * abbreviate() handles without warning non-ASCII input strings
      which require no abbreviation.

    * read.dcf() no longer has a limit of 8191 bytes per line. (Wish of

    * formatC(x) no longer copies the class of x to the result, to
      avoid misuse creating invalid objects as in PR#15303.  A warning
      is given if a class is discarded.

    * Dataset npk has been copied from MASS to allow more tests to be
      run without recommended packages being installed.

    * The initialization of the regression coefficients for
      non-degenerate differenced models in arima() has been changed and
      in some examples avoids a local maximum.  (PR#15396)

    * termplot() now has an argument transform.x to control the display
      of individual terms in the plot.  (PR#15329)

    * format() now supports digits = 0, to display nsmall decimal

    * There is a new read-only par() parameter called "page", which
      returns a logical value indicating whether the next plot.new()
      call will start a new page.

    * Processing Sweave and Rd documents to PDF now renders backticks
      and single quotes better in several instances, including in \code
      and \samp expressions.

    * utils::modifyList() gets a new argument keep.null allowing NULL
      components in the replacement to be retained, instead of causing
      corresponding components to be deleted.

    * tools::pkgVignettes() gains argument check; if set to TRUE, it
      will warn when it appears a vignette requests a non-existent
      vignette engine.


    * R CMD check --as-cran checks the line widths in usage and
      examples sections of the package Rd files.

    * R CMD check --as-cran now implies --timings.

    * R CMD check looks for command gfile if a suitable file is not
      found.  (Although file is not from GNU, OpenCSW on Solaris
      installs it as gfile.)

    * R CMD build (with the internal tar) checks the permissions of
      configure and cleanup files and adds execute permission to the
      recorded permissions for these files if needed, with a warning.
      This is useful on OSes and file systems which do not support
      execute permissions (notably, on Windows).

    * R CMD build now weaves and tangles all vignettes, so suggested
      packages are not required during package installation if the
      source tarball was prepared with current R CMD build.

    * checkFF() (used by R CMD check) does a better job of detecting
      calls from other packages, including not reporting those where a
      function has been copied from another namespace (e.g. as a
      default method).  It now reports calls where .NAME is a symbol
      registered in another package.

    * On Unix-alike systems, R CMD INSTALL now installs packages group
      writably whenever the library (lib.loc) is group writable.
      Hence, update.packages() works for other group members (suggested
      originally and from a patch by Dirk Eddelbuettel).

    * R CMD javareconf now supports the use of symbolic links for
      JAVA_HOME on platforms which have realpath.  So it is now
      possible to use

      R CMD javareconf JAVA_HOME=/usr/lib/jvm/java-1.7.0

      on a Linux system and record that value rather than the
      frequently-changing full path such as

    * (Windows only.) Rscript -e requires a non-empty argument for
      consistency with Unix versions of R.  (Also Rterm -e and R -e.)

    * R CMD check does more thorough checking of declared packages and
      namespaces.  It reports

        * packages declared in more than one of the Depends, Imports,
          Suggests and Enhances fields of the DESCRIPTION file.

        * namespaces declared in Imports but not imported from, neither
          in the NAMESPACE file nor using the :: nor ::: operators.

        * packages which are used in library() or requires() calls in
          the R code but were already put on the search path _via_

        * packages declared in Depends not imported _via_ the NAMESPACE
          file (except the standard packages).  Objects used from
          Depends packages should be imported to avoid conflicts and to
          allow correct operation when the namespace is loaded but not

        * objects imported _via_ ::: calls where :: would do.

        * objects imported by :: which are not exported.

        * objects imported by ::: calls which do not exist.

      See 'Writing R Extensions' for good practice.

    * R CMD check optionally checks for non-standard top-level files
      and directories (which are often mistakes): this is enabled for

    * LaTeX style file upquote.sty is no longer included (the version
      was several years old): it is no longer used in R.  A much later
      version is commonly included in LaTeX distributions but does not
      play well with the ae fonts which are the default for Sweave

    * R CMD build makes more use of the build sub-directory of package
      sources, for example to record information about the vignettes.


    * The macros used for the texinfo manuals have been changed to work
      better with the incompatible changes made in texinfo 5.x.

    * The minimum version for a system xz library is now 5.0.3 (was
      4.999).  This is in part to avoid 5.0.2, which can compress in
      ways other versions cannot decompress.

    * The included version of PCRE has been updated to 8.33.

    * The included version of zlib has been updated to 1.2.8, a bug-fix

    * The included version of xz utils's liblzma has been updated to

    * Since javareconf (see above) is used when R is installed, a
      stable link for JAVA_HOME can be supplied then.

    * Configuring with --disable-byte-compilation will override the
      DESCRIPTION files of recommended packages, which typically
      require byte-compilation.

    * More of the installation and checking process will work even when
      TMPDIR is set to a path containing spaces, but this is not
      recommended and external software (such as texi2dvi) may fail.


    * Installation is aborted immediately if a LinkingTo package is not

    * R CMD INSTALL has a new option --no-byte-compile which will
      override a ByteCompile field in the package's DESCRIPTION file.

    * License BSD is deprecated: use BSD_3_clause or BSD_2_clause

      License X11 is deprecated: use MIT or BSD_2_clause instead.

    * Version requirements for LinkingTo packages are now recognized:
      they are checked at installation.  (Fields with version
      requirements were previously silently ignored.)

    * The limit of 500 S3method entries in a NAMESPACE file has been

    * The default 'version' of Bioconductor for its packages has been
      changed to the upcoming 2.13, but this can be set by the
      environment variable R_BIOC_VERSION, e.g.  in file Renviron.site.


    * Rdefines.h has been tweaked so it can be included in C++ code
      after R_ext/Boolean.h (which is included by R.h).

      Note that Rdefines.h is not kept up-to-date, and Rinternals.h is
      preferred for new code.

    * eval and applyClosure are now protected against package code
      supplying an invalid rho.


    * The unused namespace argument to package.skeleton() is now
      formally deprecated and will be removed in R 3.1.0.

    * plclust() is deprecated: use the plot() method for class "hclust"

    * Functions readNEWS() and checkNEWS() in package tools are
      deprecated (and they have not worked with current NEWS files for
      a long time).


    * 'An Introduction to R' has a new chapter on using R as a
      scripting language including interacting with the OS.


    * help.request() could not determine the current version of R on
      CRAN.  (PR#15241)

    * On Windows, file.info() failed on root directories unless the
      path was terminated with an explicit ".".  (PR#15302)

    * The regmatches<-() replacement function mishandled results coming
      from regexpr().  (PR#15311)

    * The help for setClass() and representation() still suggested the
      deprecated argument representation=. (PR#15312)

    * R CMD config failed in an installed build of R 3.0.1 (only) when
      a sub-architecture was used.  (Reported by Berwin Turlach.)

    * On Windows, the installer modified the etc/Rconsole and
      etc/Rprofile.site files even when default options were chosen, so
      the MD5 sums did not refer to the installed versions.  (Reported
      by Tal Galili.)

    * plot(hclust(), cex =) respects cex again (and possibly others
      similarly).  (Reported by Peter Langfelder.)

    * If multiple packages were checked by R CMD check, and one was
      written for a different OS, it would set --no-install for all
      following packages as well as itself.

    * qr.coef() and related functions did not properly coerce real
      vectors to complex when necessary.  (PR#15332)

    * ftable(a) now fixes up empty dimnames such that the result is

    * package.skeleton() was not starting its search for function
      objects in the correct place if environment was supplied.
      (Reported by Karl Forner.)

    * Parsing code was changing the length field of vectors and
      confusing the memory manager.  (PR#15345)

    * The Fortran routine ZHER2K in the reference BLAS had a
      comment-out bug in two places.  This caused trouble with eigen()
      for Hermitian matrices.  (PR#15345 and report from Robin Hankin)

    * vignette() and browseVignettes() did not display non-Sweave
      vignettes properly.

    * Two warning/error messages have been corrected: the (optional)
      warning produced by a partial name match with a pairlist, the
      error message from a zero-length argument to the : operator.
      (Found by Radford Neal; PR#15358, PR#15356)

    * svd() returned NULL rather than omitting components as
      documented.  (Found by Radford Neal; PR#15360)

    * mclapply() and mcparallel() with silent = TRUE could break a
      process that uses stdout output unguarded against broken pipes
      (e.g., zip will fail silently). To work around such issues, they
      now replace stdout with a descriptor pointed to /dev/null
      instead. For this purpose, internal closeStdout and closeStderr
      functions have gained the to.null flag.

    * log(), signif() and round() now raise an error if a single named
      argument is not named x.  (PR#15361)

    * deparse() now deparses raw vectors in a form that is
      syntactically correct. (PR#15369)

    * The jpeg driver in Sweave created a JPEG file, but gave it a .png
      extension. (PR#15370)

    * Deparsing of infix operators with named arguments is improved.

    * mget(), seq.int() and numericDeriv() did not duplicate arguments
      properly. (PR#15352, PR#15353, PR#15354)

    * kmeans(algorithm = "Hartigan-Wong") now always stops iterating in
      the QTran stage. (PR#15364).

    * read.dcf() re-allocated incorrectly and so could segfault when
      called on a file with lines of more than 100 bytes.

    * On systems where mktime() does not set errno, the last second
      before the epoch could not be converted from POSIXlt to POSIXct.
      (Reported by Bill Dunlap.)

    * add1.glm() miscalculated F-statistics when df > 1. (Bill Dunlap,

    * stem() now discards infinite inputs rather than hanging.

    * The parser now enforces C99 syntax for floating point hexadecimal
      constants (e.g. 0x1.1p0), rather than returning unintended values
      for malformed constants. (PR#15234)

    * model.matrix() now works with very long LHS names (more than 500
      bytes).  (PR#15377)

    * integrate() reverts to the pre-2.12.0 behaviour: from 2.12.0 to
      3.0.1 it sometimes failed to achieve the requested tolerance and
      reported error estimates that were exceeded.  (PR#15219)

    * strptime() now handles %W fields with value 0. (PR#15915)

    * R is now better protected against people trying to interact with
      the console in startup code.  (PR#15325)

    * Subsetting 1D arrays often lost dimnames (PR#15301).

    * Unary + on a logical vector did not coerce to integer, although
      unary - did.

    * na.omit() and na.exclude() added a row to a zero-row data frame.

    * All the (where necessary cut-down) vignettes are installed if R
      was configured with --without-recommended-packages.

    * source() did not display filenames when reporting syntax errors.

    * Syntax error reports misplaced the caret pointing out the bad

    * (Windows only) Starting R with R (instead of Rterm or Rgui) would
      lose any zero-length strings from the command line arguments.

    * Errors in the encoding specified on the command line via
      --encoding=foo were not handled properly.  (PR#15405)

    * If x is a symbol, is.vector(x, "name") now returns TRUE, since
      "name" and "symbol" should be synonyms.  (Reported by Herv'e

    * R CMD rtags works on platforms (such as OS X) with a
      XSI-conformant shell command echo. (PR#15231)

    * is.unsorted(NA) returns false as documented (rather than NA).

    * R CMD LINK did not know about sub-architectures.

    * system() and system2() are better protected against users who
      misguidedly have spaces in the temporary directory path.

    * file.show() and edit() are now more likely to work on file paths
      containing spaces.  (Where external utilities are used, not the
      norm on Windows nor in R.app which should previously have

    * Packages using the methods package are more likely to work when
      they import it but it is not attached.  (Several parts of its C
      code were looking for its R functions on the search path rather
      than in its namespace.)

    * lgamma(-x) is no longer NaN for very small x.

    * (Windows) system2() now respects specifying stdout and stderr as
      files if called from Rgui. (PR#15393)

    * Closing an x11() device whilst locator() or identify() is in
      progress no longer hangs R.  (PR#15253)

    * list.dirs(full.names = FALSE) was not implemented.  (PR#15170)

    * format() sometimes added unnecessary spaces.  (PR#15411)

    * all.equal(check.names = FALSE) would ignore the request to ignore
      the names and would check them as attributes.

    * The symbol set by tools::Rd2txt_options(itemBullet=) was not
      respected in some locales. (PR#15435)

    * mcMap() was not exported by package parallel. (PR#15439)

    * plot() for TukeyHSD objects did not balance dev.hold() and
      dev.flush() calls on multi-page plots.  (PR#15449)

Peter Dalgaard, Professor
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