R 3.3.2 is released!

R 3.3.2 (codename “Sincere Pumpkin Patch”) was released yesterday You can get the latest binaries version from here. (or the .tar.gz source code from here). The full list of bug fixes and new features is provided below.

Upgrading to R 3.3.2 on Windows

If you are using Windows you can easily upgrade to the latest version of R using the installr package. Simply run the following code in Rgui:

install.packages("installr") # install 
setInternet2(TRUE) # only for R versions older than 3.3.0
installr::updateR() # updating R.

Running “updateR()” will detect if there is a new R version available, and if so it will download+install it (etc.). There is also a step by step tutorial (with screenshots) on how to upgrade R on Windows, using the installr package. If you only see the option to upgrade to an older version of R, then change your mirror or try again in a few hours (it usually take around 24 hours for all CRAN mirrors to get the latest version of R).

I try to keep the installr package updated and useful, so if you have any suggestions or remarks on the package – you are invited to open an issue in the github page.



  • extSoftVersion() now reports the version (if any) of the readline library in use.
  • The version of LAPACK included in the sources has been updated to 3.6.1, a bug-fix release including a speedup for the non-symmetric case of eigen().
  • Use options(deparse.max.lines=) to limit the number of lines recorded in .Traceback and other deparsing activities.
  • format(<AsIs>) looks more regular, also for non-character atomic matrices.
  • abbreviate() gains an option named = TRUE.
  • The online documentation for package methods is extensively rewritten. The goals are to simplify documentation for basic use, to note old features not recommended and to correct out-of-date information.
  • Calls to setMethod() no longer print a message when creating a generic function in those cases where that is natural: S3 generics and primitives.


  • Versions of the readline library >= 6.3 had been changed so that terminal window resizes were not signalled to readline: code has been added using a explicit signal handler to work around that (when R is compiled against readline >= 6.3). (PR#16604)
  • configure works better with Oracle Developer Studio 12.5.


  • R CMD check reports more dubious flags in files ‘src/Makevars[.in]’, including -w and -g.
  • R CMD check has been set up to filter important warnings from recent versions of gfortran with -Wall -pedantic: this now reports non-portable GNU extensions such as out-of-order declarations.
  • R CMD config works better with paths containing spaces, even those of home directories (as reported by Ken Beath).


  • Use of the C/C++ macro NO_C_HEADERS is deprecated (no C headers are included by R headers from C++ as from R 3.3.0, so it should no longer be needed).


  • The check for non-portable flags in R CMD check could be stymied by ‘src/Makevars’ files which contained targets.
  • (Windows only) When using certain desktop themes in Windows 7 or higher, Alt-Tab could cause Rterm to stop accepting input. (PR#14406; patch submitted by Jan Gleixner.)
  • pretty(d, ..) behaves better for date-time d (PR#16923).
  • When an S4 class name matches multiple classes in the S4 cache, perform a dynamic search in order to obey namespace imports. This should eliminate annoying messages about multiple hits in the class cache. Also, pass along the package from the ClassExtends object when looking up superclasses in the cache.
  • sample(NA_real_) now works.
  • Packages using non-ASCII encodings in their code did not install data properly on systems using different encodings.
  • merge(df1, df2) now also works for data frames with column names "na.last", "decreasing", or "method". (PR#17119)
  • contour() caused a segfault if the labels argument had length zero. (Reported by Bill Dunlap.)
  • unique(warnings()) works more correctly, thanks to a new duplicated.warnings() method.
  • findInterval(x, vec = numeric(), all.inside = TRUE) now returns 0s as documented. (Reported by Bill Dunlap.)
  • (Windows only) R CMD SHLIB failed when a symbol in the resulting library had the same name as a keyword in the ‘.def’ file. (PR#17130)
  • pmax() and pmin() now work with (more ?) classed objects, such as "Matrix" from the Matrix package, as documented for a long time.
  • axis(side, x = D) and hence Axis() and plot() now work correctly for "Date" and time objects D, even when “time goes backward”, e.g., with decreasing xlim. (Reported by William May.)
  • str(I(matrix(..))) now looks as always intended.
  • plot.ts(), the plot() method for time series, now respects cex, lwd and lty. (Reported by Greg Werbin.)
  • parallel::mccollect() now returns a named list (as documented) when called with wait = FALSE. (Reported by Michel Lang.)
  • If a package added a class to a class union in another package, loading the first package gave erroneous warnings about “undefined subclass”.
  • c()‘s argument use.names is documented now, as belonging to the (C internal) default method. In “parallel”, argument recursive is also moved from the generic to the default method, such that the formal argument list of base generic c() is just (...).
  • rbeta(4, NA) and similarly rgamma() and rnbinom() now return NaN‘s with a warning, as other r<dist>(), and as documented. (PR#17155)
  • Using options(checkPackageLicense = TRUE) no longer requires acceptance of the licence for non-default standard packages such as compiler. (Reported by Mikko Korpela.)
  • split(<very_long>, *) now works even when the split off parts are long. (PR#17139)
  • min() and max() now also work correctly when the argument list starts with character(0). (PR#17160)
  • Subsetting very large matrices (prod(dim(.)) >= 2^31) now works thanks to Michael Schubmehl’s PR#17158.
  • bartlett.test() used residual sums of squares instead of variances, when the argument was a list of lm objects. (Reported by Jens Ledet Jensen).
  • plot(<lm>, which = *) now correctly labels the contour lines for the standardized residuals for which = 6. It also takes the correct p in case of singularities (also for which = 5). (PR#17161)
  • xtabs(~ exclude) no longer fails from wrong scope, thanks to Suharto Anggono’s PR#17147.
  • Reference class calls to methods() did not re-analyse previously defined methods, meaning that calls to methods defined later would fail. (Reported by Charles Tilford).
  • findInterval(x, vec, left.open = TRUE) misbehaved in some cases. (Reported by Dmitriy Chernykh.)


8 thoughts on “R 3.3.2 is released!”

  1. Good morning, First of all thank you very much for the installr package. It worked very well to upgrade from v.3.2.2 to v.3.3.2 except for the copying of the packages. It told me that there were no packages to copy. Which is not true, since when I look at the repository, I can see all the packages I have installed. Would you know what I have been doing wrong? I also tried opy.packages.between.libraries and specified the two repositories where the packages are but I still get the same message. Thank you already

      1. Hi Tal, Thank you for your answer. If I run the line I get: “D:/Documents/R/win-library/3.3” “C:/Program Files/R/R-3.3.2/library”

        1. Hi Melanie,
          Sadly, installr does not work with this type of folder structure. You’ll have to do it manually.


  2. I have been trying to use installr to update from 3.1.3 using these instructions however, I am repeatedly getting the error “Error in file(con, “r”) : for https:// URLs use setInternet2(TRUE)” despite trying to setInternet2(TRUE) and running as administrator both in the 32 bit and 64 bit versions of R I have installed. I have also tried reinstalling the package twice. This is my most recent session. Thank you for any advice you might have.

    > install.packages(“installr”)
    Installing package into ‘C:/Users/Tim/Documents/R/win-library/3.1’
    (as ‘lib’ is unspecified)
    — Please select a CRAN mirror for use in this session —

    There is a binary version available (and will be installed) but the
    source version is later:
    binary source
    installr 0.17.5 0.18.0

    trying URL ‘http://cran.utstat.utoronto.ca/bin/windows/contrib/3.1/installr_0.17.5.zip’
    Content type ‘application/zip’ length 244334 bytes (238 KB)
    opened URL
    downloaded 238 KB

    package ‘installr’ successfully unpacked and MD5 sums checked

    The downloaded binary packages are in
    > library(installr)

    Welcome to installr version 0.17.5

    More information is available on the installr project website:

    Suggestions and bug-reports can be submitted at: https://github.com/talgalili/installr/issues

    To suppress this message use:

    > setInternet2(TRUE)
    [1] FALSE
    Warning message:
    In setInternet2(TRUE) : internet routines were already initialized
    > updateR()
    Error in file(con, “r”) : for https:// URLs use setInternet2(TRUE)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.