R 3.2.3 is released

Peter Dalgaard pd.mes at cbs.dk
Thu Dec 10 13:07:57 CET 2015

The build system rolled up  R-3.2.3.tar.gz (codename "Wooden Christmas-Tree") 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) = eb97a5cd38acb1cfc6408988bffef765
MD5 (COPYING) = eb723b61539feef013de476e68b5c50a
MD5 (COPYING.LIB) = a6f89e2100d9b6cdffcea4f398e37343
MD5 (FAQ) = 3a15bad19f5031d05d1a4893f0fadb81
MD5 (INSTALL) = 3964b9119adeaab9ceb633773fc94aac
MD5 (NEWS) = e09aa00e906c9feb3f63838e4b4919c9
MD5 (NEWS.0) = bfcd7c147251b5474d96848c6f57e5a8
MD5 (NEWS.1) = eb78c4d053ec9c32b815cf0c2ebea801
MD5 (NEWS.2) = 8e2f4d1d5228663ae598a09bf1e2bc6b
MD5 (R-latest.tar.gz) = 1ba3dac113efab69e706902810cc2970
MD5 (README) = aece1dfbd18c1760128c3787f5456af6
MD5 (RESOURCES) = 529223fd3ffef95731d0a87353108435
MD5 (THANKS) = ba00f6cc68a823e1741cfa6011f40ccb
MD5 (VERSION-INFO.dcf) = a042818b70e88f7c5253ee533f45cd2f
MD5 (R-3/R-3.2.3.tar.gz) = 1ba3dac113efab69e706902810cc2970

This is the relevant part of the NEWS file



    * Some recently-added Windows time zone names have been added to
      the conversion table used to convert these to Olson names.
      (Including those relating to changes for Russia in Oct 2014, as
      in PR#16503.)

    * (Windows) Compatibility information has been added to the
      manifests for Rgui.exe, Rterm.exe and Rscript.exe.  This should
      allow win.version() and Sys.info() to report the actual Windows
      version up to Windows 10.

    * Windows "wininet" FTP first tries EPSV / PASV mode rather than
      only using active mode (reported by Dan Tenenbaum).

    * which.min(x) and which.max(x) may be much faster for logical and
      integer x and now also work for long vectors.

    * The 'emulation' part of tools::texi2dvi() has been somewhat
      enhanced, including supporting quiet = TRUE.  It can be selected
      by texi2dvi = "emulation".

      (Windows) MiKTeX removed its texi2dvi.exe command in Sept 2015:
      tools::texi2dvi() tries texify.exe if it is not found.

    * (Windows only) Shortcuts for printing and saving have been added
      to menus in Rgui.exe.  (Request of PR#16572.)

    * loess(..., iterTrace=TRUE) now provides diagnostics for
      robustness iterations, and the print() method for
      summary(<loess>) shows slightly more.

    * The included version of PCRE has been updated to 8.38, a bug-fix

    * View() now displays nested data frames in a more friendly way.
      (Request with patch in PR#15915.)


    * The included configuration code for libintl has been updated to
      that from gettext version - this should only affect how
      an external library is detected (and the only known instance is
      under OpenBSD).  (Wish of PR#16464.)

    * configure has a new argument --disable-java to disable the checks
      for Java.

    * The configure default for MAIN_LDFLAGS has been changed for the
      FreeBSD, NetBSD and Hurd OSes to one more likely to work with
      compilers other than gcc (FreeBSD 10 defaults to clang).

    * configure now supports the OpenMP flags -fopenmp=libomp (clang)
      and -qopenmp (Intel C).

    * Various macros can be set to override the default behaviour of
      configure when detecting OpenMP: see file config.site.

    * Source installation on Windows has been modified to allow for
      MiKTeX installations without texi2dvi.exe.  See file


    * regexpr(pat, x, perl = TRUE) with Python-style named capture did
      not work correctly when x contained NA strings.  (PR#16484)

    * The description of dataset ToothGrowth has been
      improved/corrected.  (PR#15953)

    * model.tables(type = "means") and hence TukeyHSD() now support
      "aov" fits without an intercept term.  (PR#16437)

    * close() now reports the status of a pipe() connection opened with
      an explicit open argument.  (PR#16481)

    * Coercing a list without names to a data frame is faster if the
      elements are very long. (PR#16467)

    * (Unix-only) Under some rare circumstances piping the output from
      Rscript or R -f could result in attempting to close the input
      file twice, possibly crashing the process.  (PR#16500)

    * (Windows) Sys.info() was out of step with win.version() and did
      not report Windows 8.

    * topenv(baseenv()) returns baseenv() again as in R 3.1.0 and
      earlier.  This also fixes compilerJIT(3) when used in .Rprofile.

    * detach()ing the methods package keeps .isMethodsDispatchOn()
      true, as long as the methods namespace is not unloaded.

    * Removed some spurious warnings from configure about the
      preprocessor not finding header files.  (PR#15989)

    * rchisq(*, df=0, ncp=0) now returns 0 instead of NaN, and
      dchisq(*, df=0, ncp=*) also no longer returns NaN in limit cases
      (where the limit is unique).  (PR#16521)

    * pchisq(*, df=0, ncp > 0, log.p=TRUE) no longer underflows (for
      ncp > ~60).

    * nchar(x, "w") returned -1 for characters it did not know about
      (e.g. zero-width spaces): it now assumes 1.  It now knows about
      most zero-width characters and a few more double-width

    * Help for which.min() is now more precise about behavior with
      logical arguments.  (PR#16532)

    * The print width of character strings marked as "latin1" or
      "bytes" was in some cases computed incorrectly.

    * abbreviate() did not give names to the return value if minlength
      was zero, unlike when it was positive.

    * (Windows only) dir.create() did not always warn when it failed to
      create a directory.  (PR#16537)

    * When operating in a non-UTF-8 multibyte locale (e.g. an East
      Asian locale on Windows), grep() and related functions did not
      handle UTF-8 strings properly.  (PR#16264)

    * read.dcf() sometimes misread lines longer than 8191 characters.
      (Reported by Herv'e Pag`es with a patch.)

    * within(df, ..) no longer drops columns whose name start with a

    * The built-in HTTP server converted entire Content-Type to
      lowercase including parameters which can cause issues for
      multi-part form boundaries (PR#16541).

    * Modifying slots of S4 objects could fail when the methods package
      was not attached. (PR#16545)

    * splineDesign(*, outer.ok=TRUE) (splines) is better now
      (PR#16549), and interpSpline() now allows sparse=TRUE for speedup
      with non-small sizes.

    * If the expression in the traceback was too long, traceback() did
      not report the source line number.  (Patch by Kirill M"uller.)

    * The browser did not truncate the display of the function when
      exiting with options("deparse.max.lines") set.  (PR#16581)

    * When bs(*, Boundary.knots=) had boundary knots inside the data
      range, extrapolation was somewhat off.  (Patch by Trevor Hastie.)

    * var() and hence sd() warn about factor arguments which are
      deprecated now. (PR#16564)

    * loess(*, weights = *) stored wrong weights and hence gave
      slightly wrong predictions for newdata.  (PR#16587)

    * aperm(a, *) now preserves names(dim(a)).

    * poly(x, ..) now works when either raw=TRUE or coef is specified.

    * data(package=*) is more careful in determining the path.

    * prettyNum(*, decimal.mark, big.mark): fixed bug introduced when
      fixing PR#16411.

More information about the R-announce mailing list