R 3.1.3 (codename “Smooth Sidewalk”) was released today. You can get the latest binaries version from here. (or the .tar.gz source code from here). The full list of new features and bug fixes is provided below.
Upgrading to R 3.1.3 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:
# installing/loading the latest installr package:
install.packages("installr"); library(installr) #load / install+load 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.).
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 leave a comment below.
CHANGES IN R 3.1.3:
As always, David smith mentioned in his post some of the main changes, writing:
As has become usual in March, this release is primarily for minor bugs and improvements in R, as the development switches focus to the next major release (R 3.2.0 is expected on April 16). Improvements include: ability to download files greater than 2GB on 32-bit builds; better handling of complex (imaginary) numbers for several functions; improved command completion in the Windows GUI; and improved performance when using S4 classes. (See the complete list here.)
And here is also the full list:
NEW FEATURES
- The internal method of
download.file()
can now handle files larger than 2GB on 32-bit builds which support such files (tested on 32-bit R running on 64-bit Windows). kruskal.test()
warns on more types of suspicious input.- The
as.dendrogram()
method for"hclust"
objects gains acheck
argument protecting against memory explosion for invalid inputs. capabilities()
has a new itemlong.double
which indicates if the build uses along double
type which is longer thandouble
.nlm()
no longer modifies the callback argument in place (a new vector is allocated for each invocation, which mimics the implicit duplication that occurred in R < 3.1.0); note that this is a change from the previously documented behavior. (PR#15958)icuSetCollate()
now acceptslocale = "ASCII"
which uses the basic C functionstrcmp
and so collates strings byte-by-byte in numerical order.sessionInfo()
tries to report the OS version in use (not just that compiled under, and including details of Linux distributions).model.frame()
(used bylm()
and many other modelling functions) now warns when it drops contrasts from factors. (Wish of PR#16119)install.packages()
and friends now accept the valuetype = "binary"
as a synonym for the native binary type on the platform (if it has one).- Single source or binary files can be supplied for
install.packages(type = "both")
and the appropriate type andrepos = NULL
will be inferred. - New function
pcre_config()
to report on some of the configuration options of the version of PCRE in use. In particular, this reports if regular expressions using \p{xx} are supported. - (Windows.)
download.file(cacheOK = FALSE)
is now supported when ‘internet2.dll’ is used. browseURL()
has been updated to work with Firefox 36.0 which has dropped support for the -remote interface.
INSTALLATION and INCLUDED SOFTWARE
- The included version of PCRE has been updated to 8.36.
configure
accepts MAKEINFO=texi2any as another way to ensure texinfo 5.x is used when both 5.x and 4.x are installed.
UTILITIES
R CMD check
now checks the packages used in\donttest
sections of the examples are specified in the ‘DESCRIPTION’ file. (These are needed to run the examples interactively.)R CMD check
checks for the undeclared use of GNU extensions in Makefiles, and for Makefiles with a missing final linefeed.R CMD build
will correct line endings in all Makefiles, not just those in the ‘src’ directory.R CMD check
notes uses oflibrary()
andrequire()
in package code: see the section ‘Suggested packages’ of ‘Writing R Extensions’ for good practice.
DEPRECATED AND DEFUNCT
- The
configure
option –with-valgrind-instrumentation=3 is deprecated and will be removed in R 3.2.0.
BUG FIXES
- (Windows.)
Rscript.exe
was missing a manifest specifying the modern style for common controls (e.g., the download progress bar). - If a package had extra documentation files but no vignette, the HTML help system produced an empty index page.
- The parser now gives an error if a null character is included in a string using Unicode escapes. (PR#16046)
qr.Q()
failed on complex arguments due to pre-3.0(!) typo. (PR#16054)abs()
failed with named arguments when the argument was complex. (PR#16047)"noquote"
objects may now be used as columns in dataframes. (PR#15997)- Some values with extremely long names were printed incorrectly. (PR#15999)
- Extremely large exponents on zero expressed in scientific notation (e.g.
0.0e50000
) could giveNaN
. (PR#15976) download.file()
reported downloaded sizes as 0KB if less than 1MB, only for R 3.1.2 and only on big-endian platforms.prompt()
did not escape percent signs in the automatically generated usage section of help files.drop.terms()
dropped some of the attributes of the object it was working with. (PR#16029)- (Windows.) The command completion in
Rgui.exe
messed up the console. (PR#15791) - (Windows.) The
choose.files()
command returned a blank string when the user asked for a single file but cancelled the request. (PR#16074) Math2
S4 group generics failed to correctly dispatch"structure"
– and"nonStructure"
-derived classes.loadNamespace()
imposed undocumented restrictions on theversionCheck
parameter. (Reported by Geoff Lee.)- Rare over-runs detected by AddressSanitizer in
substr()
and its replacement version have been avoided.Inter alia that fix gives the documented behaviour forsubstr(x, 1, 2) <- ""
(subsequently reported as PR#16214). - Loading packages incorrectly defining an S4 generic followed by a function of the same name caused an erroneous cyclic namespace dependency error.
- Declared vignette encodings are now always passed to the vignette engine.
- Port Tomas Kalibera’s fix from R-devel that restores the
loadMethod()
fast path, effectively doubling the speed of S4 dispatch. power.t.test()
andpower.prop.test()
now make use of theextendInt
option ofuniroot()
and hence work in more extreme cases. (PR#15792)- If a package was updated and attached when its namespace was already loaded, it could end up with parts from one version and parts from the other. (PR#16120)
tools:::.Rdconv()
didn’t accept--encoding=
due to a typo. (PR#16121)- Unix-alike builds without a suitable
makeinfo
were documented to link the missing HTML manuals to CRAN, but did not. save(*, ascii=TRUE)
andload()
now correctly deal withNaN
‘s. (PR#16137)split.Date()
retains fractional representations while avoiding incomplete class propagation.- ‘R_ext/Lapack.h’ had not been updated for changes made by LAPACK to the argument lists of its (largely internal) functions
dlaed2
anddlaed3
. (PR#16157) RShowDoc("NEWS", "txt")
had not been updated for the layout changes of R 3.1.0.- The
xtfrm()
method for class"Surv"
has been corrected and its description expanded. mode(x) <- y
would incorrectly evaluatex
before changing its mode. (PR#16215)besselJ(1, 2^64)
andbesselY(..)
now signal a warning, returningNaN
instead of typically segfaulting. (Issue 3 of PR#15554)- HTML conversion of \href markup in ‘.Rd’ files did not remove the backslash from \% and so gave an invalid URL. In a related change, the \ escape is now required in such URLs.