R 3.2.2 is released

Peter Dalgaard pd.mes at cbs.dk
Fri Aug 14 11:21:48 CEST 2015

The build system rolled up  R-3.2.2.tar.gz (codename "Fire Safety") this morning.

The list below details the changes in this release. The main point of this release is to enable package installation via secure HTTP, since ordinary HTTP is increasingly being considered a security risk.

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) = e74e64dde0f92181957d46a0f8538e8b
MD5 (INSTALL) = 3964b9119adeaab9ceb633773fc94aac
MD5 (NEWS) = 5ff829377f0de5cdb0ad30bb42977611
MD5 (NEWS.0) = bfcd7c147251b5474d96848c6f57e5a8
MD5 (NEWS.1) = eb78c4d053ec9c32b815cf0c2ebea801
MD5 (NEWS.2) = 8e2f4d1d5228663ae598a09bf1e2bc6b
MD5 (R-latest.tar.gz) = 57cef5c2e210a5454da1979562a10e5b
MD5 (README) = aece1dfbd18c1760128c3787f5456af6
MD5 (RESOURCES) = 529223fd3ffef95731d0a87353108435
MD5 (THANKS) = ba00f6cc68a823e1741cfa6011f40ccb
MD5 (VERSION-INFO.dcf) = 55826f7f976cd9623577e5a9ac694c47
MD5 (R-3/R-3.2.2.tar.gz) = 57cef5c2e210a5454da1979562a10e5b

This is the relevant part of the NEWS file



    * It is now easier to use secure downloads from https:// URLs on
      builds which support them: no longer do non-default options need
      to be selected to do so.  In particular, packages can be
      installed from repositories which offer https:// URLs, and those
      listed by setRepositories() now do so (for some of their

      Support for https:// URLs is available on Windows, and on other
      platforms if support for libcurl was compiled in and if that
      supports the https protocol (system installations can be expected
      to do).  So https:// support can be expected except on rather old
      OSes (an example being OS X 'Snow Leopard', where a non-system
      version of libcurl can be used).

      (Windows only) The default method for accessing URLs _via_
      download.file() and url() has been changed to be "wininet" using
      Windows API calls.  This changes the way proxies need to be set
      and security settings made: there have been some reports of sites
      being inaccessible under the new default method (but the previous
      methods remain available).


    * cmdscale() gets new option list. for increased flexibility when a
      list should be returned.

    * configure now supports texinfo version 6.0, which (unlike the
      change from 4.x to 5.0) is a minor update.  (Wish of PR#16456.)

    * (Non-Windows only) download.file() with default method = "auto"
      now chooses "libcurl" if that is available and a https:// or
      ftps:// URL is used.

    * (Windows only) setInternet2(TRUE) is now the default.  The
      command-line option --internet2 and environment variable
      R_WIN_INTERNET2 are now ignored.

      Thus by default the "internal" method for download.file() and
      url() uses the "wininet" method: to revert to the previous
      default use setInternet2(FALSE).

      This means that https:// can be read by default by
      download.file() (they have been readable by file() and url()
      since R 3.2.0).

      There are implications for how proxies need to be set (see
      ?download.file): also, cacheOK = FALSE is not supported.

    * chooseCRANmirror() and chooseBioCmirror() now offer HTTPS mirrors
      in preference to HTTP mirrors.  This changes the interpretation
      of their ind arguments: see their help pages.

    * capture.output() gets optional arguments type and split to pass
      to sink(), and hence can be used to capture messages.


    * Header Rconfig.h now defines HAVE_ALLOCA_H if the platform has
      the alloca.h header (it is needed to define alloca on Solaris and
      AIX, at least: see 'Writing R Extensions' for how to use it).


    * The libtool script generated by configure has been modified to
      support FreeBSD >= 10 (PR#16410).


    * The HTML help page links to demo code failed due to a change in R
      3.2.0.  (PR#16432)

    * If the na.action argument was used in model.frame(), the original
      data could be modified. (PR#16436)

    * getGraphicsEvent() could cause a crash if a graphics window was
      closed while it was in use. (PR#16438)

    * matrix(x, nr, nc, byrow = TRUE) failed if x was an object of type

    * strptime() could overflow the allocated storage on the C stack
      when the timezone had a non-standard format much longer than the
      standard formats. (Part of PR#16328.)

    * options(OutDec = s) now signals a warning (which will become an
      error in the future) when s is not a string with exactly one
      character, as that has been a documented requirement.

    * prettyNum() gains a new option input.d.mark which together with
      other changes, e.g., the default for decimal.mark, fixes some
      format()ting variants with non-default getOption("OutDec") such
      as in PR#16411.

    * download.packages() failed for type equal to either "both" or
      "binary".  (Reported by Dan Tenenbaum.)

    * The dendrogram method of labels() is much more efficient for
      large dendrograms, now using rapply().  (Comment #15 of PR#15215)

    * The "port" algorithm of nls() could give spurious errors.
      (Reported by Radford Neal.)

    * Reference classes that inherited from reference classes in
      another package could invalidate methods of the inherited class.
      Fixing this requires adding the ability for methods to be
      "external", with the object supplied explicitly as the first
      argument, named .self. See "Inter-Package Superclasses" in the

    * readBin() could fail on the SPARC architecture due to alignment
      issues.  (Reported by Radford Neal.)

    * qt(*, df=Inf, ncp=.) now uses the natural qnorm() limit instead
      of returning NaN. (PR#16475)

    * Auto-printing of S3 and S4 values now searches for print() in the
      base namespace and show() in the methods namespace instead of
      searching the global environment.

    * polym() gains a coefs = NULL argument and returns class "poly"
      just like poly() which gets a new simple=FALSE option.  They now
      lead to correct predict()ions, e.g., on subsets of the original

    * rhyper(nn, <large>) now works correctly. (PR#16489)

    * ttkimage() did not (and could not) work so was removed. Ditto for
      tkimage.cget() and tkimage.configure(). Added two Ttk widgets and
      missing subcommands for Tk's image command: ttkscale(),
      ttkspinbox(), tkimage.delete(), tkimage.height(),
      tkimage.inuse(), tkimage.type(), tkimage.types(),
      tkimage.width(). (PR#15372, PR#16450)

    * getClass("foo") now also returns a class definition when it is
      found in the cache more than once.

More information about the R-announce mailing list