| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>R: R News</title> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| <link rel="stylesheet" type="text/css" href="R.css" /> |
| </head><body> |
| |
| <table width="100%" summary="page for NEWS"><tr><td>NEWS</td><td style="text-align: right;">R Documentation</td></tr></table> |
| |
| <h2> R News</h2> |
| |
| <h3>LATER NEWS</h3> |
| |
| <p>News for <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 3.0.0 and later can be found in file ‘<span class="file">NEWS.Rd</span>’ in the |
| <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> sources and files ‘<span class="file">NEWS</span>’ and ‘<span class="file">doc/html/NEWS.html</span>’ |
| in an <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> build. |
| </p> |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.15.3</h3> |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li> <p><code>lgamma(x)</code> for very small <code>x</code> (in the |
| denormalized range) is no longer <code>Inf</code> with a warning. |
| </p> |
| </li> |
| <li> <p><code>image()</code> now sorts an unsorted <code>breaks</code> vector, |
| with a warning. |
| </p> |
| </li> |
| <li><p> The internal methods for <code>tar()</code> and <code>untar()</code> do |
| a slightly more general job for ‘ustar’-style handling of |
| paths of more than 100 bytes. |
| </p> |
| </li> |
| <li><p> Packages <span class="pkg">compiler</span> and <span class="pkg">parallel</span> have been added |
| to the reference index (‘<span class="file">refman.pdf</span>’). |
| </p> |
| </li> |
| <li> <p><code>untar(tar = "internal")</code> has some support for |
| <code>pax</code> headers as produced by e.g. <code>gnutar --posix</code> |
| (which seems prevalent on OpenSUSE 12.2) or |
| <code>bsdtar --format pax</code>, including long path and link names. |
| </p> |
| </li> |
| <li> <p><code>sQuote()</code> and <code>dQuote()</code> now handle 0-length |
| inputs. (Suggestion of Ben Bolker.) |
| </p> |
| </li> |
| <li> <p><code>summaryRprof()</code> returns zero-row data frames rather |
| than throw an error if no events are recorded, for consistency. |
| </p> |
| </li> |
| <li><p> The included version of PCRE has been updated to 8.32. |
| </p> |
| </li> |
| <li><p> The <span class="pkg">tcltk</span> namespace can now be re-loaded after |
| unloading. |
| </p> |
| <p>The Tcl/Tk event loop is inhibited in a forked child from package |
| <span class="pkg">parallel</span> (as in e.g. <code>mclapply()</code>). |
| </p> |
| </li> |
| <li> <p><code>parallel::makeCluster()</code> recognizes the value |
| <span class="samp">random</span> for the environment variable <span class="env">R_PARALLEL_PORT</span>: |
| this chooses a random value for the port and reduces the chance of |
| conflicts when multiple users start a cluster at the same time. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>UTILITIES</h4> |
| |
| |
| <ul> |
| <li><p> The default for <span class="env">TAR</span> on Windows for <code>R CMD |
| build</code> has been changed to be <span class="samp">internal</span> if no |
| <code>tar</code> command is on the path. |
| </p> |
| <p>This enables most packages to be built ‘out of the box’ |
| without <code>Rtools</code>: the main exceptions are those which need |
| to be installed to re-build vignettes and need <code>Rtools</code> |
| for installation (usually because they contain compiled code). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>C-LEVEL FACILITIES</h4> |
| |
| |
| <ul> |
| <li><p> On a 64-bit Windows platform with enough RAM, <code>R_alloc</code> |
| can now allocate up to just under 32GB like other 64-bit |
| platforms. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>DEPRECATED AND DEFUNCT</h4> |
| |
| |
| <ul> |
| <li><p> Use of <code>col2rgb(0)</code> is deprecated (see the help page |
| for its limitations). |
| </p> |
| </li> |
| <li><p> The deprecated <code>intensities</code> component returned by |
| <code>hist()</code> is no longer recognized by the <code>plot()</code> method |
| and will be removed in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 3.0.0. |
| </p> |
| </li> |
| <li> <p><code>real()</code>, <code>as.real()</code> and <code>is.real()</code> are now |
| formally deprecated and give a warning. |
| </p> |
| </li> |
| <li><p> This is formal notice that the non-API EISPACK entry points |
| in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> will be removed shortly. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> The <code>configure</code> tests for Objective C and Objective |
| C++ now work on Mac OS 10.8 with Xcode 4.5.2 (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15107">PR#15107</a>). |
| </p> |
| </li> |
| <li><p> The cairo-based versions of <code>X11()</code> now work with |
| current versions of cairographics (e.g., 1.12.10). (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15168">PR#15168</a>) |
| </p> |
| <p>A workaround for earlier versions of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> is to use |
| <code>X11.options(type = "nbcairo")</code>. |
| </p> |
| </li> |
| <li><p> Configuration and <code>R CMD javareconf</code> now come up |
| with a smaller set of library paths for Java on Oracle-format JDK |
| (including OpenJDK). This helps avoid conflicts between libraries |
| (such as <code>libjpeg</code>) supplied in the JDK and system |
| libraries. This can always be overridden if needed: see the |
| ‘R Installation and Administration’ manual. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li> <p><code>beta(a, b)</code> could overflow to infinity in its |
| calculations when one of <code>a</code> and <code>b</code> was less than one. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15075">PR#15075</a>) |
| </p> |
| </li> |
| <li> <p><code>lbeta(a, b)</code> no longer gives <code>NaN</code> if <code>a</code> or |
| <code>b</code> is very small (in the denormalized range). |
| </p> |
| </li> |
| <li> <p><code>bquote()</code> is now able to substitute default arguments in |
| single-argument functions. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15077">PR#15077</a>) |
| </p> |
| </li> |
| <li> <p><code>browseEnv(html = FALSE)</code> would segfault if called from |
| <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> (not <code>R.app</code>) on a CRAN-style Mac OS X build of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>. |
| </p> |
| </li> |
| <li> <p><span class="samp">[[<-</span> for lists (generic vectors) needed to increment |
| <code>NAMED</code> count when RHS is used more than once. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15098">PR#15098</a>) |
| </p> |
| </li> |
| <li><p> On Windows, warnings about opening a file or pipe with a |
| non-ASCII description were sometimes output in UTF-8 rather than |
| in the current locale's character set. |
| </p> |
| </li> |
| <li><p> The <code>call()</code> function did not duplicate its arguments. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15115">PR#15115</a>) |
| </p> |
| </li> |
| <li> <p><code>TukeyHSD()</code> could give <code>NA</code> results with some |
| <span class="samp">na.action</span> methods such as <code>na.exclude()</code>. |
| (Hinted at on R-help by John Fox.) |
| </p> |
| </li> |
| <li><p> The deprecated <code>svd(X, LINPACK = TRUE)</code> could alter |
| <code>X</code> in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.15.[12]. (Reported by Bill Dunlap.) |
| </p> |
| </li> |
| <li><p> Under Windows, <code>file.link()</code> and <code>file.symlink()</code> |
| used the link name twice, so would always fail. (Reported |
| by Rui Barradas/Oliver Soong). |
| </p> |
| </li> |
| <li> <p><code>summaryRprof(memory = "both")</code> mixed up the units of |
| Vcells and Ncells: it now works in bytes. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15138">PR#15138</a>) |
| </p> |
| </li> |
| <li> <p><code>tools::Rd2HTML()</code> would sometimes delete text. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15134">PR#15134</a>) |
| </p> |
| </li> |
| <li> <p><code>plot()</code> failed for <code>"table"</code> objects containing |
| just one entry. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15118">PR#15118</a>) |
| </p> |
| </li> |
| <li> <p><code>embedFonts()</code> needed to quote some filepaths. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15149">PR#15149</a>) |
| </p> |
| </li> |
| <li> <p><code>parallel::mccollect()</code> handled <code>NULL</code> returns |
| incorrectly (removing the element rather than setting it to |
| <code>NULL</code>). |
| </p> |
| </li> |
| <li><p> The full reference index (‘<span class="file">fullrefman.pdf</span>’) was missing |
| packages <span class="pkg">compiler</span> and <span class="pkg">parallel</span>. |
| </p> |
| </li> |
| <li><p> The report for |
| <code>optim(method = "L-BFGS-B", control = list(trace = 1))</code> |
| reported the last completed and not the current iteration, unlike |
| other methods and trace levels. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15103">PR#15103</a>) |
| </p> |
| </li> |
| <li> <p><code>qt(1e-12, 1.2)</code> no longer gives <code>NaN</code>. |
| </p> |
| </li> |
| <li> <p><code>dt(1e160, 1.2, log=TRUE)</code> no longer gives <code>-Inf</code>. |
| </p> |
| </li> |
| <li><p> On Windows the <code>untar()</code> function now quotes the |
| directory name when using an external <code>tar</code> utility, so |
| <code>R CMD check</code> will handle pathnames containing spaces. |
| </p> |
| </li> |
| <li><p> The version for Windows 8 and Windows Server 2012 is now |
| displayed by <code>win.version()</code>. (Reported by Gabor |
| Grothendieck.) |
| </p> |
| </li> |
| <li><p> The custom Windows installer target <code>myR</code> in the |
| installer ‘<span class="file">Makefile</span>’ did not work in 2.15.2. (Reported |
| by Erich Neuwirth.) |
| </p> |
| </li> |
| <li> <p><code>aperm(matrix(1:6, 2, dimnames=list(A={}, B={})), "A")</code> |
| no longer segfaults. |
| </p> |
| </li> |
| <li><p> Expressions involving user defined operators were not |
| always deparsed faithfully. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15179">PR#15179</a>) |
| </p> |
| </li> |
| <li><p> The <code>enc2utf8()</code> function converted <code>NA_character_</code> |
| to <code>"NA"</code> in non-UTF-8 locales. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15201">PR#15201</a>) |
| </p> |
| </li> |
| <li><p> The <code>exclude</code> argument to <code>xtabs()</code> was ignored |
| for <code>"factor"</code> arguments. |
| </p> |
| </li> |
| <li><p> On Windows, work around an event-timing problem when |
| the RGui console was closed from the ‘X’ control and the closure |
| cancelled. (This would on some 64-bit systems crash <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>, typically |
| those with a slow GPU relative to the CPU.) |
| </p> |
| </li> |
| <li><p> On unix <code>Rscript</code> will pass the <code>r_arch</code> setting |
| it was compiled with on to the R process so that the architecture |
| of <code>Rscript</code> and that of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> will match unless overridden. |
| </p> |
| </li> |
| <li><p> On Windows, <code>basename()</code>, <code>dirname()</code> and |
| <code>file.choose()</code> have more support for long non-ASCII file |
| names with 260 or more bytes when expressed in UTF-8. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.15.2</h3> |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li><p> The <code>X11()</code> window gains an icon: the |
| latter may be especially useful on Ubuntu's ‘Unity’ |
| interface. |
| </p> |
| <p>The <code>WM_CLASS</code> should be set in circumstances where the |
| Window Manager failed to make use of X11 resource settings. |
| </p> |
| <p>(Contributed by Philip Johnson.) |
| </p> |
| </li> |
| <li><p> The <code>"Date"</code> and <code>"POSIXt"</code> methods for |
| <code>cut()</code> will accept an unsorted <code>breaks</code> argument (as |
| the default method does, although this was undocumented). |
| (Wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14961">PR#14961</a>.) |
| </p> |
| </li> |
| <li><p> Reference class methods (in the <span class="pkg">methods</span> package) that |
| use other methods in an indirect way (e.g., by <code>sapply()</code>) |
| must tell the code analysis to include that method. They can now |
| do so by invoking <code>$usingMethods()</code>. |
| </p> |
| </li> |
| <li><p> More Polish translations are available: for the |
| <code>RGui</code> menus and for several recommended packages. |
| </p> |
| </li> |
| <li><p> Multistratum MANOVA works. In fact, it seems to have done so |
| for years in spite of the help page claiming it did not. |
| </p> |
| </li> |
| <li> <p><code>qqline()</code> has new optional arguments |
| <code>distribution</code>, <code>probs</code> and <code>qtype</code>, following the |
| example of <a href="https://CRAN.R-project.org/package=lattice"><span class="pkg">lattice</span></a>'s <code>panel.qqmathline()</code>. |
| </p> |
| </li> |
| <li><p> The handling of single quotes in the <code>en@quot</code> |
| pseudo-language has been slightly improved. Double quotes are no |
| longer converted. |
| </p> |
| </li> |
| <li><p> New functions <code>checkPoFiles()</code> and <code>checkPoFile()</code> |
| have been added to the <span class="pkg">tools</span> package to check for |
| consistency of format strings in translation files. |
| </p> |
| </li> |
| <li> <p><code>model.matrix(~1, ...)</code> now also contains the same |
| rownames that less trivial formulae produce. (Wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14992">PR#14992</a>, |
| changes the output of several packages.) |
| </p> |
| </li> |
| <li><p> Misuse of <code>rep()</code> on undocumented types of objects |
| (e.g., calls) is now reported as an error. |
| </p> |
| </li> |
| <li><p> The included LAPACK has been updated to 3.4.1, with some |
| patches from the current SVN sources. (<em>Inter alia</em>, this |
| resolves <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14692">PR#14692</a>.) |
| </p> |
| </li> |
| <li> <p><code>file.copy(recursive = TRUE)</code> has some additional |
| checks on user error leading to attempted infinite recursion (and on |
| some platforms to crashing <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>). |
| </p> |
| </li> |
| <li><p> PCRE has been updated to version 8.31, a bug-fix release. |
| </p> |
| </li> |
| <li><p> The included version of <code>liblzma</code> has been updated to |
| version 5.0.4, a minor bug-fix release. |
| </p> |
| </li> |
| <li><p> New function <code>.bincode()</code>, a ‘bare-bones’ |
| version of <code>cut.default(labels = FALSE)</code> for use in packages |
| with <code>image()</code> methods. |
| </p> |
| </li> |
| <li><p> The HTML manuals now use directional single quotes. |
| </p> |
| </li> |
| <li> <p><code>maintainer()</code> now converts embedded new lines to |
| spaces. It no longer gives a non-obvious error for non-installed |
| packages. |
| </p> |
| </li> |
| <li><p> The <code>X11()</code> device has some protection against |
| being used with forked processes <em>via</em> package <span class="pkg">parallel</span>. |
| </p> |
| </li> |
| <li><p> Setting the environment variable <span class="env">R_OSX_VALGRIND</span> (to |
| any value) allows <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> to be run under <code>valgrind</code> on Mac OS |
| 10.6 and 10.7 (<code>valgrind</code> currently has very limited |
| support for 10.8), provided <code>system()</code> is not used (directly |
| or indirectly). This should not be needed for <code>valgrind</code> |
| >= 3.8.1. |
| </p> |
| </li> |
| <li><p> The <code>model.frame()</code> method for <code>"lm"</code> uses |
| <code>xlevels</code>: this is safer if <code>data</code> was supplied or |
| <code>model = FALSE</code> was used and the levels of factors used in |
| the fit had been re-ordered since fitting. |
| </p> |
| <p>Similarly, <code>model.frame(fm, data=<data>)</code> copies across |
| the variables used for safe prediction from the fit. |
| </p> |
| </li> |
| <li><p> Functions such as <code>parLapply()</code> in package |
| <span class="pkg">parallel</span> can make use of a default cluster if one is set. |
| (Reported by Martin Morgan.) |
| </p> |
| </li> |
| <li> <p><code>chol(pivot = TRUE, LINPACK = FALSE)</code> is now available |
| using LAPACK 3.2 subroutine <code>DPSTRF</code>. |
| </p> |
| </li> |
| <li><p> The functions <code>.C()</code>, <code>.Call()</code>, |
| <code>.External()</code> and <code>.Fortran()</code> now check that they are |
| called with an unnamed first argument: the formal arguments were |
| changed from <code>name=</code> to <code>.NAME=</code> in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.13.0, but some |
| packages were still using the old name. This is currently a |
| warning, but will be an error in future. |
| </p> |
| </li> |
| <li> <p><code>step()</code> no longer tries to improve a model with |
| AIC of <code>-Inf</code> (a perfect fit). |
| </p> |
| </li> |
| <li> <p><code>spline()</code> and <code>splinefun()</code> gain a new method |
| <code>"hyman"</code>, an implementation of Hyman's method of |
| constructing monotonic interpolation splines. (Based on |
| contributions of Simon Wood and Rob Hyndman.) |
| </p> |
| </li> |
| <li><p> On Windows, the C stack size has been increased to 64MB (it |
| has been 10MB since the days of 32MB RAM systems). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>PERFORMANCE IMPROVEMENTS</h4> |
| |
| |
| <ul> |
| <li> <p><code>array()</code> is now implemented in C code (for speed) when |
| <code>data</code> is atomic or an unclassed list (so it is known that |
| <code>as.vector(data)</code> will have no class to be used by <code>rep()</code>). |
| </p> |
| </li> |
| <li> <p><code>rep()</code> is faster and uses less memory, |
| substantially so in some common cases (e.g., if <code>times</code> is of |
| length one or <code>length.out</code> is given, and <code>each = 1</code>). |
| </p> |
| </li> |
| <li> <p><code>findInterval()</code>, <code>tabulate()</code>, <code>cut()</code>, |
| <code>hist()</code> and <code>image.default()</code> all use <code>.Call()</code> |
| and are more efficient. |
| </p> |
| </li> |
| <li> <p><code>duplicated()</code>, <code>unique()</code> and similar now |
| support vectors of lengths above <i>2^29</i> on 64-bit |
| platforms. |
| </p> |
| </li> |
| <li><p> Omitting <code>PACKAGE</code> in <code>.C()</code> etc calls was |
| supposed to make use of the DLL from the namespace within which |
| the enclosing function was defined. It was less successful in |
| doing so than it might be, and gave no indication it had failed. |
| </p> |
| <p>A new search strategy is very successful and gives a warning |
| when it fails. In most cases this is because the entry point is |
| not actually provided by that package (and so <code>PACKAGE</code> |
| should be used to indicate which package is intended) but in some |
| the namespace does not have a DLL specified by a |
| <code>useDynLib()</code> directive so <code>PACKAGE</code> is required. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>UTILITIES</h4> |
| |
| |
| <ul> |
| <li> <p><code>R CMD check</code> now checks if a package can be loaded |
| by <code>library(pkgname, lib.loc = "somewhere")</code> without being on |
| the library search path (unless it is already installed in |
| <code>.Library</code>, when it always will be). |
| </p> |
| </li> |
| <li> <p><code>R CMD check --as-cran</code> notes ‘hidden’ files |
| and directories (with names starting with a dot) that are not |
| needed for the operation of <code>R CMD INSTALL</code> or <code>R CMD |
| build</code>: such files should be excluded from the published tarball. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> (if checking subdirectories) checks |
| that the <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> code in any demos is ASCII and can be parsed, and |
| warns if not. |
| </p> |
| </li> |
| <li><p> When <code>R CMD Rd2pdf</code> is used with ‘<span class="file">inputenx.sty</span>’, |
| it allows further characters (mainly for Eastern European |
| languages) by including ‘<span class="file">ix-utf8enc.dfu</span>’ (if available). |
| (Wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14989">PR#14989</a>.) |
| </p> |
| </li> |
| <li> <p><code>R CMD build</code> now omits several types of hidden |
| files/directories, including ‘<span class="file">inst/doc/.Rinstignore</span>’, |
| ‘<span class="file">vignettes/.Rinstignore</span>’, (‘<span class="file">.Rinstignore</span>’ should be at |
| top level), ‘<span class="file">.deps</span>’ under ‘<span class="file">src</span>’, ‘<span class="file">.Renviron</span>’, |
| ‘<span class="file">.Rprofile</span>’, ‘<span class="file">.Rproj.user</span>’, ‘<span class="file">.backups</span>’, |
| ‘<span class="file">.cvsignore</span>’, ‘<span class="file">.cproject</span>’, ‘<span class="file">.directory</span>’, |
| ‘<span class="file">.dropbox</span>’, ‘<span class="file">.exrc</span>’, ‘<span class="file">.gdb.history</span>’, |
| ‘<span class="file">.gitattributes</span>’, ‘<span class="file">.gitignore</span>’, ‘<span class="file">.gitmodules</span>’, |
| ‘<span class="file">.hgignore</span>’, ‘<span class="file">.hgtags</span>’, ‘<span class="file">.htaccess</span>’, |
| ‘<span class="file">.latex2html-init</span>’, ‘<span class="file">.project</span>’, ‘<span class="file">.seed</span>’, |
| ‘<span class="file">.settings</span>’, ‘<span class="file">.tm_properties</span>’ and various leftovers. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> now checks for <code>.C()</code>, |
| <code>.Call()</code>, <code>.External()</code> and <code>.Fortran()</code> calls in |
| other packages, and gives a warning on those found from <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> itself |
| (which are not part of the API and change without notice: many |
| will be changed for <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 3.0.0). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>C-LEVEL FACILITIES</h4> |
| |
| |
| <ul> |
| <li><p> The limit for <code>R_alloc</code> on 64-bit platforms has been |
| raised to just under 32GB (from just under 16GB). |
| </p> |
| </li> |
| <li><p> The misuse of <code>.C("name", ..., PACKAGE = foo)</code> where |
| <code>foo</code> is an arbitrary <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> object is now an error. |
| </p> |
| <p>The misuse <code>.C("name",..., PACKAGE = "")</code> is now warned about |
| in <code>R CMD check</code>, and will be an error in future. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>DEPRECATED AND DEFUNCT</h4> |
| |
| |
| <ul> |
| <li><p> Use of <code>array()</code> with a 0-length <code>dim</code> argument is |
| deprecated with a warning (and was contrary to the documentation). |
| </p> |
| </li> |
| <li><p> Use of <code>tapply()</code> with a 0-length <code>INDEX</code> list is |
| deprecated with a warning. |
| </p> |
| </li> |
| <li> <p><span class="samp">Translation</span> packages are deprecated. |
| </p> |
| </li> |
| <li><p> Calling <code>rep()</code> or <code>rep.int()</code> on a pairlist is |
| deprecated and will give a warning. In any case, <code>rep()</code> |
| converted a pairlist to a list so you may as well do that |
| explicitly. |
| </p> |
| </li> |
| <li><p> Entry point <code>rcont2</code> is no longer part of the API, and |
| will move to package <span class="pkg">stats</span> in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 3.0.0. |
| </p> |
| </li> |
| <li><p> The ‘internal’ graphics device invoked by |
| <code>.Call("R_GD_nullDevice", package = "grDevices")</code> is about to |
| be removed: use <code>pdf(file = NULL)</code> instead. |
| </p> |
| </li> |
| <li> <p><code>eigen(EISPACK = TRUE)</code>, |
| <code>chol(pivot = FALSE, LINPACK = TRUE)</code>, |
| <code>chol2inv(LINPACK = TRUE)</code>, <code>solve(LINPACK = TRUE)</code> and |
| <code>svd(LINPACK = TRUE)</code> are deprecated and give a warning. |
| </p> |
| <p>They were provided for compatibility with <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 1.7.0 (Mar 2003)! |
| </p> |
| </li> |
| <li><p> The ‘internal function’ <code>kappa.tri()</code> has been |
| renamed to <code>.kappa_tri()</code> so it is not inadvertently called |
| as a method for class <code>"tri"</code>. |
| </p> |
| </li> |
| <li><p> Functions <code>sessionData()</code> and <code>browseAll()</code> in |
| package <span class="pkg">methods</span> are on a help page describing them as |
| ‘deprecated’ and are now formally deprecated. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>PACKAGE INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> For a Windows or Mac OS X binary package install, |
| <code>install.packages()</code> will check if a source package is |
| available on the same repositories, and report if it is a later |
| version or there is a source package but no binary package |
| available. |
| </p> |
| <p>This check can be suppressed: see the help page. |
| </p> |
| </li> |
| <li> <p><code>install.packages(type = "both")</code> has been enhanced. |
| In interactive use it will ask whether to choose the source |
| version of a package if the binary version is older and contains |
| compiled code, and also asks if source packages with no binary |
| version should be installed). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> There is a new <code>configure</code> option |
| <span class="option">--with-libtiff</span> (mainly in case the system installation |
| needs to be avoided). |
| </p> |
| </li> |
| <li><p> LAPACK 3.4.1 does use some Fortran 90 features, so |
| <code>g77</code> no longer suffices. |
| </p> |
| </li> |
| <li><p> If an external LAPACK is used, it must be version 3.2 or later. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li><p> On Windows, starting <code>Rterm</code> via <code>R.exe</code> |
| caused Ctrl-C to misbehave. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14948">PR#14948</a>) |
| </p> |
| </li> |
| <li><p> The <code>tools::latexToUtf8()</code> function missed conversions that |
| were contained within braces. |
| </p> |
| </li> |
| <li><p> Long timezone specifications (such as a file name preceded |
| by <code>:</code>) could crash <code>as.POSIXlt</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14945">PR#14945</a>) |
| </p> |
| </li> |
| <li> <p><code>R CMD build --resave-data</code> could fail if there was no |
| ‘<span class="file">data</span>’ directory but there was an ‘<span class="file">R/sysdata.rda</span>’ file. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14947">PR#14947</a>) |
| </p> |
| </li> |
| <li> <p><code>is.na()</code> misbehaved on a 0-column data frame. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14959">PR#14959</a>) |
| </p> |
| </li> |
| <li> <p><code>anova.lmlist()</code> failed if <code>test</code> was |
| supplied. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14960">PR#14960</a>) |
| </p> |
| <p>It was unable to compute Cp tests for object of class <code>"lm"</code> |
| (it assumed class <code>"glm"</code>). |
| </p> |
| </li> |
| <li><p> The <code>formula</code> method for <code>sunflowerplot()</code> now |
| allows <code>xlab</code> and <code>ylab</code> to be set. (Reported by Gerrit |
| Eichner.) |
| </p> |
| </li> |
| <li><p> The <code>"POSIXt"</code> and <code>"Date"</code> methods for <code>hist()</code> |
| could fail on Windows where adjustments to the right-hand boundary |
| crossed a DST transition time. |
| </p> |
| </li> |
| <li><p> On Windows, the code in <code>as.POSIXct()</code> to handle |
| incorrectly specified <code>isdst</code> fields might have resulted in |
| <code>NA</code> being returned. |
| </p> |
| </li> |
| <li> <p><code>aov()</code> and <code>manova()</code> gave spurious warning about |
| singular error model in the multiresponse case. |
| </p> |
| </li> |
| <li><p> In <code>ns()</code> and <code>bs()</code>, specifying <code>knots = NULL</code> |
| is now equivalent to omitting it, also when <code>df</code> is |
| specified. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14970">PR#14970</a>) |
| </p> |
| </li> |
| <li> <p><code>sprintf()</code> did not accept numbered arguments ending |
| in zero. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14975">PR#14975</a>) |
| </p> |
| </li> |
| <li> <p><code>rWishart()</code> could overflow the C stack and maybe crash |
| the <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> process for dimensions of several hundreds or more. |
| (Reported by Michael Braun on R-sig-mac.) |
| </p> |
| </li> |
| <li><p> Base package vignettes (e.g., <code>vignette("Sweave")</code>) were |
| not fully installed in builds of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> from the tarball. |
| </p> |
| </li> |
| <li> <p><code>lchoose()</code> and <code>choose()</code> could overflow the C |
| stack and crash <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>. |
| </p> |
| </li> |
| <li><p> When given a 0-byte file and asked to keep source |
| references, <code>parse()</code> read input from <code>stdin()</code> |
| instead. |
| </p> |
| </li> |
| <li> <p><code>pdf(compress = TRUE)</code> did not delete temporary files |
| it created until the end of the <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> session. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14991">PR#14991</a>) |
| </p> |
| </li> |
| <li> <p><code>logLik()</code> did not detect the error of applying it |
| to a multiple-response linear model. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15000">PR#15000</a>) |
| </p> |
| </li> |
| <li> <p><code>file.copy(recursive = TRUE)</code> did not always report |
| <code>FALSE</code> for a failure two or more directories deep. |
| </p> |
| </li> |
| <li> <p><code>qgeom()</code> could return <code>-1</code> for extremely small |
| <code>q</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14967">PR#14967</a>) |
| </p> |
| </li> |
| <li> <p><code>smooth.spline()</code> used <code>DUP = FALSE</code> which allowed |
| its compiled C code to change the function: this was masked by the |
| default byte-compilation. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14965">PR#14965</a>) |
| </p> |
| </li> |
| <li><p> In Windows, the GUI preferences for foreground color were |
| not always respected. (Reported by Benjamin Wells.) |
| </p> |
| </li> |
| <li><p> On OS X, the Quartz versions of the bitmap devices did not |
| respect <code>antialias = "none"</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15006">PR#15006</a>) |
| </p> |
| </li> |
| <li> <p><code>unique()</code> and similar would infinite-loop if called on |
| a vector of length > <i>2^29</i> (but reported that the |
| vector was too long for <i>2^30</i> or more). |
| </p> |
| </li> |
| <li> <p><code>parallel::stopCluster()</code> now works with MPI |
| clusters without <a href="https://CRAN.R-project.org/package=snow"><span class="pkg">snow</span></a> being on the search path. |
| </p> |
| </li> |
| <li> <p><code>terms.formula()</code> could exhaust the stack, and the |
| stack check did not always catch this before the segfault. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15013">PR#15013</a>) |
| </p> |
| </li> |
| <li> <p><code>sort.list(method = "radix")</code> could give incorrect |
| results on certain compilers (seen with <code>clang</code> on Mac OS |
| 10.7 and <code>Xcode 4.4.1</code>). |
| </p> |
| </li> |
| <li> <p><code>backsolve(T, b)</code> gave incorrect results when |
| <code>nrows(b) > ncols(T)</code> and <code>b</code> had more than one column. |
| </p> |
| <p>It could segfault or give nonsense if <code>k</code> was specified as |
| more than <code>ncols(T)</code>. |
| </p> |
| </li> |
| <li> <p><code>smooth.spline()</code> did not check that a specified |
| numeric <code>spar</code> was of length 1, and gave corrupt results if |
| it was of length 0. |
| </p> |
| </li> |
| <li><p> Protection added to <code>do_system</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15025">PR#15025</a>) |
| </p> |
| </li> |
| <li><p> Printing of vectors with names > 1000 characters now works |
| correctly rather than truncating. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15028">PR#15028</a>) |
| </p> |
| </li> |
| <li> <p><code>qr()</code> for a complex matrix did not pivot the column names. |
| </p> |
| </li> |
| <li> <p><code>--with-blas='-framework vecLib'</code> now also works on OS X 10.8. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> no longer fails with an error if |
| a ‘<span class="file">DESCRIPTION</span>’ file incorrectly contains a blank line. |
| (Reported by Bill Dunlap.) |
| </p> |
| </li> |
| <li> <p><code>install.packages(type = "both")</code> could call |
| <code>chooseCRANmirror()</code> twice. |
| </p> |
| </li> |
| <li> <p><code>lm.wfit()</code> could segfault in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.15.1 if all the |
| weights were zero. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15044">PR#15044</a>) |
| </p> |
| </li> |
| <li><p> A malformed package name could cause <code>R CMD INSTALL</code> |
| to write outside the target library. |
| </p> |
| </li> |
| <li><p> Some of the quality control functions |
| (e.g., <code>tools::checkFF()</code>) were wrongly identifying the source |
| of S4 methods in a package and so not checking them. |
| </p> |
| </li> |
| <li><p> The default type of display by <code>browseEnv()</code> when using |
| <code>R.app</code> on Mac OS X has been incorrect for a long time. |
| </p> |
| </li> |
| <li><p> The implementation of <code>importMethodsFrom</code> in a |
| <code>NAMESPACE</code> file could be confused and fail to find generics |
| when importing from multiple packages (reported and fixed by |
| Michael Lawrence). |
| </p> |
| </li> |
| <li><p> The detection of the C stack direction is better protected |
| against compiler optimization. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15011">PR#15011</a>) |
| </p> |
| </li> |
| <li><p> Long custom line types would sometimes segfault on the |
| cairographics-based devices. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15055">PR#15055</a>) |
| </p> |
| </li> |
| <li> <p><code>tools::checkPoFile()</code> unprotected too early in its C |
| code and so segfaulted from time to time. |
| </p> |
| </li> |
| <li><p> The Fortran code underlying <code>nlminb()</code> could |
| infinite-loop if any of the input functions returned <code>NA</code> or |
| <code>NaN</code>. This is now an error for the gradient or Hessian, and |
| a warning for the function (with the value replaced by |
| <code>Inf</code>). (In part, <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15052">PR#15052</a>.) |
| </p> |
| </li> |
| <li><p> The code for creating <code>coerce()</code> methods could |
| generate false notes about ambiguous selection; the notes have |
| been suppressed for this function. |
| </p> |
| </li> |
| <li> <p><code>arima.sim()</code> could give too long an output in some |
| corner cases (in part, <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15068">PR#15068</a>). |
| </p> |
| </li> |
| <li> <p><code>anova.glm()</code> with <code>test = "Rao"</code> didn't work when |
| models included an offset. (Reported by Søren Feodor Nielsen.) |
| </p> |
| </li> |
| <li> <p><code>as.data.frame.matrix()</code> could return invalid data |
| frame with no <code>row.names</code> attribute for 0-row matrix. (Reported |
| by Hervé Pagès.) |
| </p> |
| </li> |
| <li><p> Compilation with the <code>vecLib</code> or <code>Accelerate</code> |
| frameworks on OS X without using that also for LAPACK is more |
| likely to be successful. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.15.1</h3> |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li> <p><code>source()</code> now uses <code>withVisible()</code> rather than |
| <code>.Internal(eval.with.vis)</code>. This sometimes alters tracebacks |
| slightly. |
| </p> |
| </li> |
| <li> <p><code>install.packages("pkg_version.tgz")</code> on Mac OS X now |
| has sanity checks that this is actually a binary package (as |
| people have tried it with incorrectly named source packages). |
| </p> |
| </li> |
| <li> <p><code>splineDesign()</code> and <code>spline.des()</code> in package |
| <span class="pkg">splines</span> have a new option <code>sparse</code> which can be used |
| for efficient construction of a sparse B-spline design matrix |
| (<em>via</em> <a href="https://CRAN.R-project.org/package=Matrix"><span class="pkg">Matrix</span></a>). |
| </p> |
| </li> |
| <li> <p><code>norm()</code> now allows <code>type = "2"</code> (the |
| ‘spectral’ or 2-norm) as well, mainly for didactical |
| completeness. |
| </p> |
| </li> |
| <li> <p><code>pmin()</code> and <code>pmax())</code> now also work when one of |
| the inputs is of length zero and others are not, returning a |
| zero-length vector, analogously to, say, <code>+</code>. |
| </p> |
| </li> |
| <li> <p><code>colorRamp()</code> (and hence <code>colorRampPalette()</code>) now |
| also works for the boundary case of just one color when the ramp is |
| flat. |
| </p> |
| </li> |
| <li> <p><code>.C()</code> gains some protection against the misuse of |
| character vector arguments. (An all too common error is to pass |
| <code>character(N)</code>, which initializes the elements to <code>""</code>, |
| and then attempt to edit the strings in-place, sometimes forgetting |
| to terminate them.) |
| </p> |
| </li> |
| <li><p> Calls to the new function <code>globalVariables()</code> in |
| package <span class="pkg">utils</span> declare that functions and other objects in a |
| package should be treated as globally defined, so that <code>CMD |
| check</code> will not note them. |
| </p> |
| </li> |
| <li> <p><code>print(packageDescription(*))</code> trims the <code>Collate</code> |
| field by default. |
| </p> |
| </li> |
| <li><p> The included copy of <code>zlib</code> has been updated to version |
| 1.2.7. |
| </p> |
| </li> |
| <li><p> A new option <code>"show.error.locations"</code> has been added. |
| When set to <code>TRUE</code>, error messages will contain the |
| location of the most recent call containing source reference |
| information. (Other values are supported as well; see |
| <code>?options</code>.) |
| </p> |
| </li> |
| <li><p> The NA warning messages from e.g. <code>pchisq()</code> now report |
| the call to the closure and not that of the <code>.Internal</code>. |
| </p> |
| </li> |
| <li><p> Added Polish translations by Łukasz Daniel. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>PERFORMANCE IMPROVEMENTS</h4> |
| |
| |
| <ul> |
| <li><p> In package <span class="pkg">parallel</span>, <code>makeForkCluster()</code> and the |
| multicore-based functions use native byte-order for serialization |
| (deferred from 2.15.0). |
| </p> |
| </li> |
| <li> <p><code>lm.fit()</code>, <code>lm.wfit()</code>, <code>glm.fit()</code> and |
| <code>lsfit()</code> do less copying of objects, mainly by using |
| <code>.Call()</code> rather than <code>.Fortran()</code>. |
| </p> |
| </li> |
| <li> <p><code>.C()</code> and <code>.Fortran()</code> do less copying: arguments |
| which are raw, logical, integer, real or complex vectors and are |
| unnamed are not copied before the call, and (named or not) are not |
| copied after the call. Lists are no longer copied (they are |
| supposed to be used read-only in the C code). |
| </p> |
| </li> |
| <li> <p><code>tabulate()</code> makes use of <code>.C(DUP = FALSE)</code> and |
| hence does not copy <code>bin</code>. (Suggested by Tim Hesterberg.) |
| It also avoids making a copy of a factor argument <code>bin</code>. |
| </p> |
| </li> |
| <li><p> Other functions (often or always) doing less copying include |
| <code>cut()</code>, <code>dist()</code>, the complex case of <code>eigen()</code>, |
| <code>hclust()</code>, <code>image()</code>, <code>kmeans()</code>, <code>loess()</code>, |
| <code>stl()</code> and <code>svd(LINPACK = TRUE)</code>. |
| </p> |
| </li> |
| <li><p> There is less copying when using primitive replacement |
| functions such as <code>names()</code>, <code>attr()</code> and |
| <code>attributes()</code>. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>DEPRECATED AND DEFUNCT</h4> |
| |
| |
| <ul> |
| <li><p> The converters for use with <code>.C()</code> (see |
| <code>?getCConverterDescriptions</code>) are deprecated: use the |
| <code>.Call()</code> interface instead. There are no known examples |
| (they were never fully documented). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>UTILITIES</h4> |
| |
| |
| <ul> |
| <li><p> For <code>R CMD check</code>, a few people have reported |
| problems with junctions on Windows (although they were tested on |
| Windows 7, XP and Server 2008 machines and it is unknown under |
| what circumstances the problems occur). Setting the environment |
| variable <span class="env">R_WIN_NO_JUNCTIONS</span> to a non-empty value (e.g., in |
| ‘<span class="file">~/.R/check.Renviron</span>’) will force copies to be used instead. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>INSTALLATION</h4> |
| |
| |
| <ul> |
| <li> <p><code>R CMD INSTALL</code> with <span class="env">_R_CHECK_INSTALL_DEPENDS_</span> |
| set to a true value (as done by <code>R CMD check --as-cran</code>) |
| now restricts the packages available when lazy-loading as well |
| as when test-loading (since packages such as <a href="https://CRAN.R-project.org/package=ETLUtils"><span class="pkg">ETLUtils</span></a> |
| and <a href="https://CRAN.R-project.org/package=agsemisc"><span class="pkg">agsemisc</span></a> had top-level calls to <code>library()</code> |
| for undeclared packages). |
| </p> |
| <p>This check is now also available on Windows. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>C-LEVEL FACILITIES</h4> |
| |
| |
| <ul> |
| <li><p> C entry points <code>mkChar</code> and <code>mkCharCE</code> now check |
| that the length of the string they are passed does not exceed |
| <i>2^31-1</i> bytes: they used to overflow with |
| unpredictable consequences. |
| </p> |
| </li> |
| <li><p> C entry points <code>R_GetCurrentSrcref</code> and |
| <code>R_GetSrcFilename</code> have been added to the API to allow |
| debuggers access to the source references on the stack. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>WINDOWS-SPECIFIC CHANGES</h4> |
| |
| |
| <ul> |
| <li><p> Windows-specific changes will now be announced in this file |
| (‘<span class="file">NEWS</span>’). Changes up and including <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.15.0 remain in the |
| ‘<span class="file">CHANGES</span>’ file. |
| </p> |
| </li> |
| <li><p> There are two new environment variables which |
| control the defaults for command-line options. |
| </p> |
| <p>If <span class="env">R_WIN_INTERNET2</span> is set to a non-empty value, it is as if |
| <span class="option">--internet2</span> was used. |
| </p> |
| <p>If <span class="env">R_MAX_MEM_SIZE</span> is set, it gives the default memory limit |
| if <span class="option">--max-mem-size</span> is not specified: invalid values being |
| ignored. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li> <p><code>lsfit()</code> lost the names from the residuals. |
| </p> |
| </li> |
| <li><p> More cases in which <code>merge()</code> could create a data frame |
| with duplicate column names now give warnings. Cases where |
| names specified in <code>by</code> match multiple columns are errors. |
| </p> |
| </li> |
| <li><p> Nonsense uses such as <code>seq(1:50, by = 5)</code> (from package |
| <a href="https://CRAN.R-project.org/package=plotrix"><span class="pkg">plotrix</span></a>) and <code>seq.int(1:50, by = 5)</code> are now errors. |
| </p> |
| </li> |
| <li><p> The residuals in the 5-number summary printed by |
| <code>summary()</code> on an <code>"lm"</code> object are now explicitly |
| labelled as weighted residuals when non-constant weights are |
| present. (Wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14840">PR#14840</a>.) |
| </p> |
| </li> |
| <li> <p><code>tracemem()</code> reported that all objects were copied |
| by <code>.C()</code> or <code>.Fortran()</code> whereas only some object types |
| were ever copied. |
| </p> |
| <p>It also reported and marked as copies <em>some</em> transformations |
| such as <code>rexp(n, x)</code>: it no longer does so. |
| </p> |
| </li> |
| <li><p> The <code>plot()</code> method for class <code>"stepfun"</code> only |
| used the optional <code>xval</code> argument to compute <code>xlim</code> and |
| not the points at which to plot (as documented). (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14864">PR#14864</a>) |
| </p> |
| </li> |
| <li><p> Names containing characters which need to be escaped were |
| not deparsed properly. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14846">PR#14846</a>) |
| </p> |
| </li> |
| <li><p> Trying to update (recommended) packages in |
| ‘<span class="file">R_HOME/library</span>’ without write access is now dealt with more |
| gracefully. Further, such package updates may be skipped (with a |
| warning), when a newer installed version is already going to be |
| used from <code>.libPaths()</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14866">PR#14866</a>) |
| </p> |
| </li> |
| <li> <p><code>hclust()</code> is now fast again (as up to end of 2003), |
| with a different fix for the "median"/"centroid" problem. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=4195">PR#4195</a>). |
| </p> |
| </li> |
| <li> <p><code>get_all_vars()</code> failed when the data came entirely |
| from vectors in the global environment. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14847">PR#14847</a>) |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> with <span class="env">_R_CHECK_NO_RECOMMENDED_</span> |
| set to a true value (as done by the <code>--as-cran</code> option) |
| could issue false errors if there was an indirect dependency |
| on a recommended package. |
| </p> |
| </li> |
| <li> <p><code>formatC()</code> uses the C entry point <code>str_signif</code> |
| which could write beyond the length allocated for the output string. |
| </p> |
| </li> |
| <li><p> Missing default argument added to implicit S4 generic for |
| <code>backsolve()</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14883">PR#14883</a>) |
| </p> |
| </li> |
| <li><p> Some bugs have been fixed in handling load actions that |
| could fail to export assigned items or generate spurious warnings |
| in <code>CMD check</code> on loading. |
| </p> |
| </li> |
| <li><p> For <code>tiff(type = "windows")</code>, the numbering of per-page |
| files except the last was off by one. |
| </p> |
| </li> |
| <li><p> On Windows, loading package <span class="pkg">stats</span> (which is done for |
| a default session) would switch line endings on ‘<span class="file">stdout</span>’ |
| and ‘<span class="file">stderr</span>’ from CRLF to LF. This affected |
| <code>Rterm</code> and <code>R CMD BATCH</code>. |
| </p> |
| </li> |
| <li><p> On Windows, the compatibility function <code>x11()</code> had |
| not kept up with changes to <code>windows()</code>, and issued |
| warnings about bad parameters. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14880">PR#14880</a>) |
| </p> |
| </li> |
| <li><p> On Windows, the <code>Sys.glob()</code> function did not handle |
| UNC paths as it was designed to try to do. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14884">PR#14884</a>) |
| </p> |
| </li> |
| <li><p> In package <span class="pkg">parallel</span>, <code>clusterApply()</code> and similar |
| failed to handle a (pretty pointless) length-1 argument. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14898">PR#14898</a>) |
| </p> |
| </li> |
| <li><p> Quartz Cocoa display reacted asynchronously to |
| <code>dev.flush()</code> which means that the redraw could be performed |
| after the plot has been already modified by subsequent code. The |
| redraw is now done synchronously in <code>dev.flush()</code> to allow |
| animations without sleep cycles. |
| </p> |
| </li> |
| <li><p> Source locations reported in <code>traceback()</code> were |
| incorrect when byte-compiled code was on the stack. |
| </p> |
| </li> |
| <li> <p><code>plogis(x, lower = FALSE, log.p = TRUE)</code> no longer |
| underflows early for large x (e.g., 800). |
| </p> |
| </li> |
| <li> <p><code>?Arithmetic</code>'s “<code>1 ^ y</code> and <code>y ^ 0</code> |
| are <code>1</code>, <em>always</em>” now also applies for <code>integer</code> |
| vectors <code>y</code>. |
| </p> |
| </li> |
| <li><p> X11-based pixmap devices like <code>png(type = "Xlib")</code> were |
| trying to set the cursor style, which triggered some warnings and |
| hangs. |
| </p> |
| </li> |
| <li><p> Code executed by the built-in HTTP server no longer allows |
| other HTTP clients to re-enter <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> until the current worker |
| evaluation finishes, to prevent cascades. |
| </p> |
| </li> |
| <li><p> The <code>plot()</code> and <code>Axis()</code> methods for class |
| <code>"table"</code> now respect graphical parameters such as |
| <code>cex.axis</code>. (Reported by Martin Becker.) |
| </p> |
| </li> |
| <li><p> Under some circumstances <code>package.skeleton()</code> would |
| give out progress reports that could not be translated and so were |
| displayed by question marks. Now they are always in English. |
| (This was seen for CJK locales on Windows, but may have occurred |
| elsewhere.) |
| </p> |
| </li> |
| <li><p> The evaluator now keeps track of source references outside |
| of functions, e.g. when <code>source()</code> executes a script. |
| </p> |
| </li> |
| <li><p> The replacement method for <code>window()</code> now works |
| correctly for multiple time series of class <code>"mts"</code>. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14925">PR#14925</a>) |
| </p> |
| </li> |
| <li> <p><code>is.unsorted()</code> gave incorrect results on non-atomic |
| objects such as data frames. (Reported by Matthew Dowle.) |
| </p> |
| </li> |
| <li><p> The value returned by <code>tools::psnice()</code> for invalid |
| <code>pid</code> values was not always <code>NA</code> as documented. |
| </p> |
| </li> |
| <li><p> Closing an <code>X11()</code> window while <code>locator()</code> was |
| active could abort the <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> process. |
| </p> |
| </li> |
| <li> <p><code>getMethod(f, sig)</code> produced an incorrect error message |
| in some cases when <code>f</code> was not a string). |
| </p> |
| </li> |
| <li><p> Using a string as a “call” in an error condition |
| with <code>options(showErrorCalls=TRUE)</code> could cause a segfault. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14931">PR#14931</a>) |
| </p> |
| </li> |
| <li><p> The string <code>"infinity"</code> allowed by C99 was not accepted |
| as a numerical string value by e.g. <code>scan()</code> and |
| <code>as.numeric()</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14933">PR#14933</a>) |
| </p> |
| </li> |
| <li><p> In <code>legend()</code>, setting some entries of <code>lwd</code> to |
| <code>NA</code> was inconsistent (depending on the graphics device) in |
| whether it would suppress those lines; now it consistently does |
| so. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14926">PR#14926</a>) |
| </p> |
| </li> |
| <li> <p><code>by()</code> failed for a zero-row data frame. (Reported by |
| Weiqiang Qian.) |
| </p> |
| </li> |
| <li><p> The Yates' correction in <code>chisq.test()</code> could be bigger |
| than the terms it corrected, previously leading to an infinite |
| test statistic in some corner cases which are now reported as |
| <code>NaN</code>. |
| </p> |
| </li> |
| <li> <p><code>xgettext()</code> and related functions sometimes returned |
| items that were not strings for translation. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14935">PR#14935</a>) |
| </p> |
| </li> |
| <li> <p><code>plot(<lm>, which=5)</code> now correctly labels the factor |
| level combinations for the special case where all |
| <i>h[i,i]</i> are the same. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14837">PR#14837</a>) |
| </p> |
| </li> |
| <li> <p><code>Sys.glob()</code> caused a segfault if the first element of |
| <code>path</code> was <code>NA_character</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14990">PR#14990</a>) |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.15.0</h3> |
| |
| |
| |
| <h4>SIGNIFICANT USER-VISIBLE CHANGES</h4> |
| |
| |
| <ul> |
| <li><p> The behaviour of <code>unlink(recursive = TRUE)</code> for a |
| symbolic link to a directory has changed: it now removes the link |
| rather than the directory contents (just as <code>rm -r</code> does). |
| </p> |
| <p>On Windows it no longer follows reparse points (including |
| junctions and symbolic links). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li><p> Environment variable <span class="env">RD2DVI_INPUTENC</span> has been renamed |
| to <span class="env">RD2PDF_INPUTENC</span>. |
| </p> |
| </li> |
| <li> <p><code>.Deprecated()</code> becomes a bit more flexible, getting an |
| <code>old</code> argument. |
| </p> |
| </li> |
| <li><p> Even data-only packages without <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> code need a namespace and |
| so may need to be installed under <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.14.0 or later. |
| </p> |
| </li> |
| <li> <p><code>assignInNamespace()</code> has further restrictions on use |
| apart from at top-level, as its help page has warned. |
| Expect it to be disabled from programmatic use in the future. |
| </p> |
| </li> |
| <li> <p><code>system()</code> and <code>system2()</code> when capturing output |
| report a non-zero status in the new <code>"status"</code> attribute. |
| </p> |
| </li> |
| <li> <p><code>kronecker()</code> now has an S4 generic in package |
| <span class="pkg">methods</span> on which packages can set methods. It will be |
| invoked by <code>X %x% Y</code> if either <code>X</code> or <code>Y</code> is an S4 |
| object. |
| </p> |
| </li> |
| <li> <p><code>pdf()</code> accepts forms like <code>file = "|lpr"</code> in the |
| same way as <code>postscript()</code>. |
| </p> |
| </li> |
| <li> <p><code>pdf()</code> accepts <code>file = NULL</code>. |
| This means that the device does NOT create a PDF file |
| (but it can still be queried, e.g., for font metric info). |
| </p> |
| </li> |
| <li> <p><code>format()</code> (and hence <code>print()</code>) on |
| <code>"bibentry"</code> objects now uses <code>options("width")</code> to |
| set the output width. |
| </p> |
| </li> |
| <li> <p><code>legend()</code> gains a <code>text.font</code> argument. (Suggested |
| by Tim Paine, <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14719">PR#14719</a>.) |
| </p> |
| </li> |
| <li> <p><code>nchar()</code> and <code>nzchar()</code> no longer accept factors |
| (as integer vectors). (Wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=6899">PR#6899</a>.) |
| </p> |
| </li> |
| <li> <p><code>summary()</code> behaves slightly differently (or more |
| precisely, its <code>print()</code> method does). For numeric inputs, the |
| number of NAs is printed as an integer and not a real. For dates |
| and datetimes, the number of NAs is included in the printed output |
| (the latter being the wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14720">PR#14720</a>). |
| </p> |
| <p>The <code>"data.frame"</code> method is more consistent with the default |
| method: in particular it now applies <code>zapsmall()</code> to |
| numeric/complex summaries. |
| </p> |
| </li> |
| <li><p> The number of items retained with <code>options(warn = 0)</code> |
| can be set by <code>options(nwarnings=)</code>. |
| </p> |
| </li> |
| <li><p> There is a new function <code>assignInMyNamespace()</code> which |
| uses the namespace of the function it is called from. |
| </p> |
| </li> |
| <li> <p><code>attach()</code> allows the default name for an attached file |
| to be overridden. |
| </p> |
| </li> |
| <li> <p><code>bxp()</code>, the work horse of <code>boxplot()</code>, now uses a |
| more sensible default <code>xlim</code> in the case where <code>at</code> is |
| specified differently from <code>1:n</code>, see the discussion on R-devel, |
| <a href="https://stat.ethz.ch/pipermail/r-devel/2011-November/062586.html">https://stat.ethz.ch/pipermail/r-devel/2011-November/062586.html</a>. |
| </p> |
| </li> |
| <li><p> New function <code>paste0()</code>, an efficient version of |
| <code>paste(*, sep="")</code>, to be used in many places for more |
| concise (and slightly more efficient) code. |
| </p> |
| </li> |
| <li><p> Function <code>setClass()</code> in package <span class="pkg">methods</span> now |
| returns, invisibly, a generator function for the new class, |
| slightly preferred to calling <code>new()</code>, as explained on the |
| <code>setClass</code> help page. |
| </p> |
| </li> |
| <li><p> The <code>"dendrogram"</code> method of <code>str()</code> now takes |
| its default for <code>last.str</code> from option <code>str.dendrogram.last</code>. |
| </p> |
| </li> |
| <li><p> New simple <code>fitted()</code> method for <code>"kmeans"</code> objects. |
| </p> |
| </li> |
| <li><p> The <code>traceback()</code> function can now be called with |
| an integer argument, to display a current stack trace. (Wish of |
| <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14770">PR#14770</a>.) |
| </p> |
| </li> |
| <li> <p><code>setGeneric()</code> calls can be simplified when creating |
| a new generic function by supplying the default method as the |
| <code>def</code> argument. See <code>?setGeneric</code>. |
| </p> |
| </li> |
| <li> <p><code>serialize()</code> has a new option <code>xdr = FALSE</code> which |
| will use the native byte-order for binary serializations. In |
| scenarios where only little-endian machines are involved (these |
| days, close to universal) and (un)serialization takes an |
| appreciable amount of time this may speed up noticeably |
| transferring data between systems. |
| </p> |
| </li> |
| <li><p> The internal (un)serialization code is faster for long |
| vectors, particularly with XDR on some platforms. (Based on a |
| suggested patch by Michael Spiegel.) |
| |
| </p> |
| </li> |
| <li><p> For consistency, circles with zero radius are omitted by |
| <code>points()</code> and <code>grid.circle()</code>. Previously this was |
| device-dependent, but they were usually invisible. |
| </p> |
| </li> |
| <li> <p><code>NROW(x)</code> and <code>NCOL(x)</code> now work whenever |
| <code>dim(x)</code> looks appropriate, e.g., also for more generalized |
| matrices. |
| </p> |
| </li> |
| <li><p> PCRE has been updated to version 8.30. |
| </p> |
| </li> |
| <li><p> The internal <code>R_Srcref</code> variable is now updated |
| before the browser stops on entering a function. (Suggestion of |
| <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14818">PR#14818</a>.) |
| </p> |
| </li> |
| <li><p> There are ‘bare-bones’ functions <code>.colSums()</code>, |
| <code>.rowSums()</code>, <code>.colMeans()</code> and <code>.rowMeans()</code> for |
| use in programming where ultimate speed is required. |
| </p> |
| </li> |
| <li><p> The formerly internal function |
| <code>.package_dependencies()</code> from package <span class="pkg">tools</span> for |
| calculating (recursive) (reverse) dependencies on package databases |
| has been renamed to <code>package_dependencies()</code> and is now |
| exported. |
| </p> |
| </li> |
| <li><p> There is a new function <code>optimHess()</code> to compute the |
| (approximate) Hessian for an <code>optim()</code> solution if |
| <code>hessian = TRUE</code> was forgotten. |
| </p> |
| </li> |
| <li> <p><code>.filled.contour()</code> is a ‘bare-bones’ function to |
| add a filled-contour rectangular plot to an already prepared plot |
| region. |
| </p> |
| </li> |
| <li><p> The stepping in debugging and single-step browsing modes has |
| changed slightly: now left braces at the start of the body are |
| stepped over for <code>if</code> statements as well as for <code>for</code> and |
| <code>while</code> statements. (Wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14814">PR#14814</a>.) |
| </p> |
| </li> |
| <li> <p><code>library()</code> no longer warns about a conflict with a |
| function from <code>package:base</code> if the function has the same |
| code as the base one but with a different environment. (An |
| example is <code>Matrix::det()</code>.) |
| </p> |
| </li> |
| <li><p> When deparsing very large language objects, |
| <code>as.character()</code> now inserts newlines after each line of |
| approximately 500 bytes, rather than truncating to the first |
| line. |
| </p> |
| </li> |
| <li><p> New function <code>rWishart()</code> generates Wishart-distributed |
| random matrices. |
| </p> |
| </li> |
| <li><p> Packages may now specify actions to be taken when the |
| package is loaded (<code>setLoadActions()</code>). |
| </p> |
| </li> |
| <li> <p><code>options(max.print = Inf)</code> and similar now give an |
| error (instead of warnings later). |
| </p> |
| </li> |
| <li><p> The <code>"difftime"</code> replacement method of <code>units</code> |
| tries harder to preserve other attributes of the argument. (Wish |
| of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14839">PR#14839</a>.) |
| </p> |
| </li> |
| <li> <p><code>poly(raw = TRUE)</code> no longer requires more unique |
| points than the degree. (Requested by John Fox.) |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>PACKAGE parallel</h4> |
| |
| |
| <ul> |
| <li><p> There is a new function <code>mcmapply()</code>, a parallel version |
| of <code>mapply()</code>, and a wrapper <code>mcMap()</code>, a parallel |
| version of <code>Map()</code>. |
| </p> |
| </li> |
| <li><p> A default cluster can be registered by the new function |
| <code>setDefaultCluster()</code>: this will be used by default in |
| functions such as <code>parLapply()</code>. |
| </p> |
| </li> |
| <li> <p><code>clusterMap()</code> has a new argument <code>.scheduling</code> to |
| allow the use of load-balancing. |
| </p> |
| </li> |
| <li><p> There are new load-balancing functions <code>parLapplyLB()</code> |
| and <code>parSapplyLB()</code>. |
| </p> |
| </li> |
| <li> <p><code>makePSOCKCluster()</code> has a new option <code>useXDR = |
| FALSE</code> which can be used to avoid byte-shuffling for |
| serialization when all the nodes are known to be little-endian (or |
| all big-endian). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>PACKAGE INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> Non-ASCII vignettes without a declared encoding are no |
| longer accepted. |
| </p> |
| </li> |
| <li><p> C/C++ code in packages is now compiled with <code>-NDEBUG</code> |
| to mitigate against the C/C++ function <code>assert</code> being called |
| in production use. Developers can turn this off during package |
| development with <code>PKG_CPPFLAGS = -UNDEBUG</code>. |
| </p> |
| </li> |
| <li> <p><code>R CMD INSTALL</code> has a new option <span class="option">--dsym</span> |
| which on Mac OS X (Darwin) dumps the symbols alongside the |
| ‘<span class="file">.so</span>’ file: this is helpful when debugging with |
| <code>valgrind</code> (and especially when installing packages into |
| ‘<span class="file">R.framework</span>’). [This can also be enabled by setting the |
| undocumented environment variable <span class="env">PKG_MAKE_DSYM</span>, since <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> |
| 2.12.0.] |
| </p> |
| </li> |
| <li> <p><code>R CMD INSTALL</code> will test loading under all installed |
| sub-architectures even for packages without compiled code, unless |
| the flag <span class="option">--no-multiarch</span> is used. (Pure <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> packages can |
| do things which are architecture-dependent: in the case which |
| prompted this, looking for an icon in a Windows <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> executable.) |
| </p> |
| </li> |
| <li><p> There is a new option <code>install.packages(type = "both")</code> |
| which tries source packages if binary packages are not available, |
| on those platforms where the latter is the default. |
| </p> |
| </li> |
| <li><p> The meaning of <code>install.packages(dependencies = TRUE)</code> |
| has changed: it now means to install the essential dependencies of |
| the named packages plus the <span class="samp">Suggests</span>, but only the |
| essential dependencies of dependencies. To get the previous |
| behaviour, specify <code>dependencies</code> as a character vector. |
| </p> |
| </li> |
| <li> <p><code>R CMD INSTALL --merge-multiarch</code> is now supported |
| on OS X and other Unix-alikes using multiple sub-architectures. |
| </p> |
| </li> |
| <li> <p><code>R CMD INSTALL --libs-only</code> now by default does a |
| test load on Unix-alikes as well as on Windows: suppress with |
| <span class="option">--no-test-load</span>. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>UTILITIES</h4> |
| |
| |
| <ul> |
| <li> <p><code>R CMD check</code> now gives a warning rather than a |
| note if it finds inefficiently compressed datasets. With |
| <code>bzip2</code> and <code>xz</code> compression having been |
| available since <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.10.0, it only exceptionally makes sense to |
| not use them. |
| </p> |
| <p>The environment variable <span class="env">_R_CHECK_COMPACT_DATA2_</span> is |
| no longer consulted: the check is always done if |
| <span class="env">_R_CHECK_COMPACT_DATA_</span> has a true value (its default). |
| </p> |
| </li> |
| <li><p> Where multiple sub-architectures are to be tested, |
| <code>R CMD check</code> now runs the examples and tests for all the |
| sub-architectures even if one fails. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> can optionally report timings on |
| various parts of the check: this is controlled by environment |
| variable <span class="env">_R_CHECK_TIMINGS_</span> documented in ‘Writing R |
| Extensions’. Timings (in the style of <code>R CMD BATCH</code>) are |
| given at the foot of the output files from running each test and |
| the <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> code in each vignette. |
| </p> |
| </li> |
| <li><p> There are new options for more rigorous testing by |
| <code>R CMD check</code> selected by environment variables – see |
| the ‘Writing R Extensions’ manual. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> now warns (rather than notes) on |
| undeclared use of other packages in examples and tests: |
| increasingly people are using the metadata in the |
| ‘<span class="file">DESCRIPTION</span>’ file to compute information about packages, |
| for example reverse dependencies. |
| </p> |
| </li> |
| <li><p> The defaults for some of the options in <code>R CMD |
| check</code> (described in the ‘R Internals’ manual) have |
| changed: checks for unsafe and <code>.Internal()</code> calls and |
| for partial matching of arguments in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> function calls are now |
| done by default. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> has more comprehensive facilities for |
| checking compiled code and so gives fewer reports on entry points |
| linked into ‘<span class="file">.so</span>’/‘<span class="file">.dll</span>’ files from libraries |
| (including C++ and Fortran runtimes). |
| </p> |
| <p>Checking compiled code is now done on FreeBSD (as well as the |
| existing supported platforms of Linux, Mac OS X, Solaris and |
| Windows). |
| </p> |
| </li> |
| <li> <p><code>R CMD build</code> has more options for |
| <span class="option">--compact-vignettes</span>: see <code>R CMD build --help</code>. |
| </p> |
| </li> |
| <li> <p><code>R CMD build</code> has a new option <span class="option">--md5</span> to |
| add an ‘<span class="file">MD5</span>’ file (as done by CRAN): this is used by <code>R |
| CMD INSTALL</code> to check the integrity of the distribution. |
| </p> |
| <p>If this option is not specified, any existing (and probably |
| stale) ‘<span class="file">MD5</span>’ file is removed. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>DEPRECATED AND DEFUNCT</h4> |
| |
| |
| <ul> |
| <li> <p><code>R CMD Rd2dvi</code> is now defunct: use <code>R CMD Rd2pdf</code>. |
| </p> |
| </li> |
| <li><p> Options such <span class="option">--max-nsize</span>, <span class="option">--max-vsize</span> and |
| the function <code>mem.limits()</code> are now defunct. (Options |
| <span class="option">--min-nsize</span> and <span class="option">--min-vsize</span> remain available.) |
| </p> |
| </li> |
| <li><p> Use of <code>library.dynam()</code> without specifying all the |
| first three arguments is now disallowed. |
| </p> |
| <p>Use of an argument <code>chname</code> in <code>library.dynam()</code> |
| including the extension ‘<span class="file">.so</span>’ or ‘<span class="file">.dll</span>’ (which was never |
| allowed according to the help page) is defunct. This also applies |
| to <code>library.dynam.unload()</code> and to <code>useDynLib</code> |
| directives in ‘<span class="file">NAMESPACE</span>’ files. |
| </p> |
| </li> |
| <li><p> The internal functions <code>.readRDS()</code> and |
| <code>.saveRDS()</code> are now defunct. |
| </p> |
| </li> |
| <li><p> The off-line <code>help()</code> types <span class="samp">"postscript"</span> and |
| <span class="samp">"ps"</span> are defunct. |
| </p> |
| </li> |
| <li> <p><code>Sys.putenv()</code>, replaced and deprecated in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.5.0, is |
| finally removed. |
| </p> |
| </li> |
| <li><p> Some functions/objects which have been defunct for five or |
| more years have been removed completely. These include |
| <code>.Alias()</code>, <code>La.chol()</code>, <code>La.chol2inv()</code>, |
| <code>La.eigen()</code>, <code>Machine()</code>, <code>Platform()</code>, |
| <code>Version</code>, <code>codes()</code>, <code>delay()</code>, |
| <code>format.char()</code>, <code>getenv()</code>, <code>httpclient()</code>, |
| <code>loadURL()</code>, <code>machine()</code>, <code>parse.dcf()</code>, |
| <code>printNoClass()</code>, <code>provide()</code>, <code>read.table.url()</code>, |
| <code>restart()</code>, <code>scan.url()</code>, <code>symbol.C()</code>, |
| <code>symbol.For()</code> and <code>unix()</code>. |
| </p> |
| </li> |
| <li><p> The <code>ENCODING</code> argument to <code>.C()</code> is deprecated. |
| It was intended to smooth the transition to multi-byte character |
| strings, but can be replaced by the use of <code>iconv()</code> in the |
| rare cases where it is still needed. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> Building with a positive value of |
| <span class="option">--with-valgrind-instrumentation</span> now also instruments logical, |
| complex and raw vectors. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>C-LEVEL FACILITIES</h4> |
| |
| |
| <ul> |
| <li><p> Passing <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> objects other than atomic vectors, functions, |
| lists and environments to <code>.C()</code> is now deprecated and will |
| give a warning. Most cases (especially <code>NULL</code>) are actually |
| coding errors. <code>NULL</code> will be disallowed in future. |
| </p> |
| <p><code>.C()</code> now passes a pairlist as a <code>SEXP</code> to the compiled |
| code. This is as was documented, but pairlists were in reality |
| handled differently as a legacy from the early days of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>. |
| </p> |
| </li> |
| <li> <p><code>call_R</code> and <code>call_S</code> are deprecated. They still |
| exist in the headers and as entry points, but are no longer |
| documented and should not be used for new code. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li> <p><code>str(x, width)</code> now obeys its <code>width</code> |
| argument also for function headers and other objects <code>x</code> |
| where <code>deparse()</code> is applied. |
| </p> |
| </li> |
| <li><p> The convention for <code>x %/% 0L</code> for integer-mode <code>x</code> |
| has been changed from <code>0L</code> to <code>NA_integer_</code>. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14754">PR#14754</a>) |
| </p> |
| </li> |
| <li><p> The <code>exportMethods</code> directive in a ‘<span class="file">NAMESPACE</span>’ |
| file now exports S4 generics as necessary, as the extensions |
| manual said it does. The manual has also been updated to be a |
| little more informative on this point. |
| </p> |
| <p>It is now required that there is an S4 generic (imported or |
| created in the package) when methods are to be exported. |
| </p> |
| </li> |
| <li><p> Reference methods cannot safely use non-exported entries |
| in the namespace. We now do not do so, and warn in the documentation. |
| </p> |
| </li> |
| <li><p> The namespace import code was warning when identical |
| S4 generic functions were imported more than once, but should |
| not (reported by Brian Ripley, then Martin Morgan). |
| </p> |
| </li> |
| <li> <p><code>merge()</code> is no longer allowed (in some ways) to create |
| a data frame with duplicate column names (which confused |
| <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14786">PR#14786</a>). |
| </p> |
| </li> |
| <li><p> Fixes for rendering raster images on X11 and Windows devices |
| when the x-axis or y-axis scale is reversed. |
| </p> |
| </li> |
| <li> <p><code>getAnywhere()</code> found S3 methods as seen from the |
| <span class="pkg">utils</span> namespace and not from the environment from which it |
| was called. |
| </p> |
| </li> |
| <li> <p><code>selectMethod(f, sig)</code> would not return inherited group |
| methods when caching was off (as it is by default). |
| </p> |
| </li> |
| <li> <p><code>dev.copy2pdf(out.type = "cairo")</code> gave an error. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14827">PR#14827</a>) |
| </p> |
| </li> |
| <li><p> Virtual classes (e.g., class unions) had a <code>NULL</code> |
| prototype even if that was not a legal subclass. See |
| <code>?setClassUnion</code>. |
| </p> |
| </li> |
| <li><p> The C prototypes for <code>zdotc</code> and <code>zdotu</code> in |
| ‘<span class="file">R_ext/BLAS.h</span>’ have been changed to the more modern style |
| rather than that used by <code>f2c</code>. (Patch by Berwin Turlach.) |
| </p> |
| </li> |
| <li> <p><code>isGeneric()</code> produced an error for primitives that |
| can not have methods. |
| </p> |
| </li> |
| <li> <p><code>.C()</code> or <code>.Fortran()</code> had a lack-of-protection |
| error if the registration information resulted in an argument |
| being coerced to another type. |
| </p> |
| </li> |
| <li> <p><code>boxplot(x=x, at=at)</code> with non finite elements in <code>x</code> |
| and non integer <code>at</code> could not generate a warning but failed. |
| </p> |
| </li> |
| <li> <p><code>heatmap(x, symm=TRUE, RowSideColors=*)</code> no longer |
| draws the colors in reversed order. |
| </p> |
| </li> |
| <li> <p><code>predict(<ar>)</code> was incorrect in the multivariate case, |
| for p >= 2. |
| </p> |
| </li> |
| <li> <p><code>print(x, max=m)</code> is now consistent when <code>x</code> is a |
| <code>"Date"</code>; also the “reached ... max.print ..” messages |
| are now consistently using single brackets. |
| </p> |
| </li> |
| <li><p> Closed the <span class="samp"><li></span> tag in pages generated by <code> |
| Rd2HTML()</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14841">PR#14841</a>) |
| </p> |
| </li> |
| <li><p> Axis tick marks could go out of range when a log scale was |
| used. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14833">PR#14833</a>) |
| </p> |
| </li> |
| <li><p> Signature objects in methods were not allocated as S4 |
| objects (caused a problem with <code>trace()</code> reported by Martin Morgan). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.14.2</h3> |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li><p> The internal <code>untar()</code> (as used by default by |
| <code>R CMD INSTALL</code>) now knows about some <code>pax</code> |
| headers which <code>bsdtar</code> (e.g., the default <code>tar</code> for |
| Mac OS >= 10.6) can incorrectly include in <code>tar</code> files, |
| and will skip them with a warning. |
| </p> |
| </li> |
| <li><p> PCRE has been upgraded to version 8.21: as well as bug fixes |
| and greater Perl compatibility, this adds a JIT pattern compiler, |
| about which PCRE's news says |
| ‘large performance benefits can be had in many situations’. |
| This is supported on most but not all <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> platforms. |
| </p> |
| </li> |
| <li><p> Function <code>compactPDF()</code> in package <span class="pkg">tools</span> now |
| takes the default for argument <code>gs_quality</code> from environment |
| variable <span class="env">GS_QUALITY</span>: there is a new value <code>"none"</code>, the |
| ultimate default, which prevents GhostScript being used in |
| preference to <code>qpdf</code> just because environment variable |
| <span class="env">R_GSCMD</span> is set. If <span class="env">R_GSCMD</span> is unset or set to |
| <code>""</code>, the function will try to find a suitable GhostScript |
| executable. |
| </p> |
| </li> |
| <li><p> The included version of zlib has been updated to 1.2.6. |
| </p> |
| </li> |
| <li><p> For consistency with the <code>logLik()</code> method, |
| <code>nobs()</code> for <code>"nls"</code> files now excludes observations |
| with zero weight. (Reported by Berwin Turlach.) |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>UTILITIES</h4> |
| |
| |
| <ul> |
| <li> <p><code>R CMD check</code> now reports by default on licenses not |
| according to the description in ‘Writing R Extensions’. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> has a new option <span class="option">--as-cran</span> to |
| turn on most of the customizations that CRAN uses for its incoming |
| checks. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>PACKAGE INSTALLATION</h4> |
| |
| |
| <ul> |
| <li> <p><code>R CMD INSTALL</code> will now no longer install certain |
| file types from ‘<span class="file">inst/doc</span>’: these are almost certainly |
| mistakes and for some packages are wasting a lot of space. These |
| are ‘<span class="file">Makefile</span>’, files generated by running LaTeX, and unless |
| the package uses a ‘<span class="file">vignettes</span>’ directory, PostScript and |
| image bitmap files. |
| </p> |
| <p>Note that only PDF vignettes have ever been supported: some of |
| these files come from DVI/PS output from the Sweave defaults prior |
| to <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.13.0. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li><p> R configured with <span class="option">--disable-openmp</span> would mistakenly |
| set <code>HAVE_OPENMP</code> (internal) and <code>SUPPORT_OPENMP</code> (in |
| ‘<span class="file">Rconfig.h</span>’) even though no OpenMP flags were populated. |
| </p> |
| </li> |
| <li><p> The <code>getS3method()</code> implementation had an old |
| computation to find an S4 default method. |
| </p> |
| </li> |
| <li> <p><code>readLines()</code> could overflow a buffer if the last line |
| of the file was not terminated. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14766">PR#14766</a>) |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> could miss undocumented S4 objects in |
| packages which used S4 classes but did not <span class="samp">Depends: methods</span> |
| in their ‘<span class="file">DESCRIPTION</span>’ file. |
| </p> |
| </li> |
| <li><p> The HTML Help Search page had malformed links. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14769">PR#14769</a>) |
| </p> |
| </li> |
| <li><p> A couple of instances of lack of protection of <code>SEXP</code>s |
| have been squashed. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14772">PR#14772</a>, <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14773">PR#14773</a>) |
| </p> |
| </li> |
| <li> <p><code>image(x, useRaster=TRUE)</code> misbehaved on single-column |
| <code>x</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14774">PR#14774</a>) |
| </p> |
| </li> |
| <li><p> Negative values for <code>options("max.print")</code> or the <code>max</code> |
| argument to <code>print.default()</code> caused crashes. Now the former |
| are ignored and the latter trigger an error. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14779">PR#14779</a>) |
| </p> |
| </li> |
| <li><p> The text of a function body containing more than 4096 |
| bytes was not properly saved by the parser when entered |
| at the console. |
| </p> |
| </li> |
| <li><p> Forgetting the <code>#endif</code> tag in an Rd file could cause |
| the parser to go into a loop. (Reported by Hans-Jorg Bibiko.) |
| </p> |
| </li> |
| <li> <p><code>str(*, ....., strict.width="cut")</code> now also obeys |
| <code>list.len = n</code>. (Reported by Sören Vogel.) |
| </p> |
| </li> |
| <li><p> Printing of arrays did not have enough protection (C level), |
| e.g., in the context of <code>capture.output()</code>. (Reported by |
| Hervé Pagès and Martin Morgan.) |
| </p> |
| </li> |
| <li> <p><code>pdf(file = NULL)</code> would produce a spurious file named |
| ‘<span class="file">NA</span>’. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14808">PR#14808</a>) |
| </p> |
| </li> |
| <li> <p><code>list2env()</code> did not check the type of its <code>envir</code> |
| argument. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14807">PR#14807</a>) |
| </p> |
| </li> |
| <li> <p><code>svg()</code> could segfault if called with a non-existent |
| file path. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14790">PR#14790</a>) |
| </p> |
| </li> |
| <li> <p><code>make install</code> can install to a path containing |
| <span class="samp">+</span> characters. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14798">PR#14798</a>) |
| </p> |
| </li> |
| <li><p> The <code>edit()</code> function did not respect the |
| <code>options("keep.source")</code> setting. (Reported by Cleridy |
| Lennert.) |
| </p> |
| </li> |
| <li> <p><code>predict.lm(*, type="terms", terms=*, se.fit=TRUE)</code> did |
| not work. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14817">PR#14817</a>) |
| </p> |
| </li> |
| <li><p> There is a partial workaround for errors in the TRE |
| regular-expressions engine with named classes and repeat counts of |
| at least 2 in a MBCS locale (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14408">PR#14408</a>): these are avoided when |
| TRE is in 8-bit mode (e.g., for <code>useBytes = TRUE</code> and when all |
| the data are ASCII). |
| </p> |
| </li> |
| <li><p> The C function <code>R_ReplDLLdo1()</code> did not call top-level |
| handlers. |
| </p> |
| </li> |
| <li><p> The Quartz device was unable to detect window sessions on |
| Mac OS X 10.7 (Lion) and higher and thus it was not used as the |
| default device on the console. Since Lion any application can use |
| window sessions, so Quartz will now be the default device if the |
| user's window session is active and <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> is not run via |
| <code>ssh</code> which is at least close to the behavior in prior OS |
| X versions. |
| </p> |
| </li> |
| <li> <p><code>mclapply()</code> would fail in code assembling the translated |
| error message if some (but not all) cores encountered an error. |
| </p> |
| </li> |
| <li> <p><code>format.POSIXlt(x)</code> raised an arithmetic exception when |
| <code>x</code> was an invalid object of class <code>"POSIXlt"</code> and parts |
| were empty. |
| </p> |
| </li> |
| <li> <p><code>installed.packages()</code> has some more protection against |
| package installs going on in parallel. |
| </p> |
| </li> |
| <li> <p><code>.Primitive()</code> could be mis-used to call |
| <code>.Internal()</code> entry points. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.14.1</h3> |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li> <p><code>parallel::detectCores()</code> is now able to find the |
| number of physical cores (rather than CPUs) on Sparc Solaris. |
| </p> |
| <p>It can also do so on most versions of Windows; however the default |
| remains <code>detectCores(logical = TRUE)</code> on that platform. |
| </p> |
| </li> |
| <li><p> Reference classes now keep a record of which fields are |
| locked. <code>$lock()</code> with no arguments returns the names |
| of the locked fields. |
| </p> |
| </li> |
| <li> <p><code>HoltWinters()</code> reports a warning rather than an error |
| for some optimization failures (where the answer might be a |
| reasonable one). |
| </p> |
| </li> |
| <li> <p><code>tools::dependsOnPkg()</code> now accepts the shorthand |
| <code>dependencies = "all"</code>. |
| </p> |
| </li> |
| <li> <p><code>parallel::clusterExport()</code> now allows specification of |
| an environment from which to export. |
| </p> |
| </li> |
| <li><p> The <code>quartz()</code> device now does tilde expansion on its |
| <code>file</code> argument. |
| </p> |
| </li> |
| <li> <p><code>tempfile()</code> on a Unix-alike now takes the process ID |
| into account. This is needed with <a href="https://CRAN.R-project.org/package=multicore"><span class="pkg">multicore</span></a> (and as part of |
| <span class="pkg">parallel</span>) because the parent and all the children share a |
| session temporary directory, and they can share the C random |
| number stream used to produce the unique part. Further, two |
| children can call <code>tempfile()</code> simultaneously. |
| </p> |
| </li> |
| <li><p> Option <code>print</code> in Sweave's <code>RweaveLatex()</code> driver |
| now emulates auto-printing rather than printing (which can differ |
| for an S4 object by calling <code>show()</code> rather than |
| <code>print()</code>). |
| </p> |
| </li> |
| <li> <p><code>filled.contour()</code> now accepts infinite values: |
| previously it might have generated invalid graphics files |
| (e.g., containing NaN values). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> On 64-bit Linux systems, <code>configure</code> now only sets |
| <span class="samp">LIBnn</span> to <code>lib64</code> if ‘<span class="file">/usr/lib64</span>’ exists. This |
| may obviate setting <span class="samp">LIBnn</span> explicitly on Debian-derived |
| systems. |
| </p> |
| <p>It is still necessary to set <span class="samp">LIBnn = lib</span> (or |
| <span class="samp">lib32</span>) for 32-bit builds of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> on a 64-bit OS on those Linux |
| distributions capable for supporting that concept. |
| </p> |
| </li> |
| <li> <p><code>configure</code> looks for ‘<span class="file">inconsolata.sty</span>’, and if |
| not found adjusts the default <span class="env">R_RD4PDF</span> to not use it (with a |
| warning, since it is needed for high-quality rendering of manuals). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>PACKAGE INSTALLATION</h4> |
| |
| |
| <ul> |
| <li> <p><code>R CMD INSTALL</code> will now do a test load for all |
| sub-architectures for which code was compiled (rather than just |
| the primary sub-architecture). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>UTILITIES</h4> |
| |
| |
| <ul> |
| <li><p> When checking examples under more than one sub-architecture, |
| <code>R CMD check</code> now uses a separate directory |
| ‘<span class="file">examples_arch</span>’ for each sub-architecture, and leaves the |
| output in file ‘<span class="file">pkgname-Ex_arch.Rout</span>’. Some packages |
| expect their examples to be run in a clean directory .... |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li> <p><code>stack()</code> now gives an error if no vector column is |
| selected, rather than returning a 1-column data frame (contrary to |
| its documentation). |
| </p> |
| </li> |
| <li> <p><code>summary.mlm()</code> did not handle objects where the |
| formula had been specified by an expression. (Reported by |
| Helios de Rosario Martinez). |
| </p> |
| </li> |
| <li> <p><code>tools::deparseLatex(dropBraces=TRUE)</code> could drop |
| text as well as braces. |
| </p> |
| </li> |
| <li> <p><code>colormodel = "grey"</code> (new in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.14.0)) |
| did not always work in <code>postscript()</code> and <code>pdf()</code>. |
| </p> |
| </li> |
| <li> <p><code>file.append()</code> could return <code>TRUE</code> for failures. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14727">PR#14727</a>) |
| </p> |
| </li> |
| <li> <p><code>gzcon()</code> connections are no longer subject to garbage |
| collection: it was possible for this to happen when unintended |
| (e.g., when calling <code>load()</code>). |
| </p> |
| </li> |
| <li> <p><code>nobs()</code> does not count zero-weight observations for |
| <code>glm()</code> fits, for consistency with <code>lm()</code>. This affects |
| the <code>BIC()</code> values reported for such <code>glm()</code> fits. |
| (Spotted by Bill Dunlap.) |
| </p> |
| </li> |
| <li> <p><code>options(warn = 0)</code> failed to end a (C-level) context |
| with more than 50 accumulated warnings. (Spotted by Jeffrey |
| Horner.) |
| </p> |
| </li> |
| <li><p> The internal <code>plot.default()</code> code did not do sanity |
| checks on a <code>cex</code> argument, so invalid input could cause |
| problems. (Reported by Ben Bolker.) |
| </p> |
| </li> |
| <li> <p><code>anyDuplicated(<array>, MARGIN=0)</code> no longer fails. |
| (Reported by Hervé Pagès.) |
| </p> |
| </li> |
| <li> <p><code>read.dcf()</code> removes trailing blanks: unfortunately |
| on some platforms this included <code>\xa0</code> (non-breaking space) |
| which is the trailing byte of a UTF-8 character. It now only |
| considers ASCII space and tab to be ‘blank’. |
| </p> |
| </li> |
| <li><p> There was a sign error in part of the calculations for the |
| variance returned by <code>KalmanSmooth()</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14738">PR#14738</a>) |
| </p> |
| </li> |
| <li> <p><code>pbinom(10, 1e6, 0.01, log.p = TRUE)</code> was <code>NaN</code> |
| thanks to the buggy fix to <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14320">PR#14320</a> in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.11.0. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14739">PR#14739</a>) |
| </p> |
| </li> |
| <li> <p><code>RweaveLatex()</code> now emulates auto-printing rather than |
| printing, by calling <code>methods::show()</code> when auto-printing |
| would. |
| </p> |
| </li> |
| <li> <p><code>duplicated()</code> ignored <code>fromLast</code> for a |
| one-column data frame. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14742">PR#14742</a>) |
| </p> |
| </li> |
| <li> <p><code>source()</code> and related functions did not put the correct |
| timestamp on the source references; <code>srcfilecopy()</code> has gained |
| a new argument <code>timestamp</code> to support this fix. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14750">PR#14750</a>) |
| </p> |
| </li> |
| <li> <p><code>srcfilecopy()</code> has gained a new argument <code>isFile</code> |
| and now records the working directory, to allow debuggers to find |
| the original source file. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14826">PR#14826</a>) |
| </p> |
| </li> |
| <li><p> LaTeX conversion of Rd files did not correctly handle |
| preformatted backslashes. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14751">PR#14751</a>) |
| </p> |
| </li> |
| <li><p> HTML conversion of Rd files did not handle markup within |
| tabular cells properly. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14708">PR#14708</a>) |
| </p> |
| </li> |
| <li> <p><code>source()</code> on an empty file with <code>keep.source = |
| TRUE</code> tried to read from <code>stdin()</code>, in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.14.0 only. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14753">PR#14753</a>) |
| </p> |
| </li> |
| <li><p> The code to check Rd files in packages would abort if |
| duplicate description sections were present. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.14.0</h3> |
| |
| |
| |
| <h4>SIGNIFICANT USER-VISIBLE CHANGES</h4> |
| |
| |
| <ul> |
| <li><p> All packages must have a namespace, and one is created on |
| installation if not supplied in the sources. This means that any |
| package without a namespace must be re-installed under this |
| version of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> (but previously-installed data-only packages without |
| <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> code can still be used). |
| </p> |
| </li> |
| <li><p> The <code>yLineBias</code> of the <code>X11()</code> and |
| <code>windows()</code> families of devices has been changed from 0.1 to |
| 0.2: this changes slightly the vertical positioning of text in the |
| margins (including axis annotations). This is mainly for |
| consistency with other devices such as <code>quartz()</code> and |
| <code>pdf()</code>. (Wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14538">PR#14538</a>.) |
| </p> |
| <p>There is a new graphics parameter <code>"ylbias"</code> which |
| allows the y-line bias of the graphics device to be tweaked, |
| including to reproduce output from earlier versions of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>. |
| </p> |
| </li> |
| <li><p> Labeling of the p-values in various anova tables has been |
| rationalized to be either <code>"Pr(>F)"</code> or <code>"Pr(>Chi)"</code> |
| (i.e., the <code>"Pr(F)"</code>, <code>"Pr(Chi)"</code> and <code>"P(>|Chi|)"</code> |
| variants have been eliminated). Code which extracts the p value |
| <em>via</em> indexing by name may need adjustment. |
| </p> |
| </li> |
| <li> <p><code>::</code> can now be used for datasets made available for |
| lazy-loading in packages with namespaces (which makes it consistent |
| with its use for data-only packages without namespaces in earlier |
| versions of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>). |
| </p> |
| </li> |
| <li><p> There is a new package <span class="pkg">parallel</span>. |
| </p> |
| <p>It incorporates (slightly revised) copies of packages |
| <a href="https://CRAN.R-project.org/package=multicore"><span class="pkg">multicore</span></a> and <a href="https://CRAN.R-project.org/package=snow"><span class="pkg">snow</span></a> (excluding MPI, PVM and NWS |
| clusters). Code written to use the higher-level API functions in |
| those packages should work unchanged (apart from changing any |
| references to their namespaces to a reference to <span class="pkg">parallel</span>, |
| and links explicitly to <a href="https://CRAN.R-project.org/package=multicore"><span class="pkg">multicore</span></a> or <a href="https://CRAN.R-project.org/package=snow"><span class="pkg">snow</span></a> on help |
| pages). |
| </p> |
| <p>It also contains support for multiple RNG streams following |
| L'Ecuyer <em>et al</em> (2002), with support for both |
| <code>mclapply</code> and <a href="https://CRAN.R-project.org/package=snow"><span class="pkg">snow</span></a> clusters. This replaces functions |
| like <code>clusterSetupRNG()</code> from <a href="https://CRAN.R-project.org/package=snow"><span class="pkg">snow</span></a> (which are not in |
| <span class="pkg">parallel</span>). |
| </p> |
| <p>The version released for <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.14.0 contains base functionality: |
| higher-level convenience functions are planned (and some are |
| already available in the ‘R-devel’ version of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>). |
| </p> |
| </li> |
| <li><p> Building PDF manuals (for <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> itself or packages, |
| e.g. <em>via</em> <code>R CMD check</code>) by default requires the |
| LaTeX package <span class="samp">inconsolata</span>: see the section on |
| ‘Making the manuals’ in the ‘R Installation and |
| Administration Manual’. |
| </p> |
| </li> |
| <li> <p><code>axTicks(*, log=TRUE)</code> has changed in some cases to |
| satisfy the documented behavior and be consistent. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li> <p><code>txtProgressBar()</code> can write to an open connection |
| instead of the console. |
| </p> |
| </li> |
| <li><p> Non-portable package names ending in ‘<span class="file">.</span>’ are no longer |
| allowed. Nor are single-character package names (<span class="pkg">R</span> was |
| already disallowed). |
| </p> |
| </li> |
| <li> <p><code>regexpr()</code> and <code>gregexpr()</code> with <code>perl = |
| TRUE</code> allows Python-style named captures. (Wish and |
| contribution of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14518">PR#14518</a>.) |
| </p> |
| </li> |
| <li><p> The placement of ‘plotmath’ text in the margins of |
| plots done by base graphics now makes the same vertical adjustment |
| as ordinary text, so using ordinary and plotmath text on the same |
| margin line will seem better aligned (but not exactly aligned, |
| since ordinary text has descenders below the baseline and plotmath |
| places them on the baseline). (Related to <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14537">PR#14537</a>.) |
| </p> |
| </li> |
| <li> <p><code>sunflowerplot()</code> now has a formula interface. |
| (Wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14541">PR#14541</a>.) |
| </p> |
| </li> |
| <li> <p><code>iconv()</code> has a new argument <code>toRaw</code> to handle |
| encodings such as <code>UTF-16</code> with embedded nuls (as was |
| possible before the <code>CHARSXP</code> cache was introduced). |
| </p> |
| <p>It will also accept as input the type of list generated with |
| <code>toRaw = TRUE</code>. |
| </p> |
| </li> |
| <li><p> Garbage-collecting an unused input text connection no longer |
| gives a warning (since it ‘connects’ to nothing outside |
| <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>). |
| </p> |
| </li> |
| <li> <p><code>read.table()</code> and <code>scan()</code> have gained a |
| <code>text</code> argument, to allow reading data from a (possibly |
| literal) character string. |
| </p> |
| </li> |
| <li> <p><code>optim(*, method = .)</code> now allows <code>method = "Brent"</code> |
| as an interface to <code>optimize()</code>, for use in cases such as |
| <code>mle()</code> where <code>optim()</code> is used internally. |
| </p> |
| </li> |
| <li> <p><code>mosaicplot()</code> gains a <code>border</code> argument. |
| (Wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14550">PR#14550</a>.) |
| </p> |
| </li> |
| <li> <p><code>smooth.spline()</code> gains a <code>tol</code> argument which |
| controls how different <code>x</code> values need to be to be treated as |
| distinct. The default has been changed to be more reliable for |
| inputs whose range is small compared to their maximum absolute |
| value. (Wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14452">PR#14452</a>.) |
| </p> |
| </li> |
| <li> <p><code>gl()</code> runs faster by avoiding calling <code>factor()</code>. |
| </p> |
| </li> |
| <li><p> The <code>print()</code> method for <code>object.size()</code> accepts |
| <span class="samp">B</span> as well as <span class="samp">b</span> as an abbreviation for ‘bytes’. |
| </p> |
| </li> |
| <li> <p><code>unlink()</code> gains a <code>force</code> argument to work like |
| <code>rm -f</code> and if possible override restrictive permissions. |
| </p> |
| </li> |
| <li> <p><code>pbirthday()</code> and <code>qbirthday()</code> now use exact |
| calculations for <code>coincident = 2</code>. |
| </p> |
| </li> |
| <li> <p><code>unzip()</code> and <code>unz()</code> connections have been |
| updated with support for more recent Zip64 features (including |
| large file sizes and <code>bzip2</code> compression, but not UTF-8 |
| file names). |
| </p> |
| <p><code>unzip()</code> has a new option to restore file times from those |
| recorded (in an unknown timezone) in the zip file. |
| </p> |
| </li> |
| <li> <p><code>update.packages()</code> now accepts a character vector of |
| package names for the <code>oldPkgs</code> argument. (Suggestion of |
| Tal Galili.) |
| </p> |
| </li> |
| <li><p> The special reference class fields <code>.self</code> and |
| <code>.refClassDef</code> are now read-only to prevent corrupting |
| the object. |
| </p> |
| </li> |
| <li> <p><code>decompose()</code> now returns the original series as part |
| of its value, so it can be used (rather than reconstructed) when |
| plotting. (Suggestion of Rob Hyndman.) |
| </p> |
| </li> |
| <li><p> Rao's efficient score test has been implemented for |
| <code>glm</code> objects. Specifically, the <code>add1</code>, <code>drop1</code>, |
| and <code>anova</code> methods now allow <code>test = "Rao"</code>. |
| </p> |
| </li> |
| <li><p> If a saved workspace (e.g., ‘<span class="file">.RData</span>’) contains objects |
| that cannot be loaded, <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> will now start with an warning message |
| and an empty workspace, rather than failing to start. |
| </p> |
| </li> |
| <li> <p><code>strptime()</code> now accepts times such as <span class="samp">24:00</span> for |
| midnight at the end of the day, for although these are disallowed by |
| POSIX 1003.1-2008, ISO 8601:2004 allows them. |
| </p> |
| </li> |
| <li><p> Assignment of <code>names()</code> to S4 objects now checks for |
| a corresponding <code>"names"</code> slot, and generates a warning or |
| an error if that slot is not defined. See the section on slots |
| in <code>?Classes</code>. |
| </p> |
| </li> |
| <li><p> The default methods for <code>is.finite()</code>, <code>is.infinite()</code> |
| and <code>is.nan()</code> now signal an error if their argument is not |
| an atomic vector. |
| </p> |
| </li> |
| <li><p> The formula method for <code>plot()</code> no longer places |
| package <span class="pkg">stats</span> on the search path (it loads the namespace |
| instead). |
| </p> |
| </li> |
| <li><p> There now is a genuine <code>"function"</code> method for |
| <code>plot()</code> rather than the generic dispatching internally to |
| <code>graphics::plot.function()</code>. It is now exported, so can be |
| called directly as <code>plot.function()</code>. |
| </p> |
| </li> |
| <li><p> The one-sided <code>ks.test()</code> allows <code>exact = TRUE</code> to |
| be specified in the presence of ties (but the approximate |
| calculation remains the default: the ‘exact’ computation |
| makes assumptions known to be invalid in the presence of ties). |
| </p> |
| </li> |
| <li><p> The behaviour of <code>curve(add = FALSE)</code> has changed: it |
| now no longer takes the default x limits from the previous plot |
| (if any): rather they default to <code>c(0, 1)</code> just as the |
| <code>"function"</code> method for <code>plot()</code>. To get the previous |
| behaviour use <code>curve(add = NA)</code>, which also takes the default for |
| log-scaling of the x-axis from the previous plot. |
| </p> |
| </li> |
| <li><p> Both <code>curve()</code> and the <code>plot()</code> method for |
| functions have a new argument <code>xname</code> to facilitate plots |
| such as <code>sin(t)</code> <em>vs</em> <code>t</code>. |
| </p> |
| </li> |
| <li><p> The <code>local</code> argument to <code>source()</code> can specify an |
| environment as well as <code>TRUE</code> (<code>parent.env()</code>) and |
| <code>FALSE</code> (<code>.GlobalEnv</code>). It gives better error messages |
| for other values, such as <code>NA</code>. |
| </p> |
| </li> |
| <li> <p><code>vcov()</code> gains methods for classes <code>"summary.lm"</code> and |
| <code>"summary.glm"</code>. |
| </p> |
| </li> |
| <li><p> The <code>plot()</code> method for class <code>"profile.nls"</code> |
| gains <code>ylab</code> and <code>lty</code> arguments, and passes |
| <code>...</code> on to <code>plot.default</code>. |
| </p> |
| </li> |
| <li><p> Character-string arguments such as the <code>mode</code> argument |
| of <code>vector()</code>, <code>as.vector()</code> and <code>is.vector()</code> and |
| the <code>description</code> argument of <code>file()</code> are required to |
| be of length exactly one, rather than any further elements being |
| silently discarded. This helps catch incorrect usage in |
| programming. |
| </p> |
| </li> |
| <li><p> The <code>length</code> argument of <code>vector()</code> and its |
| wrappers such as <code>numeric()</code> is required to be of length |
| exactly one (other values are now an error rather than giving a |
| warning as previously). |
| </p> |
| </li> |
| <li> <p><code>vector(len)</code> and <code>length(x) <- len</code> no longer |
| accept <code>TRUE</code>/<code>FALSE</code> for <code>len</code> (not that they |
| were ever documented to, but there was special-casing in the C |
| code). |
| </p> |
| </li> |
| <li><p> There is a new function <code>Sys.setFileTime()</code> to set the |
| time of a file (including a directory). See its help for exactly |
| which times it sets on various OSes. |
| </p> |
| </li> |
| <li><p> The file times reported by <code>file.info()</code> are reported |
| to sub-second resolution on systems which support it. (Currently |
| the POSIX 2008 and FreeBSD/Darwin/NetBSD methods are detected.) |
| </p> |
| </li> |
| <li><p> New function <code>getCall(m)</code> as an abstraction for |
| <code>m$call</code>, enabling <code>update()</code>'s default method to apply |
| more universally. (NB: this can be masked by existing functions |
| in packages.) |
| </p> |
| </li> |
| <li> <p><code>Sys.info()</code> gains a <code>euser</code> component to report |
| the ‘effective’ user on OSes which have that concept. |
| </p> |
| </li> |
| <li><p> The result returned by <code>try()</code> now contains the |
| original error condition object as the <code>"condition"</code> |
| attribute. |
| </p> |
| </li> |
| <li><p> All packages with <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> code are lazy-loaded irrespective of |
| the <span class="samp">LazyLoad</span> field in the ‘<span class="file">DESCRIPTION</span>’ file. A |
| warning is given if the <span class="samp">LazyLoad</span> field is overridden. |
| </p> |
| </li> |
| <li> <p><code>Rd</code> markup has a new <span class="samp">\figure</span> tag so that |
| figures can be included in help pages when converted to HTML or |
| LaTeX. There are examples on the help pages for <code>par()</code> and |
| <code>points()</code>. |
| </p> |
| </li> |
| <li><p> The built-in httpd server now allows access to files |
| in the session temporary directory <code>tempdir()</code>, |
| addressed as the ‘<span class="file">/session</span>’ directory on the httpd |
| server. |
| </p> |
| </li> |
| <li><p> Development versions of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> are no longer referred to by the |
| number under which they might be released, e.g., in the startup |
| banner, <code>R --version</code> and <code>sessionUtils()</code>. The |
| correct way to refer to a development version of R is |
| ‘R-devel’, preferably with the date and SVN version number.<br /> |
| E.g., <span class="samp">R-devel (2011-07-04 r56266)</span> |
| </p> |
| </li> |
| <li><p> There is a new function <code>texi2pdf()</code> in package |
| <span class="pkg">tools</span>, currently a convenience wrapper for |
| <code>texi2dvi(pdf = TRUE)</code>. |
| </p> |
| </li> |
| <li><p> There are two new options for typesetting PDF manuals from |
| Rd files. These are <span class="samp">beramono</span> and <span class="samp">inconsolata</span>, and |
| used the named font for monospaced output. They are intended to |
| be used in combination with <span class="samp">times</span>, and |
| <span class="samp">times,inconsolata,hyper</span> is now the default for the |
| reference manual and package manuals. If you do not have that |
| font installed, you can set <span class="env">R_RD4PF</span> to one of the other |
| options: see the ‘R Installation and Administration Manual’. |
| </p> |
| </li> |
| <li><p> Automatic printing for reference classes is now done by |
| the <code>$show()</code> method. A method is defined for class |
| <span class="samp">envRefClass</span> and may be overridden for user classes (see |
| the <code>?ReferenceClasses</code> example). S4 <code>show()</code> methods |
| should no longer be needed for reference classes. |
| </p> |
| </li> |
| <li> <p><code>tools::Rdiff</code> (by default) and <code>R CMD Rdiff</code> |
| now ignore differences in pointer values when comparing printed |
| environments, compiled byte code, etc. |
| </p> |
| </li> |
| <li><p> The <code>"source"</code> attribute on functions created with |
| <code>keep.source=TRUE</code> has been replaced with a <code>"srcref"</code> |
| attribute. The <code>"srcref"</code> attribute references an in-memory |
| copy of the source file using the <code>"srcfilecopy"</code> class or |
| the new <code>"srcfilealias"</code> class. |
| </p> |
| <p><strong>NB:</strong> This means that functions sourced with |
| <code>keep.source = TRUE</code> and saved (e.g., by <code>save()</code> or |
| <code>readRDS()</code>) in earlier versions of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> will no longer show |
| the original sources (including comments). |
| </p> |
| </li> |
| <li><p> New items <span class="samp">User Manuals</span> and |
| <a href="http://developer.r-project.org/TechDocs">Technical Papers</a> |
| have been added to the HTML help main page. These link to |
| vignettes in the base and recommended packages and to a |
| collection of papers about R issues, respectively. |
| </p> |
| </li> |
| <li><p> Documentation and messages have been standardized to |
| use “namespace” rather than “name space”. |
| </p> |
| </li> |
| <li> <p><code>setGeneric()</code> now looks in the default packages for |
| a non-generic version of a function if called from a package with a |
| namespace. (It always did for packages without a namespace.) |
| </p> |
| </li> |
| <li><p> Setting the environment variable |
| <span class="env">_R_WARN_ON_LOCKED_BINDINGS_</span> will give a warning if an |
| attempt is made to change a locked binding. |
| </p> |
| </li> |
| <li> <p><code>\SweaveInput</code> is now supported when generating |
| concordances in <code>Sweave()</code>. |
| </p> |
| </li> |
| <li> <p><code>findLineNum()</code> and <code>setBreakpoint()</code> now allow |
| the environment to be specified indirectly; the latter gains |
| a <code>clear</code> argument to allow it to call <code>untrace()</code>. |
| </p> |
| </li> |
| <li><p> The body of a closure can be one of further types of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> |
| objects, including environments and external pointers. |
| </p> |
| </li> |
| <li><p> The <code>Rd2HTML()</code> function in package <span class="pkg">tools</span> now has |
| a <code>stylesheet</code> argument, allowing pages to be displayed in |
| alternate formats. |
| </p> |
| </li> |
| <li><p> New function <code>requireNamespace()</code> analogous to |
| <code>require()</code>, returning a logical value after attempting to |
| load a namespace. |
| </p> |
| </li> |
| <li><p> There is a new type of RNG, <code>"L'Ecuyer-CMRG"</code>, |
| implementing L'Ecuyer (1999)'s ‘combined multiple-recursive |
| generator’ <span class="samp">MRG32k3a</span>. See the comments on <code>?RNG</code>. |
| </p> |
| </li> |
| <li> <p><code>help.search()</code> and <code>??</code> can now display |
| vignettes and demos as well as help pages. The new option |
| <code>"help.search.types"</code> controls the types of documentation |
| and the order of their display. |
| </p> |
| <p>This also applies to HTML searches, which now give results in all |
| of help pages, vignettes and demos. |
| </p> |
| </li> |
| <li> <p><code>socketConnection()</code> now has a <code>timeout</code> argument. |
| It is now documented that large values (package <a href="https://CRAN.R-project.org/package=snow"><span class="pkg">snow</span></a> used a |
| year) do not work on some OSes. |
| </p> |
| </li> |
| <li><p> The initialization of the random-number generator now uses |
| the process ID as well as the current time, just in case two <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> |
| processes are launched very rapidly on a machine with |
| low-resolution wall clock (some have a resolution of a second; |
| modern systems have microsecond-level resolution). |
| </p> |
| </li> |
| <li><p> New function <code>pskill()</code> in the <span class="pkg">tools</span> package to |
| send a terminate signal to one or more processes, plus constants |
| such as <code>SIGTERM</code> to provide a portable way to refer to |
| signals (since the numeric values are OS-dependent). |
| </p> |
| </li> |
| <li><p> New function <code>psnice()</code> in the <span class="pkg">tools</span> package to |
| return or change the ‘niceness’ of a process. (Refers to |
| the ‘priority class’ on Windows.) |
| </p> |
| </li> |
| <li> <p><code>list.dirs()</code> gains a <code>recursive</code> argument. |
| </p> |
| </li> |
| <li><p> An <span class="samp">Authors@R</span> field in a package ‘<span class="file">DESCRIPTION</span>’ |
| file can now be used to generate <span class="samp">Author</span> and |
| <span class="samp">Maintainer</span> fields if needed, and to auto-generate package |
| citations. |
| </p> |
| </li> |
| <li><p> New utility <code>getElement()</code> for accessing either a list |
| component or a slot in an S4 object. |
| </p> |
| </li> |
| <li> <p><code>stars()</code> gains a <code>col.lines</code> argument, thanks to |
| Dustin Sallings. (Wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14657">PR#14657</a>.) |
| </p> |
| </li> |
| <li><p> New function <code>regmatches()</code> for extracting or replacing |
| matched or non-matched substrings from match data obtained by |
| <code>regexpr()</code>, <code>gregexpr()</code> and <code>regexec()</code>. |
| </p> |
| </li> |
| <li> <p><code>help(package = "pkg_name", help_type = "HTML")</code> now |
| gives HTML help on the package rather than text help. (This gives |
| direct access to the HTML version of the package manual shown |
| <em>via</em> <code>help.start()</code>'s ‘Packages’ menu.) |
| </p> |
| </li> |
| <li> <p><code>agrep()</code> gains a <code>fixed</code> argument to optionally |
| allow approximate regular expression matching, and a <code>costs</code> |
| argument to specify possibly different integer match costs for |
| insertions, deletions and substitutions. |
| </p> |
| </li> |
| <li> <p><code>read.dcf()</code> and <code>write.dcf()</code> gain a |
| <code>keep.white</code> argument to indicate fields where whitespace |
| should be kept as is. |
| </p> |
| </li> |
| <li> <p><code>available.packages()</code> now works around servers that |
| fail to return an error code when ‘<span class="file">PACKAGES.gz</span>’ does not |
| exist. (Patch submitted by Seth Schommer.) |
| </p> |
| </li> |
| <li> <p><code>readBin()</code> can now read more than |
| <i>2^31 - 1</i> bytes in a single call (the previously |
| documented limitation). |
| </p> |
| </li> |
| <li><p> New function <code>regexec()</code> for finding the positions of |
| matches as well as all substrings corresponding to parenthesized |
| subexpressions of the given regular expression. |
| </p> |
| </li> |
| <li><p> New function <code>adist()</code> in package <span class="pkg">utils</span> for |
| computing ‘edit’ (generalized Levenshtein) distances between |
| strings. |
| </p> |
| </li> |
| <li><p> Class <code>"raster"</code> gains an <code>is.na</code> method to avoid |
| confusion from the misuse of the matrix method (such as <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14618">PR#14618</a>). |
| </p> |
| </li> |
| <li><p> The <code>identical()</code> function gains an |
| <code>ignore.bytecode</code> argument to control comparison of |
| compiled functions. |
| </p> |
| </li> |
| <li> <p><code>pmin</code> and <code>pmax</code> now warn if an argument is |
| partially recycled (wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14638">PR#14638</a>). |
| </p> |
| </li> |
| <li><p> The default for <code>image(useRaster=)</code> is now taken from |
| option <code>"preferRaster"</code>: for the small print see <code>?image</code>. |
| </p> |
| </li> |
| <li> <p><code>str()</code> now displays reference class objects and their |
| fields, rather than treating them as classical S4 classes. |
| </p> |
| </li> |
| <li><p> New function <code>aregexec()</code> in package <span class="pkg">utils</span> for |
| finding the positions of approximate string matches as well as all |
| substrings corresponding to parenthesized subexpressions of the |
| given regular expression. |
| </p> |
| </li> |
| <li> <p><code>download.file()</code> has an <code>extra</code> argument to pass |
| additional command-line options to the non-default methods using |
| command-line utilities. |
| </p> |
| <p><code>cacheOK = FALSE</code> is now supported for <code>method = "curl"</code>. |
| </p> |
| </li> |
| <li> <p><code>interaction.plot(*, type = .)</code> now also allows type |
| <code>"o"</code> or <code>"c"</code>. |
| </p> |
| </li> |
| <li> <p><code>axTicks(*, log=TRUE)</code> did sometimes give more values |
| than the ticks in the corresponding <code>graphics::axis()</code>. By |
| default, it now makes use of the new (<span class="pkg">graphics</span>-package |
| independent) <code>axisTicks()</code> which can make use of a new |
| utility <code>.axisPars()</code>. Further, it now returns a decreasing |
| sequence (as for <code>log=FALSE</code>) when <code>usr</code> is decreasing. |
| </p> |
| </li> |
| <li><p> Using <code>fix()</code> or <code>edit()</code> on a <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> object (except |
| perhaps a matrix or data frame) writes its temporary file with |
| extension ‘<span class="file">.R</span>’ so editors which select their mode based on |
| the extension will select a suitable mode. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>GRAPHICS DEVICES</h4> |
| |
| |
| <ul> |
| <li><p> The <code>pdf()</code> device makes use of Flate compression: this |
| is controlled by the new logical argument <code>compress</code>, and is |
| enabled by default. |
| </p> |
| </li> |
| <li><p> Devices <code>svg()</code>, <code>cairo_pdf()</code> and |
| <code>cairo_ps()</code> gain a <code>family</code> argument. |
| </p> |
| <p>On a Unix-alike <code>X11()</code> gains a <code>family</code> argument. This |
| is one of the <code>x11.options()</code> and so can be passed as an |
| argument to the <code>bmp()</code>, <code>jpeg()</code>, <code>png()</code> and |
| <code>tiff()</code> devices. |
| </p> |
| <p>Analogous changes have been made on Windows, so all built-in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> |
| graphics devices now have a <code>family</code> argument except |
| <code>pictex()</code> (which has no means to change fonts). |
| </p> |
| </li> |
| <li><p> The <code>bmp()</code>, <code>jpeg()</code>, <code>png()</code> and <code>tiff()</code> |
| devices now make use of the <code>antialias</code> argument for |
| <code>type = "quartz"</code>. |
| </p> |
| </li> |
| <li><p> There are several new built-in font mappings for |
| <code>X11(type = "Xlib")</code>: see the help on <code>X11Fonts()</code>. |
| </p> |
| </li> |
| <li><p> There is a new type <code>X11(type = "dbcairo")</code> which |
| updates the screen less frequently: see its help page. |
| </p> |
| </li> |
| <li><p> The <code>X11()</code> device now makes use of cursors to |
| distinguish its states. The normal cursor is an arrow (rather |
| than a crosshair); the crosshair is used when the locator is in |
| use, and a watch cursor is shown when plotting computations are |
| being done. (These are the standard names for X11 cursors: how |
| they are actually displayed depends on the window manager.) |
| </p> |
| </li> |
| <li><p> New functions <code>dev.hold()</code> and <code>dev.flush()</code> for |
| use with graphics devices with buffering. These are used for most |
| of the high-level graphics functions such as <code>boxplot()</code>, so |
| that the plot is only displayed when the page is complete. |
| </p> |
| <p>Currently implemented for <code>windows(buffered = TRUE)</code>, |
| <code>quartz()</code> and the cairographics-based <code>X11()</code> types |
| with buffering (which are the default on-screen devices). |
| </p> |
| </li> |
| <li><p> New function <code>dev.capture()</code> for capture of bitmap |
| snapshots of image-based devices (a superset of the functionality |
| provided by <code>grid.cap()</code> in <code>grid</code>). |
| </p> |
| </li> |
| <li><p> The default <code>colormodel</code> for <code>pdf()</code> and |
| <code>postscript()</code> is now called <code>"srgb"</code> to more accurately |
| describe it. (Instead of <code>"rgb"</code>, and in the case of |
| <code>postscript()</code> it no longer switches to and from the gray |
| colorspace, by default.) |
| </p> |
| <p>The <code>colormodel</code> for <code>postscript()</code> which does use both |
| gray and sRGB colorspaces is now called <code>"srgb+gray"</code>. |
| </p> |
| <p>Plots which are known to use only black/white/transparent can |
| advantageously use <code>colormodel = "gray"</code> (just as before, but |
| there is now slightly more advantage in doing so). |
| </p> |
| </li> |
| <li> <p><code>postscript()</code> with values <code>colormodel = "rgb"</code> and |
| <code>colormodel = "rgb-nogray"</code> give the behaviour prior to <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> |
| 2.13.0 of uncalibrated RGB, which under some circumstances can be |
| rendered much faster by a viewer. |
| </p> |
| <p><code>pdf(colormodel = "rgb")</code> gives the behaviour prior to <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> |
| 2.13.0 of uncalibrated RGB, which under some circumstances can be |
| rendered faster by a viewer, and the files will be smaller (by |
| about 9KB if compression is not used). |
| </p> |
| </li> |
| <li><p> The <code>postscript()</code> device only includes the definition |
| of the sRGB colorspace in the output file for the colormodels |
| which use it. |
| </p> |
| </li> |
| <li><p> The <code>postscript()</code> and <code>pdf()</code> devices now output |
| greyscale raster images (and not RGB) when <code>colormodel = "gray"</code>. |
| </p> |
| </li> |
| <li> <p><code>postscript(colormodel = "gray")</code> now accepts non-grey |
| colours and uses their luminance (as <code>pdf()</code> long has). |
| </p> |
| </li> |
| <li> <p><code>colormodel = "grey"</code> is allowed as an alternative name |
| for <code>postscript()</code> and <code>pdf()</code>. |
| </p> |
| </li> |
| <li> <p><code>pdf()</code> in the default sRGB colorspace outputs many |
| fewer changes of colorspace, which may speed up rendering in some |
| viewing applications. |
| </p> |
| </li> |
| <li><p> There is a new function <code>dev.capabilities()</code> to query |
| the capabilities of the current device. The initial set of |
| capabilities are support for semi-transparent colours, rendering |
| and capturing raster images, the locator and for interactive |
| events. |
| </p> |
| </li> |
| <li><p> For <code>pdf()</code>, <code>maxRasters</code> is increased as needed |
| so the argument is no longer used. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>SWEAVE & VIGNETTES</h4> |
| |
| |
| <ul> |
| <li><p> Options <code>keep.source = TRUE, figs.only = FALSE</code> |
| are now the default. |
| </p> |
| </li> |
| <li><p> The way the type of user-defined options is determined has |
| changed. Previously they were all regarded as logical: now the |
| type is determined by the value given at first use. |
| </p> |
| </li> |
| <li><p> The allowed values of logical options are now precisely |
| those allowed for character inputs to <code>as.logical()</code>: this |
| means that <span class="samp">t</span> and <span class="samp">f</span> are no longer allowed (although |
| <code>T</code> and <code>F</code> still are). |
| </p> |
| </li> |
| <li><p> The preferred location for vignette sources is now the |
| directory ‘<span class="file">vignettes</span>’ and not ‘<span class="file">inst/doc</span>’: <code>R CMD |
| build</code> will now re-build vignettes in directory ‘<span class="file">vignettes</span>’ |
| and copy the ‘<span class="file">.Rnw</span>’ (etc) files and the corresponding PDFs to |
| ‘<span class="file">inst/doc</span>’. Further files to be copied to ‘<span class="file">inst/doc</span>’ |
| can be specified <em>via</em> the file |
| ‘<span class="file">vignettes/.install_extras</span>’. |
| </p> |
| </li> |
| <li> <p><code>R CMD Sweave</code> now supports a <span class="option">--driver</span> |
| option to select the Sweave driver: the default is equivalent to |
| <span class="option">--driver=RweaveLatex</span>. |
| </p> |
| </li> |
| <li> <p><code>R CMD Sweave</code> and <code>R CMD Stangle</code> support |
| options <span class="option">--encoding</span> and <span class="option">--options</span>. |
| </p> |
| </li> |
| <li><p> The <code>Rtangle()</code> driver allows <code>output = "stdout"</code> |
| or <code>output = "stderr"</code> to select the output or message |
| connection. This is convenient for scripting using something like |
| </p> |
| <pre> R CMD Stangle --options='output="stdout"' foo.Rnw > foo2.R</pre> |
| </li> |
| <li><p> There is a new option <code>pdf.compress</code> controlling |
| whether PDF figures are generated using Flate compression (they |
| are by default). |
| </p> |
| </li> |
| <li> <p><code>R CMD Sweave</code> now has a <span class="option">--pdf</span> option to |
| produce a PDF version of the processed Sweave document. |
| </p> |
| </li> |
| <li><p> It is no longer allowed to have two vignettes with the |
| same vignette basename (e.g., ‘<span class="file">vig.Rnw</span>’ and ‘<span class="file">vig.Snw</span>’). |
| (Previously one vignette hid the other in the <code>vignette()</code> |
| function.) |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>C-LEVEL FACILITIES</h4> |
| |
| |
| <ul> |
| <li><p> Function <code>R_tmpnam2</code> has been added to the API to allow |
| a temporary filename to include a specified extension. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>PACKAGE INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> Package ‘<span class="file">DESCRIPTION</span>’ file field <span class="samp">KeepSource</span> |
| forces the package to be installed with <code>keep.source = |
| TRUE</code> (or <code>FALSE</code>). (Suggestion of Greg Snow. Note that |
| as all packages are lazy-loaded, this is now only relevant at |
| installation.) |
| </p> |
| <p>There are corresponding options <span class="option">--with-keep.source</span> and |
| <span class="option">--without-keep.source</span> for <code>R CMD INSTALL</code>. |
| </p> |
| </li> |
| <li> <p><code>R CMD INSTALL</code> has a new option |
| <span class="option">--byte-compile</span> to byte-compile the packages during |
| installation (since all packages are now lazy-loaded). This can |
| be controlled on a per-package basis by the optional field |
| <span class="samp">ByteCompile</span> in the ‘<span class="file">DESCRIPTION</span>’ file. |
| </p> |
| </li> |
| <li><p> A package <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> code but without a ‘<span class="file">NAMESPACE</span>’ file will |
| have a default one created at <code>R CMD build</code> or <code>R |
| CMD INSTALL</code> time, so all packages will be installed with |
| namespaces. A consequence of this is that <code>.First.lib()</code> |
| functions need to be copied to <code>.onLoad()</code> (usually) or |
| <code>.onAttach()</code>. For the time being, if there is an |
| auto-generated ‘<span class="file">NAMESPACE</span>’ file and no <code>.onLoad()</code> nor |
| <code>.onAttach()</code> function is found but <code>.First.lib()</code> is, |
| it will be run as the attach hook (unless the package is one of a |
| list of known exceptions, when it will be run as the load hook). |
| </p> |
| </li> |
| <li><p> A warning is given if test-loading a package changes a |
| locked binding in a package other than itself. It is likely that |
| this will be disallowed in future releases. (There are <em>pro |
| tem</em> some exceptions to the warning.) |
| </p> |
| </li> |
| <li><p> A dependency on SVN revision is allowed for <code>R</code>, |
| e.g. <code>R (>= r56550)</code>. This should be used in conjunction with a |
| version number, e.g. <code>R (>= 2.14.0), R (>= r56550)</code> to |
| distinguish between R-patched and R-devel versions with the same |
| SVN revision. |
| </p> |
| </li> |
| <li> <p><code>installed.packages()</code> now hashes the names of its |
| cache files to avoid very rare problems with excessively long path |
| names. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14669">PR#14669</a>) |
| </p> |
| </li> |
| <li><p> A top-level ‘<span class="file">COPYING</span>’ file in a package is no longer |
| installed (file names ‘<span class="file">LICENSE</span>’ or ‘<span class="file">LICENCE</span>’ having long |
| been preferred). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>UTILITIES</h4> |
| |
| |
| <ul> |
| <li> <p><code>R CMD check</code> now gives an error if the <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> code in a |
| vignette fails to run, unless this is caused by a missing package. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> now unpacks tarballs in the same way |
| as <code>R CMD INSTALL</code>, including making use of the |
| environment variable <span class="env">R_INSTALL_TAR</span> to override the default |
| behaviour. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> performs additional code analysis of |
| package startup functions, and notifies about incorrect argument |
| lists and (incorrect) calls to functions which modify the search |
| path or inappropriately generate messages. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> now also checks compiled code for |
| symbols corresponding to functions which might terminate <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> or |
| write to ‘<span class="file">stdout</span>’/‘<span class="file">stderr</span>’ instead of the console. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> now uses a <code>pdf()</code> device when |
| checking examples (rather than <code>postscript()</code>). |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> now checks line-endings of makefiles |
| and C/C++/Fortran sources in subdirectories of ‘<span class="file">src</span>’ as well |
| as in ‘<span class="file">src</span>’ itself. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> now reports as a NOTE what look like |
| methods documented with their full names even if there is a |
| namespace and they are exported. In almost all cases they are |
| intended to be used only as methods and should use the |
| <span class="samp">\method</span> markup. In the other rare cases the recommended |
| form is to use a function such as <code>coefHclust</code> which would |
| not get confused with a method, document that and register it in |
| the ‘<span class="file">NAMESPACE</span>’ file by <code>s3method(coef, hclust, |
| coefHclust)</code>. |
| </p> |
| </li> |
| <li><p> The default for the environment variable |
| <span class="env">_R_CHECK_COMPACT_DATA2_</span> is now true: thus if using the newer |
| forms of compression introduced in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.10.0 would be beneficial |
| is now checked (by default). |
| </p> |
| </li> |
| <li><p> Reference output for a vignette can be supplied when |
| checking a package by <code>R CMD check</code>: see ‘Writing R |
| Extensions’. |
| </p> |
| </li> |
| <li> <p><code>R CMD Rd2dvi</code> allows the use of LaTeX package |
| <span class="samp">inputenx</span> rather than <span class="samp">inputenc</span>: the value of the |
| environment variable <span class="env">RD2DVI_INPUTENC</span> is used. (LaTeX package |
| <span class="samp">inputenx</span> is an optional install which provides greater |
| coverage of the UTF-8 encoding.) |
| </p> |
| </li> |
| <li> <p><code>Rscript</code> on a Unix-alike now accepts file names |
| containing spaces (provided these are escaped or quoted in the |
| shell). |
| </p> |
| </li> |
| <li> <p><code>R CMD build</code> on a Unix-alike (only) now tries to |
| preserve dates on files it copies from its input directory. (This |
| was the undocumented behaviour prior to <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.13.0.) |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>DEPRECATED AND DEFUNCT</h4> |
| |
| |
| <ul> |
| <li> <p><code>require()</code> no longer has a <code>save</code> argument. |
| </p> |
| </li> |
| <li><p> The <code>gamma</code> argument to <code>hsv()</code>, |
| <code>rainbow()</code>, and <code>rgb2hsv()</code> has been removed. |
| </p> |
| </li> |
| <li><p> The <span class="option">--no-docs</span> option for |
| <code>R CMD build --binary</code> is defunct: use |
| <span class="option">--install-args</span> instead. |
| </p> |
| </li> |
| <li><p> The option <span class="option">--unsafe</span> to <code>R CMD INSTALL</code> is |
| defunct: use the identical option <span class="option">--no-lock</span> instead. |
| </p> |
| </li> |
| <li><p> The entry point <code>pythag</code> formerly in ‘<span class="file">Rmath.h</span>’ is |
| defunct: use instead the C99 function <code>hypot</code>. |
| </p> |
| </li> |
| <li> <p><code>R CMD build --binary</code> is formally defunct: |
| <code>R CMD INSTALL --build</code> has long been the preferred |
| alternative. |
| </p> |
| </li> |
| <li> <p><code>zip.file.extract()</code> is now defunct: use |
| <code>unzip()</code> or <code>unz()</code> instead. |
| </p> |
| </li> |
| <li> <p><code>R CMD Rd2dvi</code> without the <span class="option">--pdf</span> option is |
| now deprecated: only PDF output will be supported in future |
| releases (since this allows the use of fonts only supported for |
| PDF), and only <code>R CMD Rd2pdf</code> will be available. |
| </p> |
| </li> |
| <li><p> Options such as <span class="option">--max-nsize</span> and the function |
| <code>mem.limits()</code> are now deprecated: these limits are nowadays |
| almost never used, and are reported by <code>gc()</code> when they are |
| in use. |
| </p> |
| </li> |
| <li><p> Forms like <code>binomial(link = "link")</code> for GLM families |
| deprecated since <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.4.0 are now defunct. |
| </p> |
| </li> |
| <li><p> The <code>declarativeOnly</code> argument to |
| <code>loadNamespace()</code> (not relevant since <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.13.0) has been |
| removed. |
| </p> |
| </li> |
| <li><p> Use of <code>library.dynam()</code> without specifying all the |
| first three arguments is deprecated. (It is often called from a |
| namespace, and the defaults are only appropriate to a package.) |
| </p> |
| <p>Use of <code>chname</code> in <code>library.dynam()</code> with the extension |
| ‘<span class="file">.so</span>’ or <code>.dll</code> (which is clearly not allowed according |
| to the help page) is deprecated. This also applies to |
| <code>library.dynam.unload()</code> and <code>useDynLib</code> directives in |
| ‘<span class="file">NAMESPACE</span>’ files. |
| </p> |
| </li> |
| <li><p> It is deprecated to use <code>mean(x)</code> and <code>sd(x)</code> |
| directly on data frames (or also matrices, for <code>sd</code>) |
| <code>x</code>, instead of simply using <code>sapply</code>. |
| </p> |
| <p>In the same spirit, <code>median(x)</code> now gives an error for a data |
| frame <code>x</code> (it often gave nonsensical results). |
| </p> |
| </li> |
| <li><p> The <code>keep.source</code> argument to <code>library()</code> and |
| <code>require()</code> is deprecated: it was only used for packages |
| installed without lazy-loading, and now all packages are |
| lazy-loaded. |
| </p> |
| </li> |
| <li><p> Using a false value for the ‘<span class="file">DESCRIPTION</span>’ field |
| <span class="samp">LazyLoad</span> is deprecated. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> The base and recommended packages are now byte-compiled |
| (equivalent to <code>make bytecode</code> in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.13.x). |
| </p> |
| </li> |
| <li><p> Configure option <span class="option">--with-system-zlib</span> now only makes |
| use of the basic interface of <code>zlib</code> and not the |
| C function <span class="samp">gzseek</span> which has shown erroneous behaviour in |
| <code>zlib</code> 1.2.4 and 1.2.5. |
| </p> |
| </li> |
| <li><p> The <code>zlib</code> in the R sources is now version 1.2.5. |
| (This is safe even on 32-bit Linux systems because only the basic |
| interface is now used.) |
| </p> |
| </li> |
| <li><p> The ‘<span class="file">.afm</span>’ files in package <span class="pkg">grDevices</span> are now |
| installed as compressed files (as long done on Windows), saving ca |
| 2MB on the installed size. |
| </p> |
| </li> |
| <li><p> The non-screen cairo-based devices are no longer in the X11 |
| module and so can be installed without X11. (We have never seen a |
| Unix-alike system with cairographics installed but not X11, but a |
| user might select <span class="option">--without-x</span>.) |
| </p> |
| </li> |
| <li><p> Configure will try to use <span class="option">-fobjc-exceptions</span> for the |
| Objective-C compiler (if present) to ensure that even compilers |
| that do not enable exceptions by default (such as vanilla gcc) can |
| be used. (Objective-C is currently only used on Mac OS X.) |
| </p> |
| </li> |
| <li><p> The system call <code>times</code> is required. |
| </p> |
| </li> |
| <li><p> The C99 functions <code>acosh</code>, <code>asinh</code>, <code>atanh</code>, |
| <code>snprintf</code> and <code>vsnprintf</code> are now required. |
| </p> |
| </li> |
| <li><p> There is no longer support for making DVI manuals <em>via</em> |
| <code>make dvi</code>, <code>make install-dvi</code> and similar. Only |
| PDF manuals are supported (to allow the use of fonts which are |
| only available for PDF.) |
| </p> |
| </li> |
| <li><p> The ‘<span class="file">configure</span>’ arguments used during configuration of |
| <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> are included as a comment in ‘<span class="file">Makeconf</span>’ for informative |
| purposes on Unix-alikes in a form suitable for shell execution. |
| Note that those are merely command-line arguments, they do not |
| include environment variables (one more reason to use configure |
| variables instead) or site configuration settings. |
| </p> |
| </li> |
| <li><p> Framework installation now supports <code>DESTDIR</code> |
| (Mac OS X only). |
| </p> |
| </li> |
| <li><p> Java detection (<code>R CMD javareconf</code>) works around bogus |
| <code>java.library.path</code> property in recent Oracle Java binaries. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li><p> The locale category <span class="samp">LC_MONETARY</span> was only being set on |
| startup on Windows: that is now done on Unix-alikes where |
| supported. |
| </p> |
| </li> |
| <li><p> Reference class utilities will detect an attempt to modify |
| methods or fields in a locked class definition (e.g., in a |
| namespace) and generate an error. |
| </p> |
| </li> |
| <li><p> The formula methods for <code>lines()</code>, <code>points()</code> and |
| <code>text()</code> now work even if package <span class="pkg">stats</span> is not on the |
| search path. |
| </p> |
| </li> |
| <li><p> In principle, S4 classes from different packages could |
| have the same name. This has not previously worked. Changes |
| have now been installed that should allow such classes and |
| permit methods to use them. New functions <code>className()</code> |
| and <code>multipleClasses()</code> are related tools for programming. |
| </p> |
| </li> |
| <li><p> Work around an issue in Linux (a system <code>select</code> call |
| resetting <code>tv</code>) which prevented internet operations from |
| timing out properly. |
| </p> |
| </li> |
| <li><p> Several stack trampling and overflow issues have been fixed |
| in TRE, triggered by <code>agrep</code> and friends with long patterns. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14627">PR#14627</a>) |
| </p> |
| </li> |
| <li><p> (“design infelicity”) Field assignments in reference |
| classes are now consistent with slots in S4 classes: the |
| assigned value must come from the declared class (if any) for the field |
| or from a subclass. |
| </p> |
| </li> |
| <li><p> The methods objects constructed for <code>"coerce"</code> and |
| <code>"coerce<-"</code> were lacking some essential information in the |
| <code>generic</code>, <code>defined</code> and <code>target</code> slots; |
| <code>as()</code> did not handle duplicate class definitions correctly. |
| </p> |
| </li> |
| <li><p> The parser no longer accepts the digit <code>8</code> in an octal |
| character code in a string, nor does it accept unterminated |
| strings in a file. (Reported by Bill Dunlap.) |
| </p> |
| </li> |
| <li><p> The <code>print()</code> method for class <code>"summary.aov"</code> did |
| not pass on argument <code>digits</code> when <code>summary()</code> was |
| called on a single object, and hence used more digits than |
| documented. |
| </p> |
| </li> |
| <li><p> The <code>X11()</code> device's cairo back-end produced incorrect |
| capture snapshot images on big-endian machines. |
| </p> |
| </li> |
| <li> <p><code>loglin()</code> gave a spurious error when argument |
| <code>margin</code> consisted of a single element of length one. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14690">PR#14690</a>) |
| </p> |
| </li> |
| <li> <p><code>loess()</code> is better protected against misuse, |
| e.g. zero-length <code>span</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14691">PR#14691</a>) |
| </p> |
| </li> |
| <li> <p><code>HoltWinters()</code> checks that the optimization |
| succeeded. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14694">PR#14694</a>) |
| </p> |
| </li> |
| <li><p> The (undocumented) inclusion of superclass objects in |
| default initializing of reference classes overwrote explicit |
| field arguments. The bug is fixed, the feature documented and a |
| test added. |
| </p> |
| </li> |
| <li> <p><code>round(x, -Inf)</code> now does something sensible (return |
| zero rather than <code>NA</code>). |
| </p> |
| </li> |
| <li> <p><code>signif(x, -Inf)</code> now behaves as documented |
| (<code>signif(x, 1)</code>) rather than giving zero. |
| </p> |
| </li> |
| <li><p> The <code>"table"</code> method for <code>Axis()</code> hardcoded |
| <code>side = 1</code>, hence calls to <code>plot(<vector>, <table>)</code> |
| labelled the wrong axis. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14699">PR#14699</a>) |
| </p> |
| </li> |
| <li><p> Creating a connection might fail under <code>gctorture(TRUE)</code>. |
| </p> |
| </li> |
| <li> <p><code>stack()</code> and <code>unstack()</code> converted character |
| columns to factors. |
| </p> |
| <p><code>unstack()</code> sometimes produced incorrect results (a list or a |
| vector) if the factor on which to un-split had only one level. |
| </p> |
| </li> |
| <li><p> On some systems <code>help(".C", help_type = "pdf")</code> and |
| similar generated file names that TeX was unable to handle. |
| </p> |
| </li> |
| <li><p> Non-blocking listening socket connections continued to |
| report <code>isIncomplete()</code> as true even when the peer had closed |
| down and all available input had been read. |
| </p> |
| </li> |
| <li><p> The revised HTML search system now generates better |
| hyperlinks to help topics found: previously it gave problems with |
| help pages with names containing e.g. spaces and slashes. |
| </p> |
| </li> |
| <li><p> A late change in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.13.2 broke <span class="samp">\Sexpr</span> expressions |
| in Rd files. |
| </p> |
| </li> |
| <li><p> The creation of ticks on log axes (including by |
| <code>axTicks()</code>) sometimes incorrectly omitted a tick at one end |
| of the range by rounding error in a platform-dependent way. This |
| could be seen in the examples for <code>axTicks()</code>, where with |
| axis limits <code>c(0.2, 88)</code> the tick for <code>0.2</code> was |
| sometimes omitted. |
| </p> |
| </li> |
| <li> <p><code>qgamma()</code> for small <code>shape</code> underflows to |
| <code>0</code> rather than sometimes giving <code>NaN</code>. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=8528">PR#8528</a>, <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14710">PR#14710</a>) |
| </p> |
| </li> |
| <li> <p><code>mapply()</code> now gives an explicit error message (rather |
| than an obscure one) if inputs of zero and positive length are |
| mixed. |
| </p> |
| </li> |
| <li><p> Setting a Hershey font family followed by string height |
| query would crash R. |
| </p> |
| </li> |
| <li> <p><code>R CMD javareconf -e</code> would fail for some shells due to |
| a shift error. Also the resulting paths will no longer contain |
| <code>$(JAVA_HOME)</code> as that can result in an unintended |
| substitution based on ‘<span class="file">Makeconf</span>’ instead of the shell |
| setting. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.13.2</h3> |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li> <p><code>mem.limits()</code> now reports values larger than the |
| maximum integer (previously documented to be reported as |
| <code>NA</code>), and allows larger values to be set, including |
| <code>Inf</code> to remove the limit. |
| </p> |
| </li> |
| <li><p> The <code>print()</code> methods for classes <code>"Date"</code>, |
| <code>"POSIXct"</code> and <code>"POSIXlt"</code> respect the option |
| <code>"max.print"</code> and so are much faster for very long datetime |
| vectors. (Suggestion of Yohan Chalabi.) |
| </p> |
| </li> |
| <li> <p><code>untar2()</code> now works around errors generated with |
| <code>tar</code> files that use more than the standard 6 digits for the |
| checksum. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14654">PR#14654</a>) |
| </p> |
| </li> |
| <li> <p><code>install.packages()</code> with <code>Ncpus > 1</code> guards |
| against simultaneous installation of indirect dependencies as well |
| as direct ones. |
| </p> |
| </li> |
| <li><p> Sweave now knows about a few more Windows' encodings |
| (including <code>cp1250</code> and <code>cp1257</code>) and some |
| <code>inputenx</code> encodings such as <code>koi8-r</code>. |
| </p> |
| </li> |
| <li> <p><code>postscript(colormodel = "rgb-nogray")</code> no longer sets |
| the sRGB colorspace for each colour and so some viewers may render |
| its files much faster than the default <code>colormodel ="rgb"</code>. |
| </p> |
| </li> |
| <li><p> The default for <code>pdf(maxRasters=)</code> has been increased |
| from 64 to 1000. |
| </p> |
| </li> |
| <li> <p><code>readBin()</code> now warns if <code>signed = FALSE</code> is used |
| inappropriately (rather than being silently ignored). |
| </p> |
| <p>It enforces the documented limit of <i>2^31-1</i> bytes |
| in a single call. |
| </p> |
| </li> |
| <li><p> PCRE has been updated to version 8.13, a bug-fix release |
| with updated Unicode tables (version 6.0.0). An additional patch |
| (r611 from PCRE 8.20-to-be) has been added to fix a collation |
| symbol recognition issue. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> It is possible to build in ‘<span class="file">src/extra/xdr</span>’ on more |
| platforms. (Needed since glibc 2.14 hides its RPC implementation.) |
| </p> |
| </li> |
| <li> <p><code>configure</code> will find the Sun TI-RPC implementation |
| of xdr (in ‘<span class="file">libtirpc</span>’) provided its header files are in the |
| search path: see the ‘R Installation and Administration |
| Manual’. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>PACKAGE INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> Using a broad <code>exportPattern</code> directive in a |
| ‘<span class="file">NAMESPACE</span>’ file is no longer allowed to export internal |
| objects such as <code>.onLoad</code> and <code>.__S3MethodsTable__.</code> . |
| </p> |
| <p>These are also excluded from imports, along with <code>.First.lib</code>. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li> <p><code>fisher.test()</code> had a buglet: If arguments were factors |
| with unused levels, levels were dropped and you would get an error |
| saying that there should be at least two levels, inconsistently |
| with pre-tabulated data. (Reported by Michael Fay). |
| </p> |
| </li> |
| <li> <p><code>package.skeleton()</code> will no longer dump S4 objects |
| supplied directly rather than in a code file. These cannot be |
| restored correctly from the dumped version. |
| </p> |
| </li> |
| <li><p> Build-time expressions in help files did not have access |
| to functions in the package being built (with <code>R CMD build</code>). |
| </p> |
| </li> |
| <li><p> Because <code>quote()</code> did not mark its result as being in |
| use, modification of the result could in some circumstances |
| modify the original call. |
| </p> |
| </li> |
| <li><p> Plotting <code>pch = '.'</code> now guarantees at least a one-pixel |
| dot if <code>cex > 0</code>. |
| </p> |
| </li> |
| <li><p> The very-rarely-used command-line option |
| <span class="option">--max-vsize</span> was incorrectly interpreted as a number of |
| Vcells and not in bytes as documented. (Spotted by Christophe |
| Rhodes.) |
| </p> |
| </li> |
| <li><p> The HTML generated by <code>Rd2HTML()</code> comes closer to |
| being standards compliant. |
| </p> |
| </li> |
| <li> <p><code>filter(x, recursive = TRUE)</code> gave incorrect results on a |
| series containing <code>NA</code>s. (Spotted by Bill Dunlap.) |
| </p> |
| </li> |
| <li><p> Profiling <code>stats::mle()</code> fits with a <code>fixed</code> |
| parameter was not supported. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14646">PR#14646</a>) |
| </p> |
| </li> |
| <li> <p><code>retracemem()</code> was still using positional matching. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14650">PR#14650</a>) |
| </p> |
| </li> |
| <li><p> The <code>quantile</code> method for <code>"ecdf"</code> objects now |
| works and is documented. |
| </p> |
| </li> |
| <li> <p><code>xtabs(~ .., ..., sparse=TRUE)</code> now also works together |
| with an <code>exclude = ..</code> specification. |
| </p> |
| </li> |
| <li> <p><code>decompose()</code> computed an incorrect seasonal component for |
| time series with odd frequencies. |
| </p> |
| </li> |
| <li><p> The <code>pdf()</code> device only includes the definition of the |
| sRGB colorspace in the output file for the <code>"rgb"</code> colormodel |
| (and not for <code>"gray"</code> nor <code>"cmyk"</code>): this saves ca |
| 9KB in the output file. |
| </p> |
| </li> |
| <li> <p><code>.hasSlot()</code> wrongly gave <code>FALSE</code> in some cases. |
| </p> |
| </li> |
| <li> <p><code>Sweave()</code> with <code>keep.source=TRUE</code> could generate |
| spurious <code>NA</code> lines when a chunk reference appeared last in |
| a code chunk. |
| </p> |
| </li> |
| <li> <p><span class="samp">\Sexpr[results=rd]</span> in an ‘<span class="file">.Rd</span>’ file now first tries |
| <code>parse_Rd(fragment=FALSE)</code> to allow Rd section-level macros |
| to be inserted. |
| </p> |
| </li> |
| <li><p> The <code>print()</code> method for class <code>"summary.aov"</code> did |
| not pass on arguments such as <code>signif.stars</code> when |
| <code>summary()</code> was called on a single object. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14684">PR#14684</a>) |
| </p> |
| </li> |
| <li><p> In rare cases <code>ks.test()</code> could return a p-value |
| very slightly less than 0 by rounding error. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14671">PR#14671</a>) |
| </p> |
| </li> |
| <li><p> If <code>trunc()</code> was called on a <code>"POSIXlt"</code> vector |
| and the result was subsetted, all but the first element was |
| converted to <code>NA</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14679">PR#14679</a>) |
| </p> |
| </li> |
| <li> <p><code>cbind()</code> and <code>rbind()</code> could cause memory |
| corruption when used on a combination of raw and logical/integer |
| vectors. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.13.1</h3> |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li> <p><code>iconv()</code> no longer translates <code>NA</code> strings as |
| <code>"NA"</code>. |
| </p> |
| </li> |
| <li> <p><code>persp(box = TRUE)</code> now warns if the surface extends |
| outside the box (since occlusion for the box and axes is computed |
| assuming the box is a bounding box). (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=202">PR#202</a>) |
| </p> |
| </li> |
| <li> <p><code>RShowDoc()</code> can now display the licences shipped with |
| <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>, e.g. <code>RShowDoc("GPL-3")</code>. |
| </p> |
| </li> |
| <li><p> New wrapper function <code>showNonASCIIfile()</code> in package |
| <span class="pkg">tools</span>. |
| </p> |
| </li> |
| <li> <p><code>nobs()</code> now has a <code>"mle"</code> method in package |
| <span class="pkg">stats4</span>. |
| </p> |
| </li> |
| <li> <p><code>trace()</code> now deals correctly with S4 reference classes |
| and corresponding reference methods (e.g., <code>$trace()</code>) |
| have been added. |
| </p> |
| </li> |
| <li> <p><code>xz</code> has been updated to 5.0.3 (very minor bugfix |
| release). |
| </p> |
| </li> |
| <li> <p><code>tools::compactPDF()</code> gets more compression (usually a |
| little, sometimes a lot) by using the compressed object streams of |
| PDF 1.5. |
| </p> |
| </li> |
| <li> <p><code>cairo_ps(onefile = TRUE)</code> generates encapsulated EPS |
| on platforms with cairo >= 1.6. |
| </p> |
| </li> |
| <li><p> Binary reads (e.g., by <code>readChar()</code> and <code>readBin()</code>) |
| are now supported on clipboard connections. (Wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14593">PR#14593</a>.) |
| </p> |
| </li> |
| <li> <p><code>as.POSIXlt.factor()</code> now passes <code>...</code> to the |
| character method (suggestion of Joshua Ulrich). [Intended for <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> |
| 2.13.0 but accidentally removed before release.] |
| </p> |
| </li> |
| <li> <p><code>vector()</code> and its wrappers such as <code>integer()</code> |
| and <code>double()</code> now warn if called with a <code>length</code> |
| argument of more than one element. This helps track down user |
| errors such as calling <code>double(x)</code> instead of |
| <code>as.double(x)</code>. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> Building the vignette PDFs in packages <span class="pkg">grid</span> and |
| <span class="pkg">utils</span> is now part of running <code>make</code> from an SVN |
| checkout on a Unix-alike: a separate <code>make vignettes</code> step |
| is no longer required. |
| </p> |
| <p>These vignettes are now made with <code>keep.source = TRUE</code> and |
| hence will be laid out differently. |
| </p> |
| </li> |
| <li> <p><code>make install-strip</code> failed under some configuration |
| options. |
| </p> |
| </li> |
| <li><p> Packages can customize non-standard installation of compiled |
| code via a <code>src/install.libs.R</code> script. This allows packages that |
| have architecture-specific binaries (beyond the package's shared |
| objects/DLLs) to be installed in a multi-architecture setting. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>SWEAVE & VIGNETTES</h4> |
| |
| |
| <ul> |
| <li> <p><code>Sweave()</code> and <code>Stangle()</code> gain an <code>encoding</code> |
| argument to specify the encoding of the vignette sources if the |
| latter do not contain a <span class="samp">\usepackage[]{inputenc}</span> statement |
| specifying a single input encoding. |
| </p> |
| </li> |
| <li><p> There is a new Sweave option <code>figs.only = TRUE</code> to run |
| each figure chunk only for each selected graphics device, and not |
| first using the default graphics device. This will become the |
| default in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.14.0. |
| </p> |
| </li> |
| <li><p> Sweave custom graphics devices can have a custom function |
| <code>foo.off()</code> to shut them down. |
| </p> |
| </li> |
| <li><p> Warnings are issued when non-portable filenames are found |
| for graphics files (and chunks if <code>split = TRUE</code>). Portable |
| names are regarded as alphanumeric plus hyphen, underscore, plus |
| and hash (periods cause problems with recognizing file |
| extensions). |
| </p> |
| </li> |
| <li><p> The <code>Rtangle()</code> driver has a new option |
| <code>show.line.nos</code> which is by default false; if true it |
| annotates code chunks with a comment giving the line number of the |
| first line in the sources (the behaviour of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> >= 2.12.0). |
| </p> |
| </li> |
| <li><p> Package installation tangles the vignette sources: this step |
| now converts the vignette sources from the vignette/package |
| encoding to the current encoding, and records the encoding (if not |
| ASCII) in a comment line at the top of the installed ‘<span class="file">.R</span>’ |
| file. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>LICENCE</h4> |
| |
| |
| <ul> |
| <li><p> No parts of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> are now licensed solely under GPL-2. The |
| licences for packages <a href="https://CRAN.R-project.org/package=rpart"><span class="pkg">rpart</span></a> and <a href="https://CRAN.R-project.org/package=survival"><span class="pkg">survival</span></a> have been |
| changed, which means that the licence terms for <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> as distributed |
| are GPL-2 | GPL-3. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>DEPRECATED AND DEFUNCT</h4> |
| |
| |
| <ul> |
| <li><p> The internal functions <code>.readRDS()</code> and |
| <code>.saveRDS()</code> are now deprecated in favour of the public |
| functions <code>readRDS()</code> and <code>saveRDS()</code> introduced in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> |
| 2.13.0. |
| </p> |
| </li> |
| <li><p> Switching off lazy-loading of code <em>via</em> the |
| <span class="samp">LazyLoad</span> field of the ‘<span class="file">DESCRIPTION</span>’ file is now |
| deprecated. In future all packages will be lazy-loaded. |
| </p> |
| </li> |
| <li><p> The off-line <code>help()</code> types <span class="samp">"postscript"</span> and |
| <span class="samp">"ps"</span> are deprecated. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>UTILITIES</h4> |
| |
| |
| <ul> |
| <li> <p><code>R CMD check</code> on a multi-architecture installation now |
| skips the user's ‘<span class="file">.Renviron</span>’ file for the |
| architecture-specific tests (which do read the |
| architecture-specific ‘<span class="file">Renviron.site</span>’ files). This is |
| consistent with single-architecture checks, which use |
| <span class="option">--no-environ</span>. |
| </p> |
| </li> |
| <li> <p><code>R CMD build</code> now looks for ‘<span class="file">DESCRIPTION</span>’ |
| fields <span class="samp">BuildResaveData</span> and <span class="samp">BuildKeepEmpty</span> for |
| per-package overrides. See ‘Writing R Extensions’. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li> <p><code>plot.lm(which = 5)</code> was intended to order factor |
| levels in increasing order of mean standardized residual. It |
| ordered the factor labels correctly, but could plot the wrong |
| group of residuals against the label. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14545">PR#14545</a>) |
| </p> |
| </li> |
| <li> <p><code>mosaicplot()</code> could clip the factor labels, and could |
| overlap them with the cells if a non-default value of |
| <code>cex.axis</code> was used. (Related to <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14550">PR#14550</a>.) |
| </p> |
| </li> |
| <li> <p><code>dataframe[[row,col]]</code> now dispatches on <code>[[</code> |
| methods for the selected column. (Spotted by Bill Dunlap). |
| </p> |
| </li> |
| <li> <p><code>sort.int()</code> would strip the class of an object, but |
| leave its object bit set. (Reported by Bill Dunlap.) |
| </p> |
| </li> |
| <li> <p><code>pbirthday()</code> and <code>qbirthday()</code> did not implement |
| the algorithm exactly as given in their reference and so were |
| unnecessarily inaccurate. |
| </p> |
| <p><code>pbirthday()</code> now solves the approximate formula analytically |
| rather than using <code>uniroot()</code> on a discontinuous function. |
| </p> |
| <p>The description of the problem was inaccurate: the probability is |
| a tail probability (‘2 <em>or more</em> people share a birthday’) |
| </p> |
| </li> |
| <li><p> Complex arithmetic sometimes warned incorrectly about |
| producing NAs when there were NaNs in the input. |
| </p> |
| </li> |
| <li> <p><code>seek(origin = "current")</code> incorrectly reported it was |
| not implemented for a <code>gzfile()</code> connection. |
| </p> |
| </li> |
| <li> <p><code>c()</code>, <code>unlist()</code>, <code>cbind()</code> and |
| <code>rbind()</code> could silently overflow the maximum vector length |
| and cause a segfault. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14571">PR#14571</a>) |
| </p> |
| </li> |
| <li><p> The <code>fonts</code> argument to <code>X11(type = "Xlib")</code> was |
| being ignored. |
| </p> |
| </li> |
| <li><p> Reading (e.g., with <code>readBin()</code>) from a raw connection |
| was not advancing the pointer, so successive reads would read the |
| same value. (Spotted by Bill Dunlap.) |
| </p> |
| </li> |
| <li><p> Parsed text containing embedded newlines was printed |
| incorrectly by <code>as.character.srcref()</code>. (Reported by Hadley |
| Wickham.) |
| </p> |
| </li> |
| <li> <p><code>decompose()</code> used with a series of a non-integer |
| number of periods returned a seasonal component shorter than the |
| original series. (Reported by Rob Hyndman.) |
| </p> |
| </li> |
| <li> <p><code>fields = list()</code> failed for <code>setRefClass()</code>. |
| (Reported by Michael Lawrence.) |
| </p> |
| </li> |
| <li><p> Reference classes could not redefine an inherited field |
| which had class <code>"ANY"</code>. (Reported by Janko Thyson.) |
| </p> |
| </li> |
| <li><p> Methods that override previously loaded versions will now |
| be installed and called. (Reported by Iago Mosqueira.) |
| </p> |
| </li> |
| <li> <p><code>addmargins()</code> called <code>numeric(apos)</code> rather than |
| <code>numeric(length(apos))</code>. |
| </p> |
| </li> |
| <li><p> The HTML help search sometimes produced bad links. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14608">PR#14608</a>) |
| </p> |
| </li> |
| <li><p> Command completion will no longer be broken if |
| <code>tail.default()</code> is redefined by the user. (Problem reported |
| by Henrik Bengtsson.) |
| </p> |
| </li> |
| <li><p> LaTeX rendering of markup in titles of help pages has been |
| improved; in particular, <code>\eqn{}</code> may be used there. |
| </p> |
| </li> |
| <li> <p><code>isClass()</code> used its own namespace as the default of |
| the <code>where</code> argument inadvertently. |
| </p> |
| </li> |
| <li><p> Rd conversion to latex mishandled multi-line titles |
| (including cases where there was a blank line in the <span class="samp">\title</span> |
| section). (It seems this happened only in 2.13.0 patched.) |
| </p> |
| </li> |
| <li> <p><code>postscript()</code> with an sRGB colormodel now uses sRGB |
| for raster images (in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.13.[01] it used uncalibrated RGB). |
| </p> |
| <p>There is no longer an undocumented 21845-pixel limit on raster images. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.13.0</h3> |
| |
| |
| |
| <h4>SIGNIFICANT USER-VISIBLE CHANGES</h4> |
| |
| |
| <ul> |
| <li> <p><code>replicate()</code> (by default) and <code>vapply()</code> (always) |
| now return a higher-dimensional array instead of a matrix in the case |
| where the inner function value is an array of dimension >= 2. |
| </p> |
| </li> |
| <li><p> Printing and formatting of floating point numbers is now |
| using the correct number of digits, where it previously rarely |
| differed by a few digits. (See “scientific” entry below.) |
| This affects <em>many</em> ‘<span class="file">*.Rout.save</span>’ checks in packages. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li> <p><code>normalizePath()</code> has been moved to the <span class="pkg">base</span> |
| package (from <span class="pkg">utils</span>): this is so it can be used by |
| <code>library()</code> and friends. |
| </p> |
| <p>It now does tilde expansion. |
| </p> |
| <p>It gains new arguments <code>winslash</code> (to select the separator on |
| Windows) and <code>mustWork</code> to control the action if a canonical |
| path cannot be found. |
| </p> |
| </li> |
| <li><p> The previously barely documented limit of 256 bytes on a |
| symbol name has been raised to 10,000 bytes (a sanity check). |
| Long symbol names can sometimes occur when deparsing expressions |
| (for example, in <code>model.frame</code>). |
| </p> |
| </li> |
| <li> <p><code>reformulate()</code> gains a <code>intercept</code> argument. |
| </p> |
| </li> |
| <li> <p><code>cmdscale(add = FALSE)</code> now uses the more common |
| definition that there is a representation in <code>n-1</code> or less |
| dimensions, and only dimensions corresponding to positive |
| eigenvalues are used. (Avoids confusion such as <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14397">PR#14397</a>.) |
| </p> |
| </li> |
| <li><p> Names used by <code>c()</code>, <code>unlist()</code>, <code>cbind()</code> |
| and <code>rbind()</code> are marked with an encoding when this can be |
| ascertained. |
| </p> |
| </li> |
| <li><p> R colours are now defined to refer to the sRGB color space. |
| </p> |
| <p>The PDF, PostScript, and Quartz graphics devices record this fact. |
| X11 (and cairo) and Windows just assume that your screen conforms. |
| </p> |
| </li> |
| <li> <p><code>system.file()</code> gains a <code>mustWork</code> argument |
| (suggestion of Bill Dunlap). |
| </p> |
| </li> |
| <li> <p><code>new.env(hash = TRUE)</code> is now the default. |
| </p> |
| </li> |
| <li> <p><code>list2env(envir = NULL)</code> defaults to hashing (with a |
| suitably sized environment) for lists of more than 100 elements. |
| </p> |
| </li> |
| <li> <p><code>text()</code> gains a formula method. |
| </p> |
| </li> |
| <li> <p><code>IQR()</code> now has a <code>type</code> argument which is passed |
| to <code>quantile()</code>. |
| </p> |
| </li> |
| <li> <p><code>as.vector()</code>, <code>as.double()</code> etc duplicate less |
| when they leave the mode unchanged but remove attributes. |
| </p> |
| <p><code>as.vector(mode = "any")</code> no longer duplicates when it does |
| not remove attributes. This helps memory usage in <code>matrix()</code> |
| and <code>array()</code>. |
| </p> |
| <p><code>matrix()</code> duplicates less if <code>data</code> is an atomic vector |
| with attributes such as names (but no class). |
| </p> |
| <p><code>dim(x) <- NULL</code> duplicates less if <code>x</code> has neither |
| dimensions nor names (since this operation removes names and |
| dimnames). |
| </p> |
| </li> |
| <li> <p><code>setRepositories()</code> gains an <code>addURLs</code> argument. |
| </p> |
| </li> |
| <li> <p><code>chisq.test()</code> now also returns a <code>stdres</code> |
| component, for standardized residuals (which have unit variance, |
| unlike the Pearson residuals). |
| </p> |
| </li> |
| <li> <p><code>write.table()</code> and friends gain a <code>fileEncoding</code> |
| argument, to simplify writing files for use on other OSes (e.g., a |
| spreadsheet intended for Windows or Mac OS X Excel). |
| </p> |
| </li> |
| <li><p> Assignment expressions of the form <code>foo::bar(x) <- y</code> |
| and <code>foo:::bar(x) <- y</code> now work; the replacement functions |
| used are <code>foo::`bar<-`</code> and <code>foo:::`bar<-`</code>. |
| </p> |
| </li> |
| <li> <p><code>Sys.getenv()</code> gains a <code>names</code> argument so |
| <code>Sys.getenv(x, names = FALSE)</code> can replace the common idiom |
| of <code>as.vector(Sys.getenv())</code>. The default has been changed |
| to not name a length-one result. |
| </p> |
| </li> |
| <li><p> Lazy loading of environments now preserves attributes and |
| locked status. (The locked status of bindings and active bindings |
| are still not preserved; this may be addressed in the future). |
| </p> |
| </li> |
| <li> <p><code>options("install.lock")</code> may be set to <code>FALSE</code> |
| so that <code>install.packages()</code> defaults to <span class="option">--no-lock</span> |
| installs, or (on Windows) to <code>TRUE</code> so that binary installs |
| implement locking. |
| </p> |
| </li> |
| <li> <p><code>sort(partial = p)</code> for large <code>p</code> now tries |
| Shellsort if quicksort is not appropriate and so works for |
| non-numeric atomic vectors. |
| </p> |
| </li> |
| <li> <p><code>sapply()</code> gets a new option <code>simplify = "array"</code> |
| which returns a “higher rank” array instead of just a matrix |
| when <code>FUN()</code> returns a <code>dim()</code> length of two or more. |
| </p> |
| <p><code>replicate()</code> has this option set by default, and |
| <code>vapply()</code> now behaves that way internally. |
| </p> |
| </li> |
| <li> <p><code>aperm()</code> becomes S3 generic and gets a <code>table</code> |
| method which preserves the class. |
| </p> |
| </li> |
| <li> <p><code>merge()</code> and <code>as.hclust()</code> methods for objects of |
| class <code>"dendrogram"</code> are now provided. |
| </p> |
| </li> |
| <li><p> The character method of <code>as.POSIXlt()</code> now tries to |
| find a format that works for all non-<code>NA</code> inputs, not just |
| the first one. |
| </p> |
| </li> |
| <li> <p><code>str()</code> now has a method for class <code>"Date"</code> |
| analogous to that for class <code>"POSIXt"</code>. |
| </p> |
| </li> |
| <li><p> New function <code>file.link()</code> to create hard links on |
| those file systems (POSIX, NTFS but not FAT) that support them. |
| </p> |
| </li> |
| <li><p> New <code>Summary()</code> group method for class <code>"ordered"</code> |
| implements <code>min()</code>, <code>max()</code> and <code>range()</code> for |
| ordered factors. |
| </p> |
| </li> |
| <li> <p><code>mostattributes<-()</code> now consults the <code>"dim"</code> |
| attribute and not the <code>dim()</code> function, making it more useful |
| for objects (such as data frames) from classes with methods for |
| <code>dim()</code>. It also uses <code>attr<-()</code> in preference to the |
| generics <code>name<-()</code>, <code>dim<-()</code> and <code>dimnames<-()</code>. |
| (Related to <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14469">PR#14469</a>.) |
| </p> |
| </li> |
| <li><p> There is a new option <code>"browserNLdisabled"</code> to disable |
| the use of an empty (e.g., via the ‘Return’ key) as a synonym |
| for <code>c</code> in <code>browser()</code> or <code>n</code> under <code>debug()</code>. |
| (Wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14472">PR#14472</a>.) |
| </p> |
| </li> |
| <li> <p><code>example()</code> gains optional new arguments |
| <code>character.only</code> and <code>give.lines</code> enabling programmatic |
| exploration. |
| </p> |
| </li> |
| <li> <p><code>serialize()</code> and <code>unserialize()</code> are no longer |
| described as ‘experimental’. The interface is now regarded |
| as stable, although the serialization format may well change in |
| future releases. (<code>serialize()</code> has a new argument |
| <code>version</code> which would allow the current format to be written |
| if that happens.) |
| </p> |
| <p>New functions <code>saveRDS()</code> and <code>readRDS()</code> are public |
| versions of the ‘internal’ functions <code>.saveRDS()</code> and |
| <code>.readRDS()</code> made available for general use. The dot-name |
| versions remain available as several package authors have made use |
| of them, despite the documentation. <code>readRDS()</code> no longer |
| wraps non-file connections in a call to <code>gzcon()</code>, for |
| efficiency (see its documentation). |
| </p> |
| <p><code>saveRDS()</code> supports <code>compress = "xz"</code>. |
| </p> |
| </li> |
| <li><p> Many functions when called with a not-open connection will |
| now ensure that the connection is left not-open in the event of |
| error. These include <code>read.dcf()</code>, <code>dput()</code>, |
| <code>dump()</code>, <code>load()</code>, <code>parse()</code>, <code>readBin()</code>, |
| <code>readChar()</code>, <code>readLines()</code>, <code>save()</code>, |
| <code>writeBin()</code>, <code>writeChar()</code>, <code>writeLines()</code>, |
| <code>.readRDS()</code>, <code>.saveRDS()</code> and <code>tools::parse_Rd()</code>, |
| as well as functions calling these. |
| </p> |
| </li> |
| <li><p> Public functions <code>find.package()</code> and <code>path.package()</code> |
| replace the internal dot-name versions. |
| </p> |
| </li> |
| <li><p> The default method for <code>terms()</code> now looks for a |
| <code>"terms"</code> attribute if it does not find a <code>"terms"</code> |
| component, and so works for model frames. |
| </p> |
| </li> |
| <li> <p><code>httpd()</code> handlers receive an additional argument |
| containing the full request headers as a raw vector (this can be |
| used to parse cookies, multi-part forms etc.). The recommended |
| full signature for handlers is therefore <code>function(url, |
| query, body, headers, ...)</code>. |
| </p> |
| </li> |
| <li> <p><code>file.edit()</code> gains a <code>fileEncoding</code> argument to |
| specify the encoding of the file(s). |
| </p> |
| </li> |
| <li><p> The format of the HTML package listings has changed. If |
| there is more than one library tree , a table of links to |
| libraries is provided at the top and bottom of the page. Where a |
| library contains more than 100 packages, an alphabetic index is |
| given at the top of the section for that library. (As a |
| consequence, package names are now sorted case-insensitively |
| whatever the locale.) |
| </p> |
| </li> |
| <li> <p><code>isSeekable()</code> now returns <code>FALSE</code> on connections |
| which have non-default <code>encoding</code>. Although documented to |
| record if ‘in principle’ the connection supports seeking, |
| it seems safer to report <code>FALSE</code> when it may not work. |
| </p> |
| </li> |
| <li> <p><code>R CMD REMOVE</code> and <code>remove.packages()</code> now |
| remove file <code>R.css</code> when removing all remaining packages in a |
| library tree. (Related to the wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14475">PR#14475</a>: note that this |
| file is no longer installed.) |
| </p> |
| </li> |
| <li> <p><code>unzip()</code> now has a <code>unzip</code> argument like |
| <code>zip.file.extract()</code>. This allows an external |
| <code>unzip</code> program to be used, which can be useful to access |
| features supported by Info-ZIP's <code>unzip</code> version 6 which |
| is now becoming more widely available. |
| </p> |
| </li> |
| <li><p> There is a simple <code>zip()</code> function, as wrapper for an |
| external <code>zip</code> command. |
| </p> |
| </li> |
| <li> <p><code>bzfile()</code> connections can now read from concatenated |
| <code>bzip2</code> files (including files written with |
| <code>bzfile(open = "a")</code>) and files created by some other |
| compressors (such as the example of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14479">PR#14479</a>). |
| </p> |
| </li> |
| <li><p> The primitive function <code>c()</code> is now of type BUILTIN. |
| </p> |
| </li> |
| <li> <p><code>plot(<dendrogram>, .., nodePar=*)</code> now obeys an optional |
| <code>xpd</code> specification (allowing clipping to be turned off |
| completely). |
| </p> |
| </li> |
| <li> <p><code>nls(algorithm="port")</code> now shares more code with |
| <code>nlminb()</code>, and is more consistent with the other |
| <code>nls()</code> algorithms in its return value. |
| </p> |
| </li> |
| <li> <p><code>xz</code> has been updated to 5.0.1 (very minor bugfix |
| release). |
| </p> |
| </li> |
| <li> <p><code>image()</code> has gained a logical <code>useRaster</code> |
| argument allowing it to use a bitmap raster for plotting a |
| regular grid instead of polygons. This can be more efficient, but |
| may not be supported by all devices. The default is <code>FALSE</code>. |
| </p> |
| </li> |
| <li> <p><code>list.files()</code>/<code>dir()</code> gains a new argument |
| <code>include.dirs()</code> to include directories in the listing when |
| <code>recursive = TRUE</code>. |
| </p> |
| </li> |
| <li><p> New function <code>list.dirs()</code> lists all directories, |
| (even empty ones). |
| </p> |
| </li> |
| <li> <p><code>file.copy()</code> now (by default) copies |
| read/write/execute permissions on files, moderated by the current |
| setting of <code>Sys.umask()</code>. |
| </p> |
| </li> |
| <li> <p><code>Sys.umask()</code> now accepts <code>mode = NA</code> and returns |
| the current <code>umask</code> value (visibly) without changing it. |
| </p> |
| </li> |
| <li><p> There is a <code>!</code> method for classes <code>"octmode"</code> and |
| <code>"hexmode"</code>: this allows <code>xor(a, b)</code> to work if both |
| <code>a</code> and <code>b</code> are from one of those classes. |
| </p> |
| </li> |
| <li> <p><code>as.raster()</code> no longer fails for vectors or matrices |
| containing <code>NA</code>s. |
| </p> |
| </li> |
| <li><p> New hook <code>"before.new.plot"</code> allows functions to be run |
| just before advancing the frame in <code>plot.new</code>, which is |
| potentially useful for custom figure layout implementations. |
| </p> |
| </li> |
| <li><p> Package <span class="pkg">tools</span> has a new function <code>compactPDF()</code> |
| to try to reduce the size of PDF files <em>via</em> <code>qpdf</code> |
| or <code>gs</code>. |
| </p> |
| </li> |
| <li> <p><code>tar()</code> has a new argument <code>extra_flags</code>. |
| </p> |
| </li> |
| <li> <p><code>dotchart()</code> accepts more general objects <code>x</code> such |
| as 1D tables which can be coerced by <code>as.numeric()</code> to a |
| numeric vector, with a warning since that might not be |
| appropriate. |
| </p> |
| </li> |
| <li><p> The previously internal function <code>create.post()</code> is now |
| exported from <span class="pkg">utils</span>, and the documentation for |
| <code>bug.report()</code> and <code>help.request()</code> now refer to that |
| for <code>create.post()</code>. |
| </p> |
| <p>It has a new <code>method = "mailto"</code> on Unix-alikes similar to |
| that on Windows: it invokes a default mailer via <code>open</code> |
| (Mac OS X) or <code>xdg-open</code> or the default browser (elsewhere). |
| </p> |
| <p>The default for <code>ccaddress</code> is now |
| <code>getOption("ccaddress")</code> which is by default unset: using the |
| username as a mailing address nowadays rarely works as expected. |
| </p> |
| </li> |
| <li><p> The default for <code>options("mailer")</code> is now |
| <code>"mailto"</code> on all platforms. |
| </p> |
| </li> |
| <li> <p><code>unlink()</code> now does tilde-expansion (like most other |
| file functions). |
| </p> |
| </li> |
| <li> <p><code>file.rename()</code> now allows vector arguments (of the |
| same length). |
| </p> |
| </li> |
| <li><p> The <code>"glm"</code> method for <code>logLik()</code> now returns an |
| <code>"nobs"</code> attribute (which <code>stats4::BIC()</code> assumed it |
| did). |
| </p> |
| <p>The <code>"nls"</code> method for <code>logLik()</code> gave incorrect results |
| for zero weights. |
| </p> |
| </li> |
| <li><p> There is a new generic function <code>nobs()</code> in package |
| <span class="pkg">stats</span>, to extract from model objects a suitable value for |
| use in BIC calculations. An S4 generic derived from it is defined |
| in package <span class="pkg">stats4</span>. |
| </p> |
| </li> |
| <li><p> Code for S4 reference-class methods is now examined for |
| possible errors in non-local assignments. |
| </p> |
| </li> |
| <li> <p><code>findClasses</code>, <code>getGeneric</code>, <code>findMethods</code> |
| and <code>hasMethods</code> are revised to deal consistently with |
| the <code>package=</code> argument and be consistent with soft namespace |
| policy for finding objects. |
| </p> |
| </li> |
| <li> <p><code>tools::Rdiff()</code> now has the option to return not only |
| the status but a character vector of observed differences (which |
| are still by default sent to ‘<span class="file">stdout</span>’). |
| </p> |
| </li> |
| <li><p> The startup environment variables <span class="env">R_ENVIRON_USER</span>, |
| <span class="env">R_ENVIRON</span>, <span class="env">R_PROFILE_USER</span> and <span class="env">R_PROFILE</span> are now |
| treated more consistently. In all cases an empty value is |
| considered to be set and will stop the default being used, and for |
| the last two tilde expansion is performed on the file name. (Note |
| that setting an empty value is probably impossible on Windows.) |
| </p> |
| </li> |
| <li><p> Using <code>R --no-environ CMD</code>, <code>R |
| --no-site-file CMD</code> or <code>R --no-init-file CMD</code> sets |
| environment variables so these settings are passed on to child <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> |
| processes, notably those run by <code>INSTALL</code>, <code>check</code> and |
| <code>build</code>. <code>R --vanilla CMD</code> sets these three options |
| (but not <span class="option">--no-restore</span>). |
| </p> |
| </li> |
| <li> <p><code>smooth.spline()</code> is somewhat faster. With |
| <code>cv=NA</code> it allows some leverage computations to be skipped, |
| </p> |
| </li> |
| <li><p> The internal (C) function <span class="samp">scientific()</span>, at the heart |
| of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>'s <code>format.info(x)</code>, <code>format(x)</code>, <code>print(x)</code>, |
| etc, for numeric <code>x</code>, has been re-written in order to provide |
| slightly more correct results, fixing <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14491">PR#14491</a>, notably in |
| border cases including when <code>digits >= 16</code>, thanks to |
| substantial contributions (code and experiments) from Petr |
| Savicky. This affects a noticeable amount of numeric output from |
| <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>. |
| </p> |
| </li> |
| <li><p> A new function <code>grepRaw()</code> has been introduced for |
| finding subsets of raw vectors. It supports both literal searches |
| and regular expressions. |
| </p> |
| </li> |
| <li><p> Package <span class="pkg">compiler</span> is now provided as a standard |
| package. See <code>?compiler::compile</code> for information on how to |
| use the compiler. This package implements a byte code compiler |
| for <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>: by default the compiler is not used in this release. See |
| the ‘R Installation and Administration Manual’ for how to |
| compile the base and recommended packages. |
| </p> |
| </li> |
| <li><p> Providing an <code>exportPattern</code> directive in a NAMESPACE |
| file now causes classes to be exported according to the same |
| pattern, for example the default from <code>package.skeleton()</code> |
| to specify all names starting with a letter. An explicit |
| directive to <code>exportClassPattern</code> will still over-ride. |
| </p> |
| </li> |
| <li><p> There is an additional marked encoding <code>"bytes"</code> for |
| character strings. This is intended to be used for non-ASCII |
| strings which should be treated as a set of bytes, and never |
| re-encoded as if they were in the encoding of the current locale: |
| <code>useBytes = TRUE</code> is automatically selected in functions such |
| as <code>writeBin()</code>, <code>writeLines()</code>, <code>grep()</code> and |
| <code>strsplit()</code>. |
| </p> |
| <p>Only a few character operations are supported (such as <code>substr()</code>). |
| </p> |
| <p>Printing, <code>format()</code> and <code>cat()</code> will represent non-ASCII |
| bytes in such strings by a <span class="samp">\xab</span> escape. |
| </p> |
| </li> |
| <li><p> The new function <code>removeSource()</code> removes the internally |
| stored source from a function. |
| </p> |
| </li> |
| <li> <p><code>"srcref"</code> attributes now include two additional |
| line number values, recording the line numbers in the order they |
| were parsed. |
| </p> |
| </li> |
| <li><p> New functions have been added for source reference access: |
| <code>getSrcFilename()</code>, <code>getSrcDirectory()</code>, |
| <code>getSrcLocation()</code> and <code>getSrcref()</code>. |
| </p> |
| </li> |
| <li> <p><code>Sys.chmod()</code> has an extra argument <code>use_umask</code> |
| which defaults to true and restricts the file mode by the current |
| setting of <code>umask</code>. This means that all the <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> functions |
| which manipulate file/directory permissions by default respect |
| <code>umask</code>, notably <code>R CMD INSTALL</code>. |
| </p> |
| </li> |
| <li> <p><code>tempfile()</code> has an extra argument <code>fileext</code> to |
| create a temporary filename with a specified extension. |
| (Suggestion and initial implementation by Dirk Eddelbuettel.) |
| </p> |
| <p>There are improvements in the way <code>Sweave()</code> and |
| <code>Stangle()</code> handle non-ASCII vignette sources, especially in |
| a UTF-8 locale: see ‘Writing R Extensions’ which now has a |
| subsection on this topic. |
| </p> |
| </li> |
| <li> <p><code>factanal()</code> now returns the rotation matrix if a |
| rotation such as <code>"promax"</code> is used, and hence factor |
| correlations are displayed. (Wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=12754">PR#12754</a>.) |
| </p> |
| </li> |
| <li><p> The <code>gctorture2()</code> function provides a more refined |
| interface to the GC torture process. Environment variables |
| <span class="env">R_GCTORTURE</span>, <span class="env">R_GCTORTURE_WAIT</span>, and |
| <span class="env">R_GCTORTURE_INHIBIT_RELEASE</span> can also be used to control the |
| GC torture process. |
| </p> |
| </li> |
| <li> <p><code>file.copy(from, to)</code> no longer regards it as an error |
| to supply a zero-length <code>from</code>: it now simply does nothing. |
| </p> |
| </li> |
| <li> <p><code>rstandard.glm()</code> gains a <code>type</code> argument which can |
| be used to request standardized Pearson residuals. |
| </p> |
| </li> |
| <li><p> A start on a Turkish translation, thanks to Murat Alkan. |
| </p> |
| </li> |
| <li> <p><code>.libPaths()</code> calls <code>normalizePath(winslash = "/")</code> |
| on the paths: this helps (usually) to present them in a |
| user-friendly form and should detect duplicate paths accessed via |
| different symbolic links. |
| </p> |
| </li> |
| <li> <p><code>download.file()</code> can be now used with external methods |
| even if there are spaces in the URL or the target filename. |
| </p> |
| </li> |
| <li><p> The first formal argument of <code>.C()</code>, <code>.Fortran()</code>, |
| <code>.Call()</code> and <code>.External()</code> is now referred to a |
| <code>.NAME</code> rather than <code>name</code>: however actual calls should |
| have an unnamed first argument. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>SWEAVE CHANGES</h4> |
| |
| |
| <ul> |
| <li> <p><code>Sweave()</code> has options to produce PNG and JPEG figures, |
| and to use a custom function to open a graphics device (see |
| <code>?RweaveLatex</code>).<br /> |
| (Based in part on the contribution of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14418">PR#14418</a>.) |
| </p> |
| </li> |
| <li><p> The default for <code>Sweave()</code> is to produce only PDF |
| figures (rather than both EPS and PDF). |
| </p> |
| </li> |
| <li><p> Environment variable <span class="env">SWEAVE_OPTIONS</span> can be used to |
| supply defaults for existing or new options to be applied after |
| the Sweave driver setup has been run. |
| </p> |
| </li> |
| <li><p> The Sweave manual is now included as a vignette in the |
| <span class="pkg">utils</span> package. |
| </p> |
| </li> |
| <li> <p><code>Sweave()</code> handles <code>keep.source=TRUE</code> much better: |
| it could duplicate some lines and omit comments. (Reported by John |
| Maindonald and others.) |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>C-LEVEL FACILITIES</h4> |
| |
| |
| <ul> |
| <li><p> Because they use a C99 interface which a C++ compiler is not |
| required to support, <code>Rvprintf</code> and <code>REvprintf</code> are only |
| defined by ‘<span class="file">R_ext/Print.h</span>’ in C++ code if the macro |
| <code>R_USE_C99_IN_CXX</code> is defined when it is included. |
| </p> |
| </li> |
| <li> <p><code>pythag</code> duplicated the C99 function <code>hypot</code>. It |
| is no longer provided, but is used as a substitute for <code>hypot</code> |
| in the very unlikely event that the latter is not available. |
| </p> |
| </li> |
| <li> <p><code>R_inspect(obj)</code> and <code>R_inspect3(obj, deep, pvec)</code> |
| are (hidden) C-level entry points to the internal <code>inspect</code> |
| function and can be used for C-level debugging (e.g., in conjunction |
| with the <code>p</code> command in <code>gdb</code>). |
| </p> |
| </li> |
| <li><p> Compiling R with <span class="option">--enable-strict-barrier</span> now also |
| enables additional checking for use of unprotected objects. In |
| combination with <code>gctorture()</code> or <code>gctorture2()</code> and a |
| C-level debugger this can be useful for tracking down memory |
| protection issues. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>UTILITIES</h4> |
| |
| |
| <ul> |
| <li> <p><code>R CMD Rdiff</code> is now implemented in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> on |
| Unix-alikes (as it has been on Windows since <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.12.0). |
| </p> |
| </li> |
| <li> <p><code>R CMD build</code> no longer does any cleaning in the |
| supplied package directory: all the cleaning is done in the copy. |
| </p> |
| <p>It has a new option <span class="option">--install-args</span> to pass arguments to |
| <code>R CMD INSTALL</code> for <span class="option">--build</span> (but not when |
| installing to rebuild vignettes). |
| </p> |
| <p>There is new option, <span class="option">--resave-data</span>, to call |
| <code>tools::resaveRdaFiles()</code> on the ‘<span class="file">data</span>’ directory, to |
| compress tabular files (‘<span class="file">.tab</span>’, ‘<span class="file">.csv</span>’ etc) and to |
| convert ‘<span class="file">.R</span>’ files to ‘<span class="file">.rda</span>’ files. The default, |
| <span class="option">--resave-data=gzip</span>, is to do so in a way compatible even |
| with years-old versions of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>, but better compression is given by |
| <span class="option">--resave-data=best</span>, requiring <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> >= 2.10.0. |
| </p> |
| <p>It now adds a ‘<span class="file">datalist</span>’ file for ‘<span class="file">data</span>’ directories of |
| more than 1Mb. |
| </p> |
| <p>Patterns in ‘<span class="file">.Rbuildignore</span>’ are now also matched against all |
| directory names (including those of empty directories). |
| </p> |
| <p>There is a new option, <span class="option">--compact-vignettes</span>, to try |
| reducing the size of PDF files in the ‘<span class="file">inst/doc</span>’ directory. |
| Currently this tries <code>qpdf</code>: other options may be used in |
| future. |
| </p> |
| <p>When re-building vignettes and a ‘<span class="file">inst/doc/Makefile</span>’ file is |
| found, <code>make clean</code> is run if the makefile has a |
| <code>clean:</code> target. |
| </p> |
| <p>After re-building vignettes the default clean-up operation will |
| remove any directories (and not just files) created during the |
| process: e.g., one package created a ‘<span class="file">.R_cache</span>’ directory. |
| </p> |
| <p>Empty directories are now removed unless the option |
| <span class="option">--keep-empty-dirs</span> is given (and a few packages do |
| deliberately include empty directories). |
| </p> |
| <p>If there is a field <code>BuildVignettes</code> in the package |
| ‘<span class="file">DESCRIPTION</span>’ file with a false value, re-building the |
| vignettes is skipped. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> now also checks for filenames that are |
| case-insensitive matches to Windows' reserved file names with |
| extensions, such as ‘<span class="file">nul.Rd</span>’, as these have caused problems |
| on some Windows systems. |
| </p> |
| <p>It checks for inefficiently saved ‘<span class="file">data/*.rda</span>’ and |
| ‘<span class="file">data/*.RData</span>’ files, and reports on those large than 100Kb. |
| A more complete check (including of the type of compression, but |
| potentially much slower) can be switched on by setting environment |
| variable <span class="env">_R_CHECK_COMPACT_DATA2_</span> to <span class="samp">TRUE</span>. |
| </p> |
| <p>The types of files in the ‘<span class="file">data</span>’ directory are now checked, |
| as packages are <em>still</em> misusing it for non-<span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> data files. |
| </p> |
| <p>It now extracts and runs the <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> code for each vignette in a |
| separate directory and <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> process: this is done in the package's |
| declared encoding. Rather than call |
| <code>tools::checkVignettes()</code>, it calls |
| <code>tools::buildVignettes()</code> to see if the vignettes can be |
| re-built as they would be by <code>R CMD build</code>. Option |
| <span class="option">--use-valgrind</span> now applies only to these runs, and not |
| when running code to rebuild the vignettes. This version does a |
| much better job of suppressing output from successful vignette |
| tests. |
| </p> |
| <p>The ‘<span class="file">00check.log</span>’ file is a more complete record of what is |
| output to ‘<span class="file">stdout</span>’: in particular contains more details of |
| the tests. |
| </p> |
| <p>It now checks all syntactically valid Rd usage entries, and warns |
| about assignments (unless these give the usage of replacement |
| functions). |
| </p> |
| <p>‘<span class="file">.tar.xz</span>’ compressed tarballs are now allowed, if |
| <code>tar</code> supports them (and setting environment variable |
| <span class="env">TAR</span> to <span class="samp">internal</span> ensures so on all platforms). |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> now warns if it finds |
| ‘<span class="file">inst/doc/makefile</span>’, and <code>R CMD build</code> renames such a |
| file to ‘<span class="file">inst/doc/Makefile</span>’. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> Installing <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> no longer tries to find <code>perl</code>, and |
| <code>R CMD</code> no longer tries to substitute a full path for |
| <code>awk</code> nor <code>perl</code> – this was a legacy from the |
| days when they were used by <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> itself. Because a couple of |
| packages do use <code>awk</code>, it is set as the <code>make</code> |
| (rather than environment) variable <span class="env">AWK</span>. |
| </p> |
| </li> |
| <li> <p><code>make check</code> will now fail if there are differences |
| from the reference output when testing package examples and if |
| environment variable <span class="env">R_STRICT_PACKAGE_CHECK</span> is set to a true |
| value. |
| </p> |
| </li> |
| <li><p> The C99 double complex type is now required. |
| </p> |
| <p>The C99 complex trigonometric functions (such as <span class="samp">csin</span>) are |
| not currently required (FreeBSD lacks most of them): substitutes |
| are used if they are missing. |
| </p> |
| </li> |
| <li><p> The C99 system call <span class="samp">va_copy</span> is now required. |
| </p> |
| </li> |
| <li><p> If environment variable <span class="env">R_LD_LIBRARY_PATH</span> is set |
| during configuration (for example in ‘<span class="file">config.site</span>’) it is |
| used unchanged in file ‘<span class="file">etc/ldpaths</span>’ rather than being |
| appended to. |
| </p> |
| </li> |
| <li> <p><code>configure</code> looks for support for OpenMP and if |
| found compiles <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> with appropriate flags and also makes them |
| available for use in packages: see ‘Writing R Extensions’. |
| </p> |
| <p>This is currently experimental, and is only used in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> with a |
| single thread for <code>colSums()</code> and <code>colMeans()</code>. Expect |
| it to be more widely used in later versions of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>. |
| </p> |
| <p>This can be disabled by the <span class="option">--disable-openmp</span> flag. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>PACKAGE INSTALLATION</h4> |
| |
| |
| <ul> |
| <li> <p><code>R CMD INSTALL --clean</code> now removes copies of a |
| ‘<span class="file">src</span>’ directory which are created when multiple |
| sub-architectures are in use. (Following a comment from |
| Berwin Turlach.) |
| </p> |
| </li> |
| <li><p> File ‘<span class="file">R.css</span>’ is now installed on a per-package basis |
| (in the package's ‘<span class="file">html</span>’ directory) rather than in each |
| library tree, and this is used for all the HTML pages in the |
| package. This helps when installing packages with static HTML |
| pages for use on a webserver. It will also allow future versions |
| of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> to use different stylesheets for the packages they install. |
| </p> |
| </li> |
| <li><p> A top-level file ‘<span class="file">.Rinstignore</span>’ in the package sources |
| can list (in the same way as ‘<span class="file">.Rbuildignore</span>’) files under |
| <code>inst</code> that should not be installed. (Why should there be any |
| such files? Because all the files needed to re-build vignettes |
| need to be under <code>inst/doc</code>, but they may not need to be |
| installed.) |
| </p> |
| </li> |
| <li> <p><code>R CMD INSTALL</code> has a new option |
| <span class="option">--compact-docs</span> to compact any PDFs under the |
| ‘<span class="file">inst/doc</span>’ directory. Currently this uses <code>qpdf</code>, |
| which must be installed (see ‘Writing R Extensions’). |
| </p> |
| </li> |
| <li><p> There is a new option <span class="option">--lock</span> which can be used to |
| cancel the effect of <span class="option">--no-lock</span> or <span class="option">--pkglock</span> earlier |
| on the command line. |
| </p> |
| </li> |
| <li><p> Option <span class="option">--pkglock</span> can now be used with more than one |
| package, and is now the default if only one package is specified. |
| </p> |
| </li> |
| <li><p> Argument <code>lock</code> of <code>install.packages()</code> can now be |
| use for Mac binary installs as well as for Windows ones. The |
| value <code>"pkglock"</code> is now accepted, as well as <code>TRUE</code> and |
| <code>FALSE</code> (the default). |
| </p> |
| </li> |
| <li><p> There is a new option <span class="option">--no-clean-on-error</span> for |
| <code>R CMD INSTALL</code> to retain a partially installed package for |
| forensic analysis. |
| </p> |
| </li> |
| <li><p> Packages with names ending in ‘<span class="file">.</span>’ are not portable |
| since Windows does not work correctly with such directory names. |
| This is now warned about in <code>R CMD check</code>, and will not be |
| allowed in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.14.x. |
| </p> |
| </li> |
| <li><p> The vignette indices are more comprehensive (in the style of |
| <code>browseVignetttes()</code>). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>DEPRECATED & DEFUNCT</h4> |
| |
| |
| <ul> |
| <li> <p><code>require(save = TRUE)</code> is defunct, and use of the |
| <code>save</code> argument is deprecated. |
| </p> |
| </li> |
| <li> <p><code>R CMD check --no-latex</code> is defunct: use |
| <span class="option">--no-manual</span> instead. |
| </p> |
| </li> |
| <li> <p><code>R CMD Sd2Rd</code> is defunct. |
| </p> |
| </li> |
| <li><p> The <code>gamma</code> argument to <code>hsv()</code>, |
| <code>rainbow()</code>, and <code>rgb2hsv()</code> is deprecated |
| and no longer has any effect. |
| </p> |
| </li> |
| <li><p> The previous options for <code>R CMD build --binary</code> |
| (<span class="option">--auto-zip</span>, <span class="option">--use-zip-data</span> and |
| <span class="option">--no-docs</span>) are deprecated (or defunct): |
| use the new option <span class="option">--install-args</span> instead. |
| </p> |
| </li> |
| <li><p> When a character value is used for the <code>EXPR</code> |
| argument in <code>switch()</code>, only a single unnamed alternative |
| value is now allowed. |
| </p> |
| </li> |
| <li><p> The wrapper <code>utils::link.html.help()</code> is no longer |
| available. |
| </p> |
| </li> |
| <li><p> Zip-ing data sets in packages (and hence <code>R CMD |
| INSTALL</code> options <span class="option">--use-zip-data</span> and <span class="option">--auto-zip</span>, as |
| well as the <span class="samp">ZipData: yes</span> field in a <code>DESCRIPTION</code> file) |
| is defunct. |
| </p> |
| <p>Installed packages with zip-ed data sets can still be used, but a |
| warning that they should be re-installed will be given. |
| </p> |
| </li> |
| <li><p> The ‘experimental’ alternative specification of a |
| namespace via <code>.Export()</code> etc is now defunct. |
| </p> |
| </li> |
| <li><p> The option <span class="option">--unsafe</span> to <code>R CMD INSTALL</code> is |
| deprecated: use the identical option <span class="option">--no-lock</span> instead. |
| </p> |
| </li> |
| <li><p> The entry point <code>pythag</code> in ‘<span class="file">Rmath.h</span>’ is deprecated |
| in favour of the C99 function <code>hypot</code>. A wrapper for |
| <code>hypot</code> is provided for <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.13.x only. |
| </p> |
| </li> |
| <li><p> Direct access to the <code>"source"</code> attribute of functions |
| is deprecated; use <code>deparse(fn, control="useSource")</code> to access |
| it, and <code>removeSource(fn)</code> to remove it. |
| </p> |
| </li> |
| <li> <p><code>R CMD build --binary</code> is now formally deprecated: |
| <code>R CMD INSTALL --build</code> has long been the preferred |
| alternative. |
| </p> |
| </li> |
| <li><p> Single-character package names are deprecated (and <span class="pkg">R</span> |
| is already disallowed to avoid confusion in <span class="samp">Depends:</span> |
| fields). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li> <p><code>drop.terms</code> and the <code>[</code> method for class |
| <code>"terms"</code> no longer add back an intercept. (Reported by |
| Niels Hansen.) |
| </p> |
| </li> |
| <li> <p><code>aggregate</code> preserves the class of a column (e.g., a |
| date) under some circumstances where it discarded the class |
| previously. |
| </p> |
| </li> |
| <li> <p><code>p.adjust()</code> now always returns a vector result, as |
| documented. In previous versions it copied attributes (such as |
| dimensions) from the <code>p</code> argument: now it only copies names. |
| </p> |
| </li> |
| <li><p> On PDF and PostScript devices, a line width of zero was |
| recorded verbatim and this caused problems for some viewers |
| (a very thin line combined with a non-solid line dash pattern |
| could also cause a problem). On these devices, the line width is |
| now limited at 0.01 and for very thin lines with complex dash |
| patterns the device may force the line dash pattern to be solid. |
| (Reported by Jari Oksanen.) |
| </p> |
| </li> |
| <li><p> The <code>str()</code> method for class <code>"POSIXt"</code> now gives |
| sensible output for 0-length input. |
| </p> |
| </li> |
| <li><p> The one- and two-argument complex maths functions failed to |
| warn if NAs were generated (as their numeric analogues do). |
| </p> |
| </li> |
| <li><p> Added <code>.requireCachedGenerics</code> to the <code>dont.mind</code> |
| list for <code>library()</code> to avoid warnings about duplicates. |
| </p> |
| </li> |
| <li> <p><code>$<-.data.frame</code> messed with the class attribute, |
| breaking any S4 subclass. The S4 <code>data.frame</code> class now has its own |
| <code>$<-</code> method, and turns dispatch on for this primitive. |
| </p> |
| </li> |
| <li> <p><code>Map()</code> did not look up a character argument <code>f</code> |
| in the correct frame, thanks to lazy evaluation. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14495">PR#14495</a>) |
| </p> |
| </li> |
| <li> <p><code>file.copy()</code> did not tilde-expand <code>from</code> and <code>to</code> |
| when <code>to</code> was a directory. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14507">PR#14507</a>) |
| </p> |
| </li> |
| <li><p> It was possible (but very rare) for the loading test in |
| <code>R CMD INSTALL</code> to crash a child <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> process and so leave |
| around a lock directory and a partially installed package. That |
| test is now done in a separate process. |
| </p> |
| </li> |
| <li> <p><code>plot(<formula>, data=<matrix>,..)</code> now works in more |
| cases; similarly for <code>points()</code>, <code>lines()</code> and |
| <code>text()</code>. |
| </p> |
| </li> |
| <li> <p><code>edit.default()</code> contained a manual dispatch for matrices |
| (the <code>"matrix"</code> class didn't really exist when it was written). |
| This caused an infinite recursion in the no-GUI case and has now |
| been removed. |
| </p> |
| </li> |
| <li> <p><code>data.frame(check.rows = TRUE)</code> sometimes worked when |
| it should have detected an error. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14530">PR#14530</a>) |
| </p> |
| </li> |
| <li> <p><code>scan(sep= , strip.white=TRUE)</code> sometimes stripped |
| trailing spaces from within quoted strings. (The real bug in |
| <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14522">PR#14522</a>.) |
| </p> |
| </li> |
| <li><p> The rank-correlation methods for <code>cor()</code> and |
| <code>cov()</code> with <code>use = "complete.obs"</code> computed the ranks |
| before removing missing values, whereas the documentation implied |
| incomplete cases were removed first. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14488">PR#14488</a>) |
| </p> |
| <p>They also failed for 1-row matrices. |
| </p> |
| </li> |
| <li><p> The perpendicular adjustment used in placing text and |
| expressions in the margins of plots was not scaled by |
| <code>par("mex")</code>. (Part of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14532">PR#14532</a>.) |
| </p> |
| </li> |
| <li><p> Quartz Cocoa device now catches any Cocoa exceptions that |
| occur during the creation of the device window to prevent crashes. |
| It also imposes a limit of 144 ft^2 on the area used by a window |
| to catch user errors (unit misinterpretation) early. |
| </p> |
| </li> |
| <li><p> The browser (invoked by <code>debug()</code>, <code>browser()</code> |
| or otherwise) would display attributes such as <code>"wholeSrcref"</code> |
| that were intended for internal use only. |
| </p> |
| </li> |
| <li><p> R's internal filename completion now properly handles |
| filenames with spaces in them even when the readline library is |
| used. This resolves <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14452">PR#14452</a> provided the internal filename |
| completion is used (e.g., by setting <code>rc.settings(files = |
| TRUE)</code>). |
| </p> |
| </li> |
| <li><p> Inside <code>uniroot(f, ...)</code>, <code>-Inf</code> function values |
| are now replaced by a maximally <b>negative</b> value. |
| </p> |
| </li> |
| <li> <p><code>rowsum()</code> could silently over/underflow on integer |
| inputs (reported by Bill Dunlap). |
| </p> |
| </li> |
| <li> <p><code>as.matrix()</code> did not handle <code>"dist"</code> objects with |
| zero rows. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.12.2 patched</h3> |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li> <p><code>max()</code> and <code>min()</code> work harder to ensure that |
| <code>NA</code> has precedence over <code>NaN</code>, |
| so e.g. <code>min(NaN, NA)</code> is <code>NA</code>. |
| (This was not previously documented except |
| for within a single numeric vector, where compiler optimizations |
| often defeated the code.) |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li><p> A change to the C function <span class="samp">R_tryEval</span> had broken error |
| messages in S4 method selection; the error message is now printed. |
| </p> |
| </li> |
| <li><p> PDF output with a non-RGB color model used RGB for the line |
| stroke color. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14511">PR#14511</a>) |
| </p> |
| </li> |
| <li> <p><code>stats4::BIC()</code> assumed without checking that an object |
| of class <code>"logLik"</code> has an <code>"nobs"</code> attribute: |
| <code>glm()</code> fits did not and so <code>BIC()</code> failed for them. |
| </p> |
| </li> |
| <li><p> In some circumstances a one-sided <code>mantelhaen.test()</code> |
| reported the p-value for the wrong tail. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14514">PR#14514</a>) |
| </p> |
| </li> |
| <li><p> Passing the invalid value <code>lty = NULL</code> to <code>axis()</code> |
| sent an invalid value to the graphics device, and might cause the |
| device to segfault. |
| </p> |
| </li> |
| <li> <p><code>Sweave()</code> with <code>concordance=TRUE</code> could lead to |
| invalid PDF files; ‘<span class="file">Sweave.sty</span>’ has been updated to avoid |
| this. |
| </p> |
| </li> |
| <li><p> Non-ASCII characters in the titles of help pages were |
| not rendered properly in some locales, and could cause errors |
| or warnings. |
| </p> |
| </li> |
| <li> <p><code>checkRd()</code> gave a spurious error if the <code>\href</code> |
| macro was used. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.12.2</h3> |
| |
| |
| |
| <h4>SIGNIFICANT USER-VISIBLE CHANGES</h4> |
| |
| |
| <ul> |
| <li><p> Complex arithmetic (notably <code>z^n</code> for complex <code>z</code> |
| and integer <code>n</code>) gave incorrect results since <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.10.0 on |
| platforms without C99 complex support. This and some |
| lesser issues in trigonometric functions have been corrected. |
| </p> |
| <p>Such platforms were rare (we know of Cygwin and FreeBSD). |
| However, because of new compiler optimizations in the way complex |
| arguments are handled, the same code was selected on x86_64 Linux |
| with <code>gcc 4.5.x</code> at the default <code>-O2</code> optimization |
| (but not at <code>-O</code>). |
| </p> |
| </li> |
| <li><p> There is a workaround for crashes seen with several packages |
| on systems using <span class="samp">zlib 1.2.5</span>: see the INSTALLATION section. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li><p> PCRE has been updated to 8.12 (two bug-fix releases since 8.10). |
| </p> |
| </li> |
| <li> <p><code>rep()</code>, <code>seq()</code>, <code>seq.int()</code> and |
| <code>seq_len()</code> report more often when the first element is taken |
| of an argument of incorrect length. |
| </p> |
| </li> |
| <li><p> The Cocoa back-end for the <code>quartz()</code> graphics device |
| on Mac OS X provides a way to disable event loop processing |
| temporarily (useful, e.g., for forked instances of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>). |
| </p> |
| </li> |
| <li> <p><code>kernel()</code>'s default for <code>m</code> was not appropriate |
| if <code>coef</code> was a set of coefficients. (Reported by Pierre |
| Chausse.) |
| </p> |
| </li> |
| <li> <p><code>bug.report()</code> has been updated for the current <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> bug |
| tracker, which does not accept emailed submissions. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> now checks for the correct use of |
| <span class="samp">$(LAPACK_LIBS)</span> (as well as <span class="samp">$(BLAS_LIBS)</span>), since |
| several CRAN recent submissions have ignored ‘Writing R |
| Extensions’. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> The <span class="samp">zlib</span> sources in the distribution are now built |
| with all symbols remapped: this is intended to avoid problems seen |
| with packages such as <a href="https://CRAN.R-project.org/package=XML"><span class="pkg">XML</span></a> and <a href="https://CRAN.R-project.org/package=rggobi"><span class="pkg">rggobi</span></a> which link to |
| ‘<span class="file">zlib.so.1</span>’ on systems using <span class="samp">zlib 1.2.5</span>. |
| </p> |
| </li> |
| <li><p> The default for <span class="env">FFLAGS</span> and <span class="env">FCFLAGS</span> with |
| <code>gfortran</code> on x86_64 Linux has been changed back to <span class="samp">-g |
| -O2</span>: however, setting <span class="samp">-g -O</span> may still be needed for |
| <code>gfortran 4.3.x</code>. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>PACKAGE INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> A <span class="samp">LazyDataCompression</span> field in the ‘<span class="file">DESCRIPTION</span>’ |
| file will be used to set the value for the |
| <span class="option">--data-compress</span> option of <code>R CMD INSTALL</code>. |
| </p> |
| </li> |
| <li><p> Files ‘<span class="file">R/sysdata.rda</span>’ of more than 1Mb are now stored |
| in the lazyload database using <code>xz</code> compression: this for |
| example halves the installed size of package <a href="https://CRAN.R-project.org/package=Imap"><span class="pkg">Imap</span></a>. |
| </p> |
| </li> |
| <li> <p><code>R CMD INSTALL</code> now ensures that directories |
| installed from ‘<span class="file">inst</span>’ have search permission for everyone. |
| </p> |
| <p>It no longer installs files ‘<span class="file">inst/doc/Rplots.ps</span>’ and |
| ‘<span class="file">inst/doc/Rplots.pdf</span>’. These are almost certainly left-overs |
| from <code>Sweave</code> runs, and are often large. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>DEPRECATED & DEFUNCT</h4> |
| |
| |
| <ul> |
| <li><p> The ‘experimental’ alternative specification of a |
| namespace via <code>.Export()</code> etc is now deprecated. |
| </p> |
| </li> |
| <li> <p><code>zip.file.extract()</code> is now deprecated. |
| </p> |
| </li> |
| <li><p> Zip-ing data sets in packages (and hence <code>R CMD |
| INSTALL --use-zip-data</code> and the <span class="samp">ZipData: yes</span> field in a |
| <code>DESCRIPTION</code> file) is deprecated: using efficiently |
| compressed ‘<span class="file">.rda</span>’ images and lazy-loading of data has |
| superseded it. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li> <p><code>identical()</code> could in rare cases generate a warning |
| about non-pairlist attributes on CHARSXPs. As these are used for |
| internal purposes, the attribute check should be skipped. |
| (Reported by Niels Richard Hansen). |
| </p> |
| </li> |
| <li><p> If the filename extension (usually ‘<span class="file">.Rnw</span>’) was not |
| included in a call to <code>Sweave()</code>, source references would not |
| work properly and the <code>keep.source</code> option failed. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14459">PR#14459</a>) |
| </p> |
| </li> |
| <li> <p><code>format.data.frame()</code> now keeps zero character column names. |
| </p> |
| </li> |
| <li> <p><code>pretty(x)</code> no longer raises an error when <code>x</code> |
| contains solely non-finite values. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14468">PR#14468</a>) |
| </p> |
| </li> |
| <li><p> The <code>plot.TukeyHSD()</code> function now uses a line width of |
| 0.5 for its reference lines rather than <span class="samp">lwd = 0</span> (which |
| caused problems for some PDF and PostScript viewers). |
| </p> |
| </li> |
| <li><p> The <code>big.mark</code> argument to <code>prettyNum()</code>, |
| <code>format()</code>, etc. was inserted reversed if it was more than |
| one character long. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> failed to check the filenames under |
| ‘<span class="file">man</span>’ for Windows' reserved names. |
| </p> |
| </li> |
| <li><p> The <code>"Date"</code> and <code>"POSIXt"</code> methods for |
| <code>seq()</code> could overshoot when <code>to</code> was supplied and |
| <code>by</code> was specified in months or years. |
| </p> |
| </li> |
| <li><p> The internal method of <code>untar()</code> now restores hard |
| links as file copies rather than symbolic links (which did not |
| work for cross-directory links). |
| </p> |
| </li> |
| <li> <p><code>unzip()</code> did not handle zip files which contained |
| filepaths with two or more leading directories which were not in |
| the zipfile and did not already exist. (It is unclear if such |
| zipfiles are valid and the third-party C code used did not support |
| them, but <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14462">PR#14462</a> created one.) |
| </p> |
| </li> |
| <li> <p><code>combn(n, m)</code> now behaves more regularly for the border |
| case <i>m = 0</i>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14473">PR#14473</a>) |
| </p> |
| </li> |
| <li><p> The rendering of numbers in plotmath expressions (e.g., |
| <code>expression(10^2)</code>) used the current settings for conversion |
| to strings rather than setting the defaults, and so could be |
| affected by what has been done before. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14477">PR#14477</a>) |
| </p> |
| </li> |
| <li><p> The methods of <code>napredict()</code> and <code>naresid()</code> for |
| <code>na.action = na.exclude</code> fits did not work correctly in the |
| very rare event that every case had been omitted in the fit. |
| (Reported by Simon Wood.) |
| </p> |
| </li> |
| <li> <p><code>weighted.residuals(drop0=TRUE)</code> returned a vector when |
| the residuals were a matrix (e.g., those of class <code>"mlm"</code>). |
| (Reported by Bill Dunlap.) |
| </p> |
| </li> |
| <li><p> Package HTML index files ‘<span class="file"><pkg>/html/00Index.html</span>’ were |
| generated with a stylesheet reference that was not correct for |
| static browsing in libraries. |
| </p> |
| </li> |
| <li> <p><code>ccf(na.action = na.pass)</code> was not implemented. |
| </p> |
| </li> |
| <li><p> The parser accepted some incorrect numeric constants, |
| e.g. <code>20x2</code>. (Reported by Olaf Mersmann.) |
| </p> |
| </li> |
| <li> <p><code>format(*, zero.print)</code> did not always replace the full |
| zero parts. |
| </p> |
| </li> |
| <li><p> Fixes for subsetting or subassignment of <code>"raster"</code> |
| objects when not both <code>i</code> and <code>j</code> are specified. |
| </p> |
| </li> |
| <li> <p><code>R CMD INSTALL</code> was not always respecting the |
| <span class="samp">ZipData: yes</span> field of a ‘<span class="file">DESCRIPTION</span>’ file (although |
| this is frequently incorrectly specified for packages with no data |
| or which specify lazy-loading of data). |
| </p> |
| <p><code>R CMD INSTALL --use-zip-data</code> was incorrectly implemented |
| as <span class="option">--use-zipdata</span> since <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.9.0. |
| </p> |
| </li> |
| <li> <p><code>source(file, echo=TRUE)</code> could fail if the file |
| contained <span class="samp">#line</span> directives. It now recovers more gracefully, but |
| may still display the wrong line if the directive gives incorrect |
| information. |
| </p> |
| </li> |
| <li> <p><code>atan(1i)</code> returned <code>NaN+Infi</code> (rather than |
| <code>0+Infi</code>) on platforms without C99 complex support. |
| </p> |
| </li> |
| <li> <p><code>library()</code> failed to cache S4 metadata (unlike |
| <code>loadNamespace()</code>) causing failures in S4-using packages |
| without a namespace (e.g., those using reference classes). |
| </p> |
| </li> |
| <li><p> The function <code>qlogis(lp, log.p=TRUE)</code> no longer |
| prematurely overflows to <code>Inf</code> when exp(lp) is close to 1. |
| </p> |
| </li> |
| <li><p> Updating S4 methods for a group generic function requires |
| resetting the methods tables for the members of the group (patch |
| contributed by Martin Morgan). |
| </p> |
| </li> |
| <li><p> In some circumstances (including for package <a href="https://CRAN.R-project.org/package=XML"><span class="pkg">XML</span></a>), |
| <code>R CMD INSTALL</code> installed version-control directories from |
| source packages. |
| </p> |
| </li> |
| <li><p> Added <code>PROTECT</code> calls to some constructed expressions |
| used in C level <code>eval</code> calls. |
| </p> |
| </li> |
| <li> <p><code>utils:::create.post()</code> (used by <code>bug.report()</code> |
| and <code>help.request()</code>) failed to quote arguments to the |
| mailer, and so often failed. |
| </p> |
| </li> |
| <li> <p><code>bug.report()</code> was naive about how to extract |
| maintainer email addresses from package descriptions, so would |
| often try mailing to incorrect addresses. |
| </p> |
| </li> |
| <li> <p><code>debugger()</code> could fail to read the environment of a |
| call to a function with a <code>...</code> argument. (Reported by |
| Charlie Roosen.) |
| </p> |
| </li> |
| <li> <p><code>prettyNum(c(1i, NA), drop0=TRUE)</code> or |
| <code>str(NA_complex_)</code> now work correctly. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.12.1</h3> |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li><p> The DVI/PDF reference manual now includes the help pages for |
| all the standard packages: <span class="pkg">splines</span>, <span class="pkg">stats4</span> and |
| <span class="pkg">tcltk</span> were previously omitted (intentionally). |
| </p> |
| </li> |
| <li> <p><a href="http://www.rforge.net">http://www.rforge.net</a> has been added to the default |
| set of repositories known to <code>setRepositories()</code>. |
| </p> |
| </li> |
| <li><p> xz-utils has been updated to version 5.0.0. |
| </p> |
| </li> |
| <li> <p><code>reshape()</code> now makes use of <code>sep</code> when forming |
| names during reshaping to wide format. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14435">PR#14435</a>) |
| </p> |
| </li> |
| <li> <p><code>legend()</code> allows the length of lines to be set by the |
| end user <em>via</em> the new argument <code>seg.len</code>. |
| </p> |
| </li> |
| <li><p> New S4 reference class utility methods <code>copy()</code>, |
| <code>field()</code>, <code>getRefClass()</code> and <code>getClass()</code> have |
| been added to package <span class="pkg">methods</span>. |
| </p> |
| </li> |
| <li><p> When a character value is used for the <code>EXPR</code> |
| argument in <code>switch()</code>, a warning is given if more than |
| one unnamed alternative value is given. This will become an |
| error in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.13.0. |
| </p> |
| </li> |
| <li> <p><code>StructTS(type = "BSM")</code> now allows series with just |
| two seasons. (Reported by Birgit Erni.) |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> The PDF reference manual is now built as PDF version 1.5 |
| with object compression, which on platforms for which this is not |
| the default (notably MiKTeX) halves its size. |
| </p> |
| </li> |
| <li><p> Variable <span class="env">FCLIBS</span> can be set during configuration, for |
| any additional library flags needed when linking a shared object |
| with the Fortran 9x compiler. (Needed with Solaris Studio 12.2.) |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li> <p><code>seq.int()</code> no longer sometimes evaluates arguments |
| twice. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14388">PR#14388</a>) |
| </p> |
| </li> |
| <li><p> The <code>data.frame</code> method of <code>format()</code> failed if a |
| column name was longer than 256 bytes (the maximum length allowed |
| for an <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> name). |
| </p> |
| </li> |
| <li> <p><code>predict(<lm object>, type ="terms", ...)</code> failed if |
| both <code>terms</code> and <code>interval</code> were specified. (Reported |
| by Bill Dunlap.) |
| </p> |
| <p>Also, if <code>se.fit = TRUE</code> the standard errors were reported |
| for all terms, not just those selected by a non-null <code>terms</code>. |
| </p> |
| </li> |
| <li><p> The TRE regular expressions engine could terminate <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> rather |
| than give an error when given certain invalid regular expressions. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14398">PR#14398</a>) |
| </p> |
| </li> |
| <li> <p><code>cmdscale(eig = TRUE)</code> was documented to return <i>n-1</i> |
| eigenvalues but in fact only returned <code>k</code>. It now returns |
| all <i>n</i> eigenvalues. |
| </p> |
| <p><code>cmdscale(add = TRUE)</code> failed to centre the return |
| configuration and sometimes lost the labels on the points. Its |
| return value was described wrongly (it is always a list and |
| contains component <code>ac</code>). |
| </p> |
| </li> |
| <li> <p><code>promptClass()</code> in package <span class="pkg">methods</span> now works for |
| reference classes and gives a suitably specialized skeleton of |
| documentation. |
| </p> |
| <p>Also, <code>callSuper()</code> now works via the <code>methods()</code> |
| invocation as well as for initially specified methods. |
| </p> |
| </li> |
| <li> <p><code>download.file()</code> could leave the destination file open |
| if the URL was not able to be opened. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14414">PR#14414</a>) |
| </p> |
| </li> |
| <li><p> Assignment of an environment to functions or as an attribute |
| to other objects now works for S4 subclasses of <code>"environment"</code>. |
| </p> |
| </li> |
| <li><p> Use of <span class="samp">[[<-</span> for S4 subclasses of |
| <code>"environment"</code> generated an infinite recursion from the |
| method. The method has been replaced by internal code. |
| </p> |
| </li> |
| <li><p> In a reference class S4 method, <code>callSuper()</code> now works in |
| <code>initialize()</code> methods when there is no explicit superclass |
| method. |
| </p> |
| </li> |
| <li> <p><span class="samp">!</span> dropped attributes such as names and dimensions from a |
| length-zero argument. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14424">PR#14424</a>) |
| </p> |
| </li> |
| <li><p> When <code>list2env()</code> created an environment it was missing |
| a <code>PROTECT</code> call and so was vulnerable to garbage collection. |
| </p> |
| </li> |
| <li> <p><code>Sweave()</code> with <code>keep.source=TRUE</code> dropped |
| comments at the start and end of code chunks. It could also |
| fail when <span class="samp">\SweaveInput</span> was combined with named chunks. |
| </p> |
| </li> |
| <li><p> The Fortran code used by <code>nls(algorithm = "port")</code> |
| could infinite-loop when compiled with high optimization on a |
| modern version of <code>gcc</code>, and <code>SAFE_FFLAGS</code> is now used |
| to make this less likely. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14427">PR#14427</a>, seen with 32-bit Windows |
| using <code>gcc 4.5.0</code> used from <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.12.0.) |
| </p> |
| </li> |
| <li> <p><code>sapply()</code> with default <code>simplify = TRUE</code> and |
| <code>mapply()</code> with default <code>SIMPLIFY = TRUE</code> wrongly |
| simplified language-like results, as, e.g., in |
| <code>mapply(1:2, c(3,7), FUN = function(i,j) call(':',i,j))</code>. |
| </p> |
| </li> |
| <li><p> Backreferences to undefined patterns in |
| <code>[g]sub(pcre = TRUE)</code> could cause a segfault. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14431">PR#14431</a>) |
| </p> |
| </li> |
| <li><p> The <code>format()</code> (and hence the <code>print()</code>) method |
| for class <code>"Date"</code> rounded fractional dates towards zero: it |
| now always rounds them down. |
| </p> |
| </li> |
| <li><p> Reference S4 class creation could generate ambiguous |
| inheritance patterns under very special circumstances. |
| </p> |
| </li> |
| <li> <p><span class="samp">[[<-</span> turned S4 subclasses of <code>"environment"</code> into |
| plain environments. |
| </p> |
| </li> |
| <li><p> Long titles for help pages were truncated in package indices |
| and a few other places. |
| </p> |
| </li> |
| <li><p> Additional utilities now work correctly with S4 subclasses of |
| <code>"environment"</code> (<code>rm</code>, locking tools and active |
| bindings). |
| </p> |
| </li> |
| <li> <p><code>spec.ar()</code> now also work for the <code>"ols"</code> method. |
| (Reported by Hans-Ruedi Kuensch.) |
| </p> |
| </li> |
| <li><p> The initialization of objects from S4 subclasses of |
| <code>"environment"</code> now allocates a new environment object. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> has more protection against (probably |
| erroneous) example or test output which is invalid in the current |
| locale. |
| </p> |
| </li> |
| <li> <p><code>qr.X()</code> with column names and pivoting now also pivots |
| the column names. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14438">PR#14438</a>) |
| </p> |
| </li> |
| <li> <p><code>unit.pmax()</code> and <code>unit.pmin()</code> in package |
| <span class="pkg">grid</span> gave incorrect results when all inputs were of length 1. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14443">PR#14443</a>) |
| </p> |
| </li> |
| <li><p> The parser for ‘<span class="file">NAMESPACE</span>’ files ignored misspelled |
| directives, rather than signalling an error. For 2.12.x a warning |
| will be issued, but this will be correctly reported as an error |
| in later releases. (Reported by Charles Berry.) |
| </p> |
| </li> |
| <li><p> Fix for subsetting of <code>"raster"</code> objects when only one |
| of <code>i</code> or <code>j</code> is specified. |
| </p> |
| </li> |
| <li> <p><code>grid.raster()</code> in package <span class="pkg">grid</span> did not accept |
| <code>"nativeRaster"</code> objects (like <code>rasterImage()</code> does). |
| </p> |
| </li> |
| <li><p> Rendering raster images in PDF output was resetting the |
| clipping region. |
| </p> |
| </li> |
| <li><p> Rendering of raster images on cairo X11 device was wrong, |
| particularly when a small image was being scaled up using |
| interpolation. |
| </p> |
| <p>With cairo < 1.6, will be better than before, though still a |
| little clunky. With cairo >= 1.6, should be sweet as. |
| </p> |
| </li> |
| <li><p> Several bugs fixed in <code>read.DIF()</code>: single column |
| inputs caused errors, cells marked as <code>"character"</code> could |
| be converted to other types, and (in Windows) copying from the |
| clipboard failed. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.12.0</h3> |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li><p> Reading a package's ‘<span class="file">CITATION</span>’ file now defaults to |
| ASCII rather than Latin-1: a package with a non-ASCII |
| ‘<span class="file">CITATION</span>’ file should declare an encoding in its |
| ‘<span class="file">DESCRIPTION</span>’ file and use that encoding for the |
| ‘<span class="file">CITATION</span>’ file. |
| </p> |
| </li> |
| <li> <p><code>difftime()</code> now defaults to the <code>"tzone"</code> |
| attribute of <code>"POSIXlt"</code> objects rather than to the current |
| timezone as set by the default for the <code>tz</code> argument. (Wish |
| of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14182">PR#14182</a>.) |
| </p> |
| </li> |
| <li> <p><code>pretty()</code> is now generic, with new methods for |
| <code>"Date"</code> and <code>"POSIXt"</code> classes (based on code |
| contributed by Felix Andrews). |
| </p> |
| </li> |
| <li> <p><code>unique()</code> and <code>match()</code> are now faster on |
| character vectors where all elements are in the global <code>CHARSXP</code> |
| cache and have unmarked encoding (ASCII). Thanks to Matthew |
| Dowle for suggesting improvements to the way the hash code is |
| generated in ‘<span class="file">unique.c</span>’. |
| </p> |
| </li> |
| <li><p> The <code>enquote()</code> utility, in use internally, is exported now. |
| </p> |
| </li> |
| <li> <p><code>.C()</code> and <code>.Fortran()</code> now map non-zero return |
| values (other than <code>NA_LOGICAL</code>) for logical vectors to |
| <code>TRUE</code>: it has been an implicit assumption that they are |
| treated as true. |
| </p> |
| </li> |
| <li><p> The <code>print()</code> methods for <code>"glm"</code> and <code>"lm"</code> |
| objects now insert linebreaks in long calls in the same way that |
| the <code>print()</code> methods for <code>"summary.[g]lm"</code> objects |
| have long done. This does change the layout of the examples for |
| a number of packages, e.g. <a href="https://CRAN.R-project.org/package=MASS"><span class="pkg">MASS</span></a>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14250">PR#14250</a>) |
| </p> |
| </li> |
| <li> <p><code>constrOptim()</code> can now be used with method |
| <code>"SANN"</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14245">PR#14245</a>) |
| </p> |
| <p>It gains an argument <code>hessian</code> to be passed to |
| <code>optim()</code>, which allows all the <code>...</code> arguments to be |
| intended for <code>f()</code> and <code>grad()</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14071">PR#14071</a>) |
| </p> |
| </li> |
| <li> <p><code>curve()</code> now allows <code>expr</code> to be an object of |
| mode <code>"expression"</code> as well as <code>"call"</code> and |
| <code>"function"</code>. |
| </p> |
| </li> |
| <li><p> The <code>"POSIX[cl]t"</code> methods for <code>Axis()</code> have been |
| replaced by a single method for <code>"POSIXt"</code>. |
| </p> |
| <p>There are no longer separate <code>plot()</code> methods for |
| <code>"POSIX[cl]t"</code> and <code>"Date"</code>: the default method has |
| been able to handle those classes for a long time. This |
| <em>inter alia</em> allows a single date-time object to be |
| supplied, the wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14016">PR#14016</a>. |
| </p> |
| <p>The methods had a different default (<code>""</code>) for <code>xlab</code>. |
| </p> |
| </li> |
| <li><p> Classes <code>"POSIXct"</code>, <code>"POSIXlt"</code> and |
| <code>"difftime"</code> have generators <code>.POSIXct()</code>, |
| <code>.POSIXlt()</code> and <code>.difftime()</code>. Package authors are |
| advised to make use of them (they are available from <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.11.0) to |
| proof against planned future changes to the classes. |
| </p> |
| <p>The ordering of the classes has been changed, so <code>"POSIXt"</code> |
| is now the second class. See the document ‘Updating |
| packages for changes in R 2.12.x’ on |
| <a href="http://developer.r-project.org">http://developer.r-project.org</a> for the consequences for a |
| handful of CRAN packages. |
| </p> |
| </li> |
| <li><p> The <code>"POSIXct"</code> method of <code>as.Date()</code> allows a |
| timezone to be specified (but still defaults to UTC). |
| </p> |
| </li> |
| <li><p> New <code>list2env()</code> utility function as an inverse of |
| <code>as.list(<environment>)</code> and for fast multi-<code>assign()</code> |
| to existing environment. <code>as.environment()</code> is now generic |
| and uses <code>list2env()</code> as list method. |
| </p> |
| </li> |
| <li><p> There are several small changes to output which ‘zap’ |
| small numbers, e.g. in printing quantiles of residuals in |
| summaries from <code>"lm"</code> and <code>"glm"</code> fits, and in test |
| statistics in <code>print.anova()</code>. |
| </p> |
| </li> |
| <li><p> Special names such as <code>"dim"</code>, <code>"names"</code>, etc, are |
| now allowed as slot names of S4 classes, with <code>"class"</code> the |
| only remaining exception. |
| </p> |
| </li> |
| <li><p> File ‘<span class="file">.Renviron</span>’ can have architecture-specific versions |
| such as ‘<span class="file">.Renviron.i386</span>’ on systems with sub-architectures. |
| </p> |
| </li> |
| <li> <p><code>installed.packages()</code> has a new argument |
| <code>subarch</code> to filter on sub-architecture. |
| </p> |
| </li> |
| <li><p> The <code>summary()</code> method for <code>packageStatus()</code> now |
| has a separate <code>print()</code> method. |
| </p> |
| </li> |
| <li><p> The default <code>summary()</code> method returns an object |
| inheriting from class <code>"summaryDefault"</code> which has a |
| separate <code>print()</code> method that calls <code>zapsmall()</code> for |
| numeric/complex values. |
| </p> |
| </li> |
| <li><p> The startup message now includes the platform and if used, |
| sub-architecture: this is useful where different |
| (sub-)architectures run on the same OS. |
| </p> |
| </li> |
| <li><p> The <code>getGraphicsEvent()</code> mechanism now allows multiple windows |
| to return graphics events, through the new functions |
| <code>setGraphicsEventHandlers()</code>, <code>setGraphicsEventEnv()</code>, and |
| <code>getGraphicsEventEnv()</code>. (Currently implemented in the |
| <code>windows()</code> and <code>X11()</code> devices.) |
| </p> |
| </li> |
| <li> <p><code>tools::texi2dvi()</code> gains an <code>index</code> argument, |
| mainly for use by <code>R CMD Rd2pdf</code>. |
| </p> |
| <p>It avoids the use of <code>texindy</code> by <code>texinfo</code>'s |
| <code>texi2dvi >= 1.157</code>, since that does not emulate |
| 'makeindex' well enough to avoid problems with special characters |
| (such as <span class="samp">(</span>, <span class="samp">{</span>, <span class="samp">!</span>) in indices. |
| </p> |
| </li> |
| <li><p> The ability of <code>readLines()</code> and <code>scan()</code> to |
| re-encode inputs to marked UTF-8 strings on Windows since <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.7.0 |
| is extended to non-UTF-8 locales on other OSes. |
| </p> |
| </li> |
| <li> <p><code>scan()</code> gains a <code>fileEncoding</code> argument to |
| match <code>read.table()</code>. |
| </p> |
| </li> |
| <li> <p><code>points()</code> and <code>lines()</code> gain <code>"table"</code> |
| methods to match <code>plot()</code>. (Wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=10472">PR#10472</a>.) |
| </p> |
| </li> |
| <li> <p><code>Sys.chmod()</code> allows argument <code>mode</code> to be a |
| vector, recycled along <code>paths</code>. |
| </p> |
| </li> |
| <li><p> There are <code>|</code>, <code>&</code> and <code>xor()</code> methods for |
| classes <code>"octmode"</code> and <code>"hexmode"</code>, which work |
| bitwise. |
| </p> |
| </li> |
| <li><p> Environment variables <span class="env">R_DVIPSCMD</span>, <span class="env">R_LATEXCMD</span>, |
| <span class="env">R_MAKEINDEXCMD</span>, <span class="env">R_PDFLATEXCMD</span> are no longer used |
| nor set in an <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> session. (With the move to |
| <code>tools::texi2dvi()</code>, the conventional environment variables |
| <span class="env">LATEX</span>, <span class="env">MAKEINDEX</span> and <span class="env">PDFLATEX</span> will be used. |
| <code>options("dvipscmd")</code> defaults to the value of <span class="env">DVIPS</span>, |
| then to <code>"dvips"</code>.) |
| </p> |
| </li> |
| <li><p> New function <code>isatty()</code> to see if terminal connections are |
| redirected. |
| </p> |
| </li> |
| <li> <p><code>summaryRprof()</code> returns the sampling interval in |
| component <code>sample.interval</code> and only returns in |
| <code>by.self</code> data for functions with non-zero self times. |
| </p> |
| </li> |
| <li> <p><code>print(x)</code> and <code>str(x)</code> now indicate if an empty |
| list <code>x</code> is named. |
| </p> |
| </li> |
| <li> <p><code>install.packages()</code> and <code>remove.packages()</code> with |
| <code>lib</code> unspecified and multiple libraries in |
| <code>.libPaths()</code> inform the user of the library location used |
| with a message rather than a warning. |
| </p> |
| </li> |
| <li><p> There is limited support for multiple compressed streams on a |
| file: all of <code>[bgx]zfile()</code> allow streams to be appended to an |
| existing file, but <code>bzfile()</code> reads only the first stream. |
| </p> |
| </li> |
| <li><p> Function <code>person()</code> in package <span class="pkg">utils</span> now uses |
| a given/family scheme in preference to first/middle/last, is |
| vectorized to handle an arbitrary number of persons, and gains a |
| <code>role</code> argument to specify person roles using a controlled |
| vocabulary (the MARC relator terms). |
| </p> |
| </li> |
| <li><p> Package <span class="pkg">utils</span> adds a new <code>"bibentry"</code> class |
| for representing and manipulating bibliographic information in |
| enhanced BibTeX style, unifying and enhancing the previously |
| existing mechanisms. |
| </p> |
| </li> |
| <li><p> A <code>bibstyle()</code> function has been added to the |
| <span class="pkg">tools</span> package with default JSS style for rendering |
| <code>"bibentry"</code> objects, and a mechanism for registering other |
| rendering styles. |
| </p> |
| </li> |
| <li><p> Several aspects of the display of text help are now |
| customizable using the new <code>Rd2txt_options()</code> function. |
| options(<code>"help_text_width"</code>) is no longer used. |
| </p> |
| </li> |
| <li><p> Added <span class="samp">\href</span> tag to the Rd format, to allow |
| hyperlinks to URLs without displaying the full URL. |
| </p> |
| </li> |
| <li><p> Added <span class="samp">\newcommand</span> and <span class="samp">\renewcommand</span> tags |
| to the Rd format, to allow user-defined macros. |
| </p> |
| </li> |
| <li><p> New <code>toRd()</code> generic in the <span class="pkg">tools</span> package to |
| convert objects to fragments of Rd code, and added |
| <code>"fragment"</code> argument to <code>Rd2txt()</code>, <code>Rd2HTML()</code>, |
| and <code>Rd2latex()</code> to support it. |
| </p> |
| </li> |
| <li><p> Directory ‘<span class="file">R_HOME/share/texmf</span>’ now follows the TDS |
| conventions, so can be set as a <code>texmf</code> tree (‘root |
| directory’ in MiKTeX parlance). |
| </p> |
| </li> |
| <li><p> S3 generic functions now use correct S4 inheritance when |
| dispatching on an S4 object. See <code>?Methods</code>, section on |
| “Methods for S3 Generic Functions” for recommendations |
| and details. |
| </p> |
| </li> |
| <li> <p><code>format.pval()</code> gains a <code>...</code> argument to pass |
| arguments such as <code>nsmall</code> to <code>format()</code>. (Wish of |
| <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=9574">PR#9574</a>) |
| </p> |
| </li> |
| <li> <p><code>legend()</code> supports <code>title.adj</code>. (Wish of |
| <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=13415">PR#13415</a>) |
| </p> |
| </li> |
| <li><p> Added support for subsetting <code>"raster"</code> objects, plus |
| assigning to a subset, conversion to a matrix (of colour |
| strings), and comparisons (<span class="samp">==</span> and <span class="samp">!=</span>). |
| </p> |
| </li> |
| <li><p> Added a new <code>parseLatex()</code> function (and related |
| functions <code>deparseLatex()</code> and <code>latexToUtf8()</code>) to |
| support conversion of bibliographic entries for display in R. |
| </p> |
| </li> |
| <li><p> Text rendering of <span class="samp">\itemize</span> in help uses a Unicode |
| bullet in UTF-8 and most single-byte Windows locales. |
| </p> |
| </li> |
| <li><p> Added support for polygons with holes to the graphics |
| engine. This is implemented for the <code>pdf()</code>, |
| <code>postscript()</code>, <code>x11(type="cairo")</code>, <code>windows()</code>, |
| and <code>quartz()</code> devices (and associated raster formats), |
| but not for <code>x11(type="Xlib")</code> or <code>xfig()</code> or |
| <code>pictex()</code>. The user-level interface is the |
| <code>polypath()</code> function in <span class="pkg">graphics</span> and |
| <code>grid.path()</code> in <span class="pkg">grid</span>. |
| </p> |
| </li> |
| <li><p> File ‘<span class="file">NEWS</span>’ is now generated at installation with a |
| slightly different format: it will be in UTF-8 on platforms using |
| UTF-8, and otherwise in ASCII. There is also a PDF version, |
| ‘<span class="file">NEWS.pdf</span>’, installed at the top-level of the R distribution. |
| </p> |
| </li> |
| <li> <p><code>kmeans(x, 1)</code> now works. Further, <code>kmeans</code> now |
| returns between and total sum of squares. |
| </p> |
| </li> |
| <li> <p><code>arrayInd()</code> and <code>which()</code> gain an argument |
| <code>useNames</code>. For <code>arrayInd</code>, the default is now false, |
| for speed reasons. |
| </p> |
| </li> |
| <li><p> As is done for closures, the default <code>print</code> method for |
| the formula class now displays the associated environment if it is |
| not the global environment. |
| </p> |
| </li> |
| <li><p> A new facility has been added for inserting code into a |
| package without re-installing it, to facilitate testing |
| changes which can be selectively added and backed out. See |
| <code>?insertSource</code>. |
| </p> |
| </li> |
| <li><p> New function <code>readRenviron</code> to (re-)read files in the |
| format of ‘<span class="file">~/.Renviron</span>’ and ‘<span class="file">Renviron.site</span>’. |
| </p> |
| </li> |
| <li> <p><code>require()</code> will now return <code>FALSE</code> (and not fail) |
| if loading the package or one of its dependencies fails. |
| </p> |
| </li> |
| <li> <p><code>aperm()</code> now allows argument <code>perm</code> to be a |
| character vector when the array has named dimnames (as the results |
| of <code>table()</code> calls do). Similarly, <code>array()</code> allows |
| <code>MARGIN</code> to be a character vector. (Based on suggestions of |
| Michael Lachmann.) |
| </p> |
| </li> |
| <li><p> Package <span class="pkg">utils</span> now exports and documents functions |
| <code>aspell_package_Rd_files()</code> and |
| <code>aspell_package_vignettes()</code> for spell checking package Rd |
| files and vignettes using Aspell, Ispell or Hunspell. |
| </p> |
| </li> |
| <li><p> Package news can now be given in Rd format, and |
| <code>news()</code> prefers these ‘<span class="file">inst/NEWS.Rd</span>’ files to old-style |
| plain text ‘<span class="file">NEWS</span>’ or ‘<span class="file">inst/NEWS</span>’ files. |
| </p> |
| </li> |
| <li><p> New simple function <code>packageVersion()</code>. |
| </p> |
| </li> |
| <li><p> The PCRE library has been updated to version 8.10. |
| </p> |
| </li> |
| <li><p> The standard Unix-alike terminal interface declares its name |
| to readline as 'R', so that can be used for conditional sections |
| in ‘<span class="file">~/.inputrc</span>’ files. |
| </p> |
| </li> |
| <li> <p>‘Writing R Extensions’ now stresses that the standard |
| sections in ‘<span class="file">.Rd</span>’ files (other than <span class="samp">\alias</span>, |
| <span class="samp">\keyword</span> and <span class="samp">\note</span>) are intended to be unique, and |
| the conversion tools now drop duplicates with a warning. |
| </p> |
| <p>The ‘<span class="file">.Rd</span>’ conversion tools also warn about an unrecognized type |
| in a <span class="samp">\docType</span> section. |
| </p> |
| </li> |
| <li> <p><code>ecdf()</code> objects now have a <code>quantile()</code> method. |
| </p> |
| </li> |
| <li> <p><code>format()</code> methods for date-time objects now attempt to make |
| use of a <code>"tzone"</code> attribute with <code>"%Z"</code> and |
| <code>"%z"</code> formats, but it is not always possible. (Wish of |
| <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14358">PR#14358</a>.) |
| </p> |
| </li> |
| <li> <p><code>tools::texi2dvi(file, clean = TRUE)</code> now works in more |
| cases (e.g., where emulation is used and when ‘<span class="file">file</span>’ is not in |
| the current directory). |
| </p> |
| </li> |
| <li><p> New function <code>droplevels()</code> to remove unused factor levels. |
| </p> |
| </li> |
| <li> <p><code>system(command, intern = TRUE)</code> now gives an error on |
| a Unix-alike (as well as on Windows) if <code>command</code> cannot be |
| run. It reports a non-success exit status from running |
| <code>command</code> as a warning. |
| </p> |
| <p>On a Unix-alike an attempt is made to return the actual exit |
| status of the command in <code>system(intern = FALSE)</code>: previously |
| this had been system-dependent but on POSIX-compliant systems the |
| value return was 256 times the status. |
| </p> |
| </li> |
| <li> <p><code>system()</code> has a new argument <code>ignore.stdout</code> |
| which can be used to (portably) ignore standard output. |
| </p> |
| </li> |
| <li> <p><code>system(intern = TRUE)</code> and <code>pipe()</code> connections |
| are guaranteed to be available on all builds of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>. |
| </p> |
| </li> |
| <li> <p><code>Sys.which()</code> has been altered to return <code>""</code> if |
| the command is not found (even on Solaris). |
| </p> |
| </li> |
| <li><p> A facility for defining reference-based S4 classes (in the |
| OOP style of Java, C++, etc.) has been added experimentally to |
| package <span class="pkg">methods</span>; see <code>?ReferenceClasses</code>. |
| </p> |
| </li> |
| <li><p> The <code>predict</code> method for <code>"loess"</code> fits gains an |
| <code>na.action</code> argument which defaults to <code>na.pass</code> rather |
| than the previous default of <code>na.omit</code>. |
| </p> |
| <p>Predictions from <code>"loess"</code> fits are now named from the row |
| names of <code>newdata</code>. |
| </p> |
| </li> |
| <li><p> Parsing errors detected during <code>Sweave()</code> processing |
| will now be reported referencing their original location in the |
| source file. |
| </p> |
| </li> |
| <li><p> New <code>adjustcolor()</code> utility, e.g., for simple |
| translucent color schemes. |
| </p> |
| </li> |
| <li> <p><code>qr()</code> now has a trivial <code>lm</code> method with a |
| simple (fast) validity check. |
| </p> |
| </li> |
| <li><p> An experimental new programming model has been added to |
| package <span class="pkg">methods</span> for reference (OOP-style) classes and |
| methods. See <code>?ReferenceClasses</code>. |
| </p> |
| </li> |
| <li><p> bzip2 has been updated to version 1.0.6 (bug-fix release). |
| <span class="option">--with-system-bzlib</span> now requires at least version 1.0.6. |
| </p> |
| </li> |
| <li><p> R now provides ‘<span class="file">jss.cls</span>’ and ‘<span class="file">jss.bst</span>’ (the class |
| and bib style file for the Journal of Statistical Software) as |
| well as ‘<span class="file">RJournal.bib</span>’ and ‘<span class="file">Rnews.bib</span>’, and |
| <code>R CMD</code> ensures that the ‘<span class="file">.bst</span>’ and ‘<span class="file">.bib</span>’ files |
| are found by BibTeX. |
| </p> |
| </li> |
| <li><p> Functions using the <span class="env">TAR</span> environment variable no longer |
| quote the value when making <code>system</code> calls. This allows |
| values such as <span class="samp">tar --force-local</span>, but does require |
| additional quotes in, e.g., <code>TAR = "'/path with spaces/mytar'"</code>. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>DEPRECATED & DEFUNCT</h4> |
| |
| |
| <ul> |
| <li><p> Supplying the parser with a character string containing both |
| octal/hex and Unicode escapes is now an error. |
| </p> |
| </li> |
| <li><p> File extension ‘<span class="file">.C</span>’ for C++ code files in packages is |
| now defunct. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> no longer supports configuration |
| files containing Perl configuration variables: use the environment |
| variables documented in ‘R Internals’ instead. |
| </p> |
| </li> |
| <li><p> The <code>save</code> argument of <code>require()</code> now defaults to |
| <code>FALSE</code> and <code>save = TRUE</code> is now deprecated. (This |
| facility is very rarely actually used, and was superseded by the |
| <span class="samp">Depends</span> field of the ‘<span class="file">DESCRIPTION</span>’ file long ago.) |
| </p> |
| </li> |
| <li> <p><code>R CMD check --no-latex</code> is deprecated in favour of |
| <span class="option">--no-manual</span>. |
| </p> |
| </li> |
| <li> <p><code>R CMD Sd2Rd</code> is formally deprecated and will be |
| removed in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.13.0. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>PACKAGE INSTALLATION</h4> |
| |
| |
| <ul> |
| <li> <p><code>install.packages()</code> has a new argument |
| <code>libs_only</code> to optionally pass <span class="option">--libs-only</span> to |
| <code>R CMD INSTALL</code> and works analogously for Windows binary |
| installs (to add support for 64- or 32-bit Windows). |
| </p> |
| </li> |
| <li><p> When sub-architectures are in use, the installed |
| architectures are recorded in the <code>Archs</code> field of the |
| ‘<span class="file">DESCRIPTION</span>’ file. There is a new default filter, |
| <code>"subarch"</code>, in <code>available.packages()</code> to make use of |
| this. |
| </p> |
| <p>Code is compiled in a copy of the ‘<span class="file">src</span>’ directory when a |
| package is installed for more than one sub-architecture: this |
| avoid problems with cleaning the sources between building |
| sub-architectures. |
| </p> |
| </li> |
| <li> <p><code>R CMD INSTALL --libs-only</code> no longer overrides the |
| setting of locking, so a previous version of the package will be |
| restored unless <span class="option">--no-lock</span> is specified. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>UTILITIES</h4> |
| |
| |
| <ul> |
| <li> <p><code>R CMD Rprof|build|check</code> are now based on <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> rather |
| than Perl scripts. The only remaining Perl scripts are the |
| deprecated <code>R CMD Sd2Rd</code> and <code>install-info.pl</code> (used |
| only if <code>install-info</code> is not found) as well as some |
| maintainer-mode-only scripts. |
| </p> |
| <p><strong>NB:</strong> because these have been completely rewritten, users |
| should not expect undocumented details of previous |
| implementations to have been duplicated. |
| </p> |
| <p><code>R CMD</code> no longer manipulates the environment variables |
| <span class="env">PERL5LIB</span> and <span class="env">PERLLIB</span>. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> has a new argument <span class="option">--extra-arch</span> |
| to confine tests to those needed to check an additional |
| sub-architecture. |
| </p> |
| <p>Its check for “Subdirectory 'inst' contains no files” is |
| more thorough: it looks for files, and warns if there are only |
| empty directories. |
| </p> |
| <p>Environment variables such as <span class="env">R_LIBS</span> and those used for |
| customization can be set for the duration of checking <em>via</em> a file |
| ‘<span class="file">~/.R/check.Renviron</span>’ (in the format used by |
| ‘<span class="file">.Renviron</span>’, and with sub-architecture specific versions |
| such as ‘<span class="file">~/.R/check.Renviron.i386</span>’ taking precedence). |
| </p> |
| <p>There are new options <span class="option">--multiarch</span> to check the package |
| under all of the installed sub-architectures and |
| <span class="option">--no-multiarch</span> to confine checking to the |
| sub-architecture under which <code>check</code> is invoked. If |
| neither option is supplied, a test is done of installed |
| sub-architectures and all those which can be run on the current |
| OS are used. |
| </p> |
| <p>Unless multiple sub-architectures are selected, the install done |
| by <code>check</code> for testing purposes is only of the current |
| sub-architecture (<em>via</em> <code>R CMD INSTALL --no-multiarch</code>). |
| </p> |
| <p>It will skip the check for non-ascii characters in code or data |
| if the environment variables <span class="env">_R_CHECK_ASCII_CODE_</span> or |
| <span class="env">_R_CHECK_ASCII_DATA_</span> are respectively set to <span class="env">FALSE</span>. |
| (Suggestion of Vince Carey.) |
| </p> |
| </li> |
| <li> <p><code>R CMD build</code> no longer creates an ‘<span class="file">INDEX</span>’ file |
| (<code>R CMD INSTALL</code> does so), and <span class="option">--force</span> removes |
| (rather than overwrites) an existing ‘<span class="file">INDEX</span>’ file. |
| </p> |
| <p>It supports a file ‘<span class="file">~/.R/build.Renviron</span>’ analogously to |
| <code>check</code>. |
| </p> |
| <p>It now runs build-time <span class="samp">\Sexpr</span> expressions in help files. |
| </p> |
| </li> |
| <li> <p><code>R CMD Rd2dvi</code> makes use of <code>tools::texi2dvi()</code> |
| to process the package manual. It is now implemented entirely in |
| <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> (rather than partially as a shell script). |
| </p> |
| </li> |
| <li> <p><code>R CMD Rprof</code> now uses <code>utils::summaryRprof()</code> |
| rather than Perl. It has new arguments to select one of the |
| tables and to limit the number of entries printed. |
| </p> |
| </li> |
| <li> <p><code>R CMD Sweave</code> now runs <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> with <span class="option">--vanilla</span> so |
| the environment setting of <span class="env">R_LIBS</span> will always be used. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>C-LEVEL FACILITIES</h4> |
| |
| |
| <ul> |
| <li> <p><code>lang5()</code> and <code>lang6()</code> (in addition to |
| pre-existing <code>lang[1-4]()</code>) convenience functions for easier |
| construction of <code>eval()</code> calls. If you have your own |
| definition, do wrap it inside <code>#ifndef lang5 .... #endif</code> |
| to keep it working with old and new <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>. |
| </p> |
| </li> |
| <li><p> Header ‘<span class="file">R.h</span>’ now includes only the C headers it itself needs, |
| hence no longer includes <code>errno.h</code>. (This helps avoid problems |
| when it is included from C++ source files.) |
| </p> |
| </li> |
| <li><p> Headers ‘<span class="file">Rinternals.h</span>’ and ‘<span class="file">R_ext/Print.h</span>’ include |
| the C++ versions of ‘<span class="file">stdio.h</span>’ and ‘<span class="file">stdarg.h</span>’ |
| respectively if included from a C++ source file. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> A C99 compiler is now required, and more C99 language features |
| will be used in the <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> sources. |
| </p> |
| </li> |
| <li><p> Tcl/Tk >= 8.4 is now required (increased from 8.3). |
| </p> |
| </li> |
| <li><p> System functions <code>access</code>, <code>chdir</code> and |
| <code>getcwd</code> are now essential to configure <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>. (In practice |
| they have been required for some time.) |
| </p> |
| </li> |
| <li> <p><code>make check</code> compares the output of the examples |
| from several of the base packages to reference output rather than |
| the previous output (if any). Expect some differences due to |
| differences in floating-point computations between platforms. |
| </p> |
| </li> |
| <li><p> File ‘<span class="file">NEWS</span>’ is no longer in the sources, but generated as |
| part of the installation. The primary source for changes is now |
| ‘<span class="file">doc/NEWS.Rd</span>’. |
| </p> |
| </li> |
| <li><p> The <code>popen</code> system call is now required to build <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>. |
| This ensures the availability of <code>system(intern = TRUE)</code>, |
| <code>pipe()</code> connections and printing from <code>postscript()</code>. |
| </p> |
| </li> |
| <li><p> The <code>pkg-config</code> file ‘<span class="file">libR.pc</span>’ now also works |
| when <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> is installed using a sub-architecture. |
| </p> |
| </li> |
| <li> <p><span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> has always required a BLAS that conforms to IE60559 |
| arithmetic, but after discovery of more real-world problems caused |
| by a BLAS that did not, this is tested more thoroughly in this |
| version. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li><p> Calls to <code>selectMethod()</code> by default no longer cache |
| inherited methods. This could previously corrupt methods used by |
| <code>as()</code>. |
| </p> |
| </li> |
| <li><p> The densities of non-central chi-squared are now more accurate |
| in some cases in the extreme tails, |
| e.g. <code>dchisq(2000, 2, 1000)</code>, |
| as a series expansion was truncated too early. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14105">PR#14105</a>) |
| </p> |
| </li> |
| <li> <p><code>pt()</code> is more accurate in the left tail for <code>ncp</code> |
| large, e.g. <code>pt(-1000, 3, 200)</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14069">PR#14069</a>) |
| </p> |
| </li> |
| <li><p> The default C function (<code>R_binary</code>) for binary ops now |
| sets the S4 bit in the result if either argument is an S4 object. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=13209">PR#13209</a>) |
| </p> |
| </li> |
| <li> <p><code>source(echo=TRUE)</code> failed to echo comments that |
| followed the last statement in a file. |
| </p> |
| </li> |
| <li><p> S4 classes that contained one of <code>"matrix"</code>, |
| <code>"array"</code> or <code>"ts"</code> and also another class now accept |
| superclass objects in <code>new()</code>. Also fixes failure to call |
| <code>validObject()</code> for these classes. |
| </p> |
| </li> |
| <li><p> Conditional inheritance defined by argument <code>test</code> in |
| <code>methods::setIs()</code> will no longer be used in S4 method |
| selection (caching these methods could give incorrect results). |
| See <code>?setIs</code>. |
| </p> |
| </li> |
| <li><p> The signature of an implicit generic is now used by |
| <code>setGeneric()</code> when that does not use a definition nor |
| explicitly set a signature. |
| </p> |
| </li> |
| <li><p> A bug in <code>callNextMethod()</code> for some examples with |
| <code>"..."</code> in the arguments has been fixed. See file |
| ‘<span class="file">src/library/methods/tests/nextWithDots.R</span>’ in the sources. |
| </p> |
| </li> |
| <li> <p><code>match(x, table)</code> (and hence <code>%in%</code>) now treat |
| <code>"POSIXlt"</code> consistently with, e.g., <code>"POSIXct"</code>. |
| </p> |
| </li> |
| <li><p> Built-in code dealing with environments (<code>get()</code>, |
| <code>assign()</code>, <code>parent.env()</code>, <code>is.environment()</code> and |
| others) now behave consistently to recognize S4 subclasses; |
| <code>is.name()</code> also recognizes subclasses. |
| </p> |
| </li> |
| <li><p> The <code>abs.tol</code> control parameter to <code>nlminb()</code> |
| now defaults to <code>0.0</code> to avoid false declarations of |
| convergence in objective functions that may go negative. |
| </p> |
| </li> |
| <li><p> The standard Unix-alike termination dialog to ask whether to |
| save the workspace takes a EOF response as <code>n</code> to avoid |
| problems with a damaged terminal connection. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14332">PR#14332</a>) |
| </p> |
| </li> |
| <li><p> Added <code>warn.unused</code> argument to <code>hist.default()</code> |
| to allow suppression of spurious warnings about graphical |
| parameters used with <code>plot=FALSE</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14341">PR#14341</a>) |
| </p> |
| </li> |
| <li> <p><code>predict.lm()</code>, <code>summary.lm()</code>, and indeed |
| <code>lm()</code> itself had issues with residual DF in zero-weighted |
| cases (the latter two only in connection with empty |
| models). (Thanks to Bill Dunlap for spotting the |
| <code>predict()</code> case.) |
| </p> |
| </li> |
| <li> <p><code>aperm()</code> treated <code>resize = NA</code> as <code>resize = |
| TRUE</code>. |
| </p> |
| </li> |
| <li> <p><code>constrOptim()</code> now has an improved convergence |
| criterion, notably for cases where the minimum was (very close to) |
| zero; further, other tweaks inspired from code proposals by Ravi |
| Varadhan. |
| </p> |
| </li> |
| <li><p> Rendering of S3 and S4 methods in man pages has been |
| corrected and made consistent across output formats. |
| </p> |
| </li> |
| <li><p> Simple markup is now allowed in <span class="samp">\title</span> sections |
| in ‘<span class="file">.Rd</span>’ files. |
| </p> |
| </li> |
| <li><p> The behaviour of <code>as.logical()</code> on factors (to use the |
| levels) was lost in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.6.0 and has been restored. |
| </p> |
| </li> |
| <li> <p><code>prompt()</code> did not backquote some default arguments in |
| the <span class="samp">\usage</span> section. (Reported by Claudia Beleites.) |
| </p> |
| </li> |
| <li> <p><code>writeBin()</code> disallows attempts to write 2GB or |
| more in a single call. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14362">PR#14362</a>) |
| </p> |
| </li> |
| <li> <p><code>new()</code> and <code>getClass()</code> will now work if Class |
| is a subclass of <code>"classRepresentation"</code> and should also be |
| faster in typical calls. |
| </p> |
| </li> |
| <li><p> The <code>summary()</code> method for data frames makes a better |
| job of names containing characters invalid in the current locale. |
| </p> |
| </li> |
| <li> <p><code>[[</code> sub-assignment for factors could create an invalid |
| factor (reported by Bill Dunlap). |
| </p> |
| </li> |
| <li> <p><code>Negate(f)</code> would not evaluate argument <code>f</code> |
| until first use of returned function (reported by Olaf Mersmann). |
| </p> |
| </li> |
| <li> <p><code>quietly=FALSE</code> is now also an optional argument of |
| <code>library()</code>, and consequently, <code>quietly</code> is now |
| propagated also for loading dependent packages, e.g., in |
| <code>require(*, quietly=TRUE)</code>. |
| </p> |
| </li> |
| <li><p> If the loop variable in a <code>for</code> loop was deleted, it |
| would be recreated as a global variable. (Reported by Radford |
| Neal; the fix includes his optimizations as well.) |
| </p> |
| </li> |
| <li><p> Task callbacks could report the wrong expression when |
| the task involved parsing new code. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14368">PR#14368</a>) |
| </p> |
| </li> |
| <li> <p><code>getNamespaceVersion()</code> failed; this was an |
| accidental change in 2.11.0. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14374">PR#14374</a>) |
| </p> |
| </li> |
| <li> <p><code>identical()</code> returned <code>FALSE</code> for external |
| pointer objects even when the pointer addresses were the same. |
| </p> |
| </li> |
| <li> <p><code>L$a@x[] <- val</code> did not duplicate in a case it should have. |
| </p> |
| </li> |
| <li> <p><code>tempfile()</code> now always gives a random file name (even |
| if the directory is specified) when called directly after |
| startup and before the <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> RNG had been used. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14381">PR#14381</a>) |
| </p> |
| </li> |
| <li> <p><code>quantile(type=6)</code> behaved inconsistently. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14383">PR#14383</a>) |
| </p> |
| </li> |
| <li> <p><code>backSpline(.)</code> behaved incorrectly when the knot |
| sequence was decreasing. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14386">PR#14386</a>) |
| </p> |
| </li> |
| <li><p> The reference BLAS included in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> was assuming that |
| <code>0*x</code> and <code>x*0</code> were always zero (whereas they could be |
| <code>NA</code> or <code>NaN</code> in IEC 60559 arithmetic). This was seen |
| in results from <code>tcrossprod</code>, and for example that |
| <code>log(0) %*% 0</code> gave <code>0</code>. |
| </p> |
| </li> |
| <li><p> The calculation of whether text was completely outside |
| the device region (in which case, you draw nothing) |
| was wrong for screen devices (which have [0, 0] at top-left). |
| The symptom was (long) text disappearing when |
| resizing a screen window (to make it smaller). (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14391">PR#14391</a>) |
| </p> |
| </li> |
| <li> <p><code>model.frame(drop.unused.levels = TRUE)</code> did not |
| take into account <code>NA</code> values of factors when deciding to |
| drop levels. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14393">PR#14393</a>) |
| </p> |
| </li> |
| <li> <p><code>library.dynam.unload</code> required an absolute path for |
| <code>libpath</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14385">PR#14385</a>) |
| </p> |
| <p>Both <code>library()</code> and <code>loadNamespace()</code> now record |
| absolute paths for use by <code>searchpaths()</code> and |
| <code>getNamespaceInfo(ns, "path")</code>. |
| </p> |
| </li> |
| <li><p> The self-starting model <code>NLSstClosestX</code> failed if some |
| deviation was exactly zero. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14384">PR#14384</a>) |
| </p> |
| </li> |
| <li> <p><code>X11(type = "cairo")</code> (and other devices such as |
| <code>png</code> using cairographics) and which use Pango font selection |
| now work around a bug in Pango when very small fonts (those with |
| sizes between 0 and 1 in Pango's internal units) are requested. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14369">PR#14369</a>) |
| </p> |
| </li> |
| <li><p> Added workaround for the font problem with <code>X11(type = |
| "cairo")</code> and similar on Mac OS X whereby italic and bold styles |
| were interchanged. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=13463">PR#13463</a> amongst many other reports.) |
| </p> |
| </li> |
| <li> <p><code>source(chdir = TRUE)</code> failed to reset the working |
| directory if it could not be determined – that is now an error. |
| </p> |
| </li> |
| <li><p> Fix for crash of <code>example(rasterImage)</code> on |
| <code>x11(type="Xlib")</code>. |
| </p> |
| </li> |
| <li><p> Force Quartz to bring the on-screen display up-to-date |
| immediately before the snapshot is taken by <code>grid.cap()</code> |
| in the Cocoa implementation. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14260">PR#14260</a>) |
| </p> |
| </li> |
| <li> <p><code>model.frame</code> had an unstated 500 byte limit on |
| variable names. (Example reported by Terry Therneau.) |
| </p> |
| </li> |
| <li><p> The 256-byte limit on names is now documented. |
| </p> |
| </li> |
| <li><p> Subassignment by <code>[</code>, <code>[[</code> or <code>$</code> on an |
| expression object with value <code>NULL</code> coerced the object to a |
| list. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.11.1 patched</h3> |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li> <p><code>install.packages()</code> has a new optional argument |
| <code>INSTALL_opts</code> which can be used to pass options to |
| <code>R CMD INSTALL</code> for source-package installs. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> now runs the package-specific tests |
| with <span class="env">LANGUAGE=en</span> to facilitate comparison to |
| ‘<span class="file">.Rout.save</span>’ files. |
| </p> |
| </li> |
| <li> <p><code>sessionInfo()</code> gives more detailed platform |
| information, including 32/64-bit and the sub-architecture if one |
| is used. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>DEPRECATED & DEFUNCT</h4> |
| |
| |
| <ul> |
| <li><p> The use of Perl configuration variables for <code>R CMD |
| check</code> (as previously documented in ‘Writing R |
| Extensions’) is deprecated and will be removed in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.12.0. Use |
| the environment variables documented in ‘R Internals’ |
| instead. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li> <p><code>R CMD Rd2dvi</code> failed if run from a path containing |
| space(s). This also affected <code>R CMD check</code>, which calls |
| <code>Rd2dvi</code>. |
| </p> |
| </li> |
| <li> <p><code>stripchart()</code> could fail with an empty factor |
| level. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14317">PR#14317</a>) |
| </p> |
| </li> |
| <li><p> Text help rendering of <span class="samp">\tabular{}</span> has been |
| improved: under some circumstances leading blank columns were |
| not rendered. |
| </p> |
| </li> |
| <li> <p><code>strsplit(x, fixed=TRUE)</code> marked UTF-8 strings with the |
| local encoding when no splits were found. |
| </p> |
| </li> |
| <li> <p><code>weighted.mean(NA, na.rm=TRUE)</code> and similar now returns |
| <code>NaN</code> again, as it did prior to <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.10.0. |
| </p> |
| </li> |
| <li> <p><code>R CMD</code> had a typo in its detection of whether the |
| environment variable <span class="env">TEXINPUTS</span> was set (reported by Martin |
| Morgan). |
| </p> |
| </li> |
| <li><p> The command-line parser could mistake |
| <span class="option">--file=size...</span> for one of the options for setting limits |
| for Ncells or Vcells. |
| </p> |
| </li> |
| <li><p> The internal <code>strptime()</code> could corrupt its copy of the |
| timezone which would then lead to spurious warnings. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14338">PR#14338</a>) |
| </p> |
| </li> |
| <li> <p><code>dir.create(recursive = TRUE)</code> could fail if one of the |
| components existed but was a directory on a read-only file system. |
| (Seen on Solaris, where the error code returned is not even listed |
| as possible on the man page.) |
| </p> |
| </li> |
| <li><p> The <code>postscript()</code> and <code>pdf()</code> devices will now |
| allow <code>lwd</code> values less than 1 (they used to force such |
| values to be 1). |
| </p> |
| </li> |
| <li><p> Fixed font face for CID fonts in <code>pdf()</code> graphics output. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14326">PR#14326</a>) |
| </p> |
| </li> |
| <li> <p><code>GERaster()</code> now checks for width or height of zero and |
| does nothing in those cases; previously the behaviour was |
| undefined, probably device-specific, and possibly dangerous. |
| </p> |
| </li> |
| <li> <p><code>wilcox.test(x, y, conf.int = TRUE)</code> failed with an unhelpful |
| message if <code>x</code> and <code>y</code> were constant vectors, and |
| similarly in the one-sample case. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14329">PR#14329</a>) |
| </p> |
| </li> |
| <li><p> Improperly calling <code>Recall()</code> from outside a function |
| could cause a segfault. (Reported by Robert McGehee.) |
| </p> |
| </li> |
| <li> <p><span class="samp">\Sexpr[result=rd]</span> in an Rd file added a |
| spurious newline, which was displayed as extra whitespace when |
| rendered. |
| </p> |
| </li> |
| <li> <p><code>require(save = TRUE)</code> recorded the names of packages |
| it failed to load. |
| </p> |
| </li> |
| <li> <p><code>packageStatus()</code> could return a data frame with |
| duplicate row names which could then not be printed. |
| </p> |
| </li> |
| <li> <p><code>txtProgressBar(style = 2)</code> did not work correctly. |
| </p> |
| <p><code>txtProgressBar(style = 3)</code> did not display until a |
| non-minimum value was set. |
| </p> |
| </li> |
| <li> <p><code>contour()</code> did not display dashed line types |
| properly when contour lines were labelled. (Reported by |
| David B. Thompson.) |
| </p> |
| </li> |
| <li> <p><code>tools::undoc()</code> again detects undocumented data |
| objects. Of course, this also affects <code>R CMD check</code>. |
| </p> |
| </li> |
| <li> <p><code>ksmooth(x,NULL)</code> no longer segfaults. |
| </p> |
| </li> |
| <li> <p><code>approxfun()</code>, <code>approx()</code>, <code>splinefun()</code> |
| and <code>spline()</code> could be confused by <code>x</code> values that |
| were different but so close as to print identically. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14377">PR#14377</a>) |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.11.1</h3> |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li> <p><code>R CMD INSTALL</code> checks if dependent packages are |
| available early on in the installation of source packages, |
| thereby giving clearer error messages. |
| </p> |
| </li> |
| <li> <p><code>R CMD INSTALL --build</code> now names the file in the |
| format used for Mac OS X binary files on that platform. |
| </p> |
| </li> |
| <li> <p><code>BIC()</code> in package <span class="pkg">stats4</span> now also works with |
| multiple fitted models, analogously to <code>AIC()</code>. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>DEPRECATED & DEFUNCT</h4> |
| |
| |
| <ul> |
| <li><p> Use of file extension ‘<span class="file">.C</span>’ for C++ code in packages is now |
| deprecated: it has caused problems for some <code>make</code>s on |
| case-insensitive file systems (although it currently works |
| with the recommended toolkits). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> Command <code>gnutar</code> is preferred to <code>tar</code> |
| when configure sets <span class="env">TAR</span>. This is needed on Mac OS 10.6, |
| where the default <code>tar</code>, <code>bsdtar 2.6.2</code>, has been |
| reported to produce archives with illegal extensions to tar |
| (according to the POSIX standard). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li><p> The C function <code>mkCharLenCE</code> now no longer reads past |
| <code>len</code> bytes (unlikely to be a problem except in user |
| code). (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14246">PR#14246</a>) |
| </p> |
| </li> |
| <li><p> On systems without any default <span class="env">LD_LIBRARY_PATH</span> (not |
| even ‘<span class="file">/usr/local/lib</span>’), <span class="env">[DY]LIB_LIBRARY_PATH</span> is now |
| set without a trailing colon. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=13637">PR#13637</a>) |
| </p> |
| </li> |
| <li><p> More efficient implementation of <code>utf8ToInt()</code> on long |
| multi-byte strings with many multi-byte characters. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14262">PR#14262</a>) |
| </p> |
| </li> |
| <li> <p><code>aggregate.ts()</code> gave platform-dependent results due to |
| rounding error for <code>ndeltat != 1</code>. |
| </p> |
| </li> |
| <li> <p><code>package.skeleton()</code> sometimes failed to fix filenames |
| for ‘<span class="file">.R</span>’ or ‘<span class="file">.Rd</span>’ files to start with an alphanumeric. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14253">PR#14253</a>) |
| </p> |
| <p>It also failed when only an S4 class without any methods was |
| defined. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14280">PR#14280</a>) |
| </p> |
| </li> |
| <li> <p><code>splinefun(method = "monoH.FC")</code> was not |
| quite monotone in rare cases. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14215">PR#14215</a>) |
| </p> |
| </li> |
| <li> <p><code>Rhttpd</code> no longer crashes due to <code>SIGPIPE</code> when |
| the client closes the connection prematurely. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14266">PR#14266</a>) |
| </p> |
| </li> |
| <li> <p><code>format.POSIXlt()</code> could cause a stack overflow and |
| crash when used on very long vectors. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14267">PR#14267</a>) |
| </p> |
| </li> |
| <li> <p><code>Rd2latex()</code> incorrectly escaped special characters in |
| <span class="samp">\usage</span> sections. |
| </p> |
| </li> |
| <li> <p><code>mcnemar.test()</code> could alter the levels (dropping |
| unused levels) if passed <code>x</code> and <code>y</code> as factors |
| (reported by Greg Snow). |
| </p> |
| </li> |
| <li> <p><code>Rd2pdf</code> sometimes needed a further |
| <code>pdflatex</code> pass to get hyperlinked pages correct. |
| </p> |
| </li> |
| <li> <p><code>interaction()</code> produced malformed results when levels were |
| duplicated, causing segfaults in <code>split()</code>. |
| </p> |
| </li> |
| <li> <p><code>cut(d, breaks = <n>)</code> now also works for <code>"Date"</code> |
| or <code>"POSIXt"</code> argument <code>d</code>. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14288">PR#14288</a>) |
| </p> |
| </li> |
| <li> <p><code>memDecompress()</code> could decompress incompletely rare |
| <code>xz</code>-compressed input due to incorrect documentation of |
| <code>xz utils</code>. (Report and patch from Olaf Mersmann.) |
| </p> |
| </li> |
| <li><p> The S4 <code>initialize()</code> methods for <code>"matrix"</code>, |
| <code>"array"</code>, and <code>"ts"</code> have been fixed to call |
| <code>validObject()</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14284">PR#14284</a>) |
| </p> |
| </li> |
| <li> <p><code>R CMD INSTALL</code> now behaves the same way with or |
| without <span class="option">--no-multiarch</span> on platforms with only one |
| installed architecture. (It used to clean the ‘<span class="file">src</span>’ |
| directory without <span class="option">--no-multiarch</span>.) |
| </p> |
| </li> |
| <li> <p><code>[<-.data.frame</code> was not quite careful enough in |
| assigning (and potentially deleting) columns |
| right-to-left. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14263">PR#14263</a>) |
| </p> |
| </li> |
| <li> <p><code>rbeta(n, a, b)</code> no longer occasionally returns |
| <code>NaN</code> for <code>a >> 1 > b</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14291">PR#14291</a>) |
| </p> |
| </li> |
| <li> <p><code>pnorm(x, log.p = TRUE)</code> could return <code>NaN</code> not |
| <code>-Inf</code> for <code>x</code> near (minus for <code>lower.tail=TRUE</code>) |
| the largest representable number. |
| </p> |
| </li> |
| <li><p> Compressed data files ‘<span class="file">*.(txt|tab|csv).(gz|bz2|xz)</span>’ |
| were not recognized for the list of data topics and hence for |
| packages using <code>LazyData</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14273">PR#14273</a>) |
| </p> |
| </li> |
| <li> <p><code>textConnection()</code> did an unnecessary translation on |
| strings in a foreign encoding (e.g., UTF-8 strings on Windows) and |
| so was slower than it could have been on very long input strings. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14286">PR#14286</a>) |
| </p> |
| </li> |
| <li> <p><code>tools::Rd2txt()</code> did not render poorly written Rd |
| files consistently with other renderers. |
| </p> |
| <p>It computed widths of strings that would be <code>print()</code>ed with |
| escapes incorrectly, for example in the computation of column |
| width for <span class="samp">\tabular</span>. |
| </p> |
| </li> |
| <li> <p><code>na.action()</code> did not extract the <code>na.action</code> |
| component as documented. |
| </p> |
| </li> |
| <li> <p><code>do.call()</code>ing <code>NextMethod</code> in erroneous ways no |
| longer segfaults. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=13487">PR#13487</a>) |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.11.0</h3> |
| |
| |
| |
| <h4>SIGNIFICANT USER-VISIBLE CHANGES</h4> |
| |
| |
| <ul> |
| <li><p> Packages must have been installed under <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> >= 2.10.0, as the |
| current help system is the only one now supported. |
| </p> |
| </li> |
| <li><p> A port to 64-bit Windows is now available as well as binary |
| package repositories: see the ‘R Administration and |
| Installation Manual’. |
| </p> |
| </li> |
| <li><p> Argument matching for primitive functions is now done in the |
| same way as for interpreted functions except for the deliberate |
| exceptions |
| </p> |
| <pre> |
| call switch .C .Fortran .Call .External |
| </pre> |
| <p>all of which use positional matching for their first argument, |
| and also some internal-use-only primitives. |
| </p> |
| </li> |
| <li><p> The default device for command-line <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> at the console on Mac OS X |
| is now <code>quartz()</code> and not <code>X11()</code>. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li><p> The <code>open</code> modes for connections are now interpreted |
| more consistently. <code>open = "r"</code> is now equivalent to |
| <code>open = "rt"</code> for all connections. The default <code>open = |
| ""</code> now means <code>"rt"</code> for all connections except the |
| compressed-file connections <code>gzfile()</code>, <code>bzfile()</code> and |
| <code>xzfile()</code> for which it means <code>"rb"</code>. |
| </p> |
| </li> |
| <li> <p><code>R CMD INSTALL</code> now uses the internal <code>untar()</code> |
| function in package <span class="pkg">utils</span>: this ensures that all platforms |
| can install <code>bzip2</code>- and <code>xz</code>-compressed |
| tarballs. In case this causes problems (as it has on some |
| Windows file systems when run from Cygwin tools) it can be |
| overridden by the environment variable <span class="env">R_INSTALL_TAR</span>: |
| setting this to a modern external tar program will speed up |
| unpacking of large (tens of Mb or more) tarballs. |
| </p> |
| </li> |
| <li> <p><code>help(try.all.packages = TRUE)</code> is much faster |
| (although the time taken by the OS to find all the packages the |
| first time it is used can dominate the time). |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> has a new option <span class="option">--timings</span> |
| to record per-example timings in file |
| ‘<span class="file"><pkg>.Rcheck/<pkg>-Ex.timings</span>’. |
| </p> |
| </li> |
| <li><p> The TRE library has been updated to version 0.8.0 (minor bugfixes). |
| </p> |
| </li> |
| <li> <p><code>grep[l]</code>, <code>[g]sub</code> and <code>[g]regexpr</code> now work |
| in bytes in an 8-bit locales if there is no marked UTF-8 input |
| string: this will be somewhat faster, and for <code>[g]sub()</code> |
| give the result in the native encoding rather than in UTF-8 |
| (which returns to the behaviour prior to <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.10.0). |
| </p> |
| </li> |
| <li><p> A new argument <code>skipCalls</code> has been added to |
| <code>browser()</code> so that it can report the original context when |
| called by other debugging functions. |
| </p> |
| </li> |
| <li><p> More validity checking of UTF-8 and MBCS strings is done by |
| <code>agrep()</code> and the regular-expression matching functions. |
| </p> |
| </li> |
| <li><p> The undocumented restriction on <code>gregexpr()</code> to |
| <code>length(text) > 0</code> has been removed. |
| </p> |
| </li> |
| <li><p> Package <span class="pkg">tcltk</span> now sends strings to Tcl in UTF-8: this |
| means that strings with a marked UTF-8 encoding are supported in |
| non-UTF-8 locales. |
| </p> |
| </li> |
| <li><p> The graphics engine now supports rendering of raster (bitmap) |
| images, though not all graphics devices can provide (full) |
| support. Packages providing graphics devices (e.g., <code>Cairo</code>, |
| <code>RSvgDevice</code>, <code>cairoDevice</code>) will need to be reinstalled. |
| </p> |
| <p>There is also support in the graphics engine for capturing |
| raster images from graphics devices (again not supported |
| on all graphics devices). |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> now also checks if the package and |
| namespace can be unloaded: this provides a check of the |
| <code>.Last.lib()</code> and <code>.onUnload()</code> hook functions (unless |
| <span class="option">--install=fake</span>). |
| </p> |
| </li> |
| <li> <p><code>prop.table(x)</code> now accepts a one-dimensional table for |
| <code>x</code>. |
| </p> |
| </li> |
| <li><p> A new function <code>vapply()</code> has been added, based on a |
| suggestion from Bill Dunlap. It requires that a template for the |
| function value be specified, and uses it to determine the output |
| type and to check for consistency in the function values. |
| </p> |
| </li> |
| <li><p> The main HTML help page now links to a reformatted copy of |
| this ‘<span class="file">NEWS</span>’ file. (Suggested by Henrik Bengtsson.) Package |
| index files link to the package ‘<span class="file">DESCRIPTION</span>’ and |
| ‘<span class="file">NEWS</span>’ files and a list of demos when using dynamic help. |
| </p> |
| </li> |
| <li><p> The <code>[</code> method for class <code>"AsIs"</code> allows the next |
| method to change the underlying class. (Wish of Jens |
| Oehlschlägel.) |
| </p> |
| </li> |
| <li> <p><code>write.csv[2]</code> no longer allow argument <code>append</code> |
| to be changed: as ever, direct calls to <code>write.table()</code> give |
| more flexibility as well as more room for error. |
| </p> |
| </li> |
| <li><p> The index page for HTML help for a package now collapses |
| multiple signatures for S4 methods into a single entry. |
| </p> |
| </li> |
| <li><p> The use of <code>.required</code> by <code>require()</code> and |
| <code>detach()</code> has been replaced by <code>.Depends</code> which is set |
| from the <code>Depends</code> field of a package (even in packages with |
| namespaces). By default <code>detach()</code> prevents such |
| dependencies from being detached: this can be overridden by the |
| argument <code>force</code>. |
| </p> |
| </li> |
| <li> <p><code>bquote()</code> has been extended to work on function |
| definitions. (Wish of |
| <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14031">PR#14031</a>). |
| </p> |
| </li> |
| <li> <p><code>detach()</code> when applied to an object other than a |
| package returns the environment that has been detached, to |
| parallel <code>attach()</code>. |
| </p> |
| </li> |
| <li> <p><code>readline()</code> in non-interactive use returns <code>""</code> |
| and does not attempt to read from the ‘terminal’. |
| </p> |
| </li> |
| <li><p> New function <code>file_ext()</code> in package <span class="pkg">tools</span>. |
| </p> |
| </li> |
| <li> <p><code>xtfrm()</code> is now primitive and internally generic, as |
| this allows S4 methods to be set on it without name-space scoping |
| issues. |
| </p> |
| <p>There are now <code>"AsIs"</code> and <code>"difftime"</code> methods, and |
| the default method uses <code>unclass(x)</code> if <code>is.numeric(x)</code> |
| is true (which will be faster but relies on <code>is.numeric()</code> |
| having been set correctly for the class). |
| </p> |
| </li> |
| <li> <p><code>is.numeric(x)</code> is now false for a <code>"difftime"</code> |
| object (multiplication and division make no sense for such |
| objects). |
| </p> |
| </li> |
| <li><p> The default method of <code>weighted.mean(x, w)</code> coerces |
| <code>w</code> to be numeric (aka double); previously only integer |
| weights were coerced. Zero weights are handled specially so an |
| infinite value with zero weight does not force an <code>NaN</code> |
| result. |
| </p> |
| <p>There is now a <code>"difftime"</code> method. |
| </p> |
| </li> |
| <li> <p><code>bug.report()</code> now has arguments <code>package</code> and |
| <code>lib.loc</code> to generate bug reports about packages. When |
| this is used, it looks for a <code>BugReports</code> field in the |
| package ‘<span class="file">DESCRIPTION</span>’ file, which will be assumed to be a |
| URL at which to submit the report, and otherwise generates an |
| email to the package maintainer. (Suggested by Barry |
| Rowlingson.) |
| </p> |
| </li> |
| <li> <p><code>quantile()</code> now has a method for the date-time class |
| <code>"POSIXt"</code>, and types 1 and 3 (which never interpolate) work |
| for Dates and ordered factors. |
| </p> |
| </li> |
| <li> <p><code>length(<POSIXlt>)</code> now returns the length of the |
| corresponding abstract timedate-vector rather than always 9 (the |
| length of the underlying list structure). (Wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14073">PR#14073</a> |
| and <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=10507">PR#10507</a>.) |
| </p> |
| </li> |
| <li><p> The <code>readline</code> completion backend no longer sorts |
| possible completions alphabetically (e.g., function argument |
| names) if <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> was built with <code>readline >= 6</code>. |
| </p> |
| </li> |
| <li> <p><code>select.list()</code> gains a <code>graphics</code> argument to |
| allow Windows/Mac users to choose the text interface. This |
| changes the behaviour of <code>new.packages(ask=TRUE)</code> to be like |
| <code>update.packages(ask=TRUE)</code> on those platforms in using a |
| text menu: use ask=<code>"graphics"</code> for a graphical menu. |
| </p> |
| </li> |
| <li><p> New function <code>chooseBioCmirror()</code> to set the |
| <code>"BioC_mirror"</code> option. |
| </p> |
| </li> |
| <li><p> The <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> grammar now prevents using the argument <code>name</code> |
| in signatures of S4 methods for <code>$</code> and <code>$<-</code>, since |
| they will always be called with a character string value for |
| <code>name</code>. The implicit S4 generic functions have been |
| changed to reflect this: packages which included <code>name</code> in |
| the signature of their methods need to be updated and |
| re-installed. |
| </p> |
| </li> |
| <li><p> The handling of the <code>method</code> argument of <code>glm()</code> |
| has been refined following suggestions by Ioannis Kosmidis and |
| Heather Turner. |
| </p> |
| </li> |
| <li> <p><code>str()</code> gains a new argument <code>list.len</code> with |
| default 99, limiting the number of <code>list()</code> items (per |
| level), thanks to suggestions from David Winsenius. |
| </p> |
| </li> |
| <li><p> Having formal arguments of an S4 method in a different order |
| from the generic is now an error (the warning having been |
| ignored by some package maintainers for a long time). |
| </p> |
| </li> |
| <li><p> New functions <code>enc2native()</code> and <code>enc2utf8()</code> |
| convert character vectors with possibly marked encodings to the |
| current locale and UTF-8 respectively. |
| </p> |
| </li> |
| <li><p> Unrecognized escapes and embedded nuls in character strings are |
| now an error, not just a warning. Thus option <code>"warnEscapes"</code> |
| is no longer needed. <code>rawToChar()</code> now removes trailing nuls |
| silently, but other embedded nuls become errors. |
| </p> |
| </li> |
| <li><p> Informational messages about masked objects displayed when a |
| package is attached are now more compact, using <code>strwrap()</code> |
| instead of one object per line. |
| </p> |
| </li> |
| <li> <p><code>print.rle()</code> gains argument <code>prefix</code>. |
| </p> |
| </li> |
| <li> <p><code>download.file()</code> gains a <code>"curl"</code> method, mainly |
| for use on platforms which have <code>curl</code> but not |
| <code>wget</code>, but also for some hard-to-access URLs. |
| </p> |
| </li> |
| <li><p> In <code>Rd</code>, <span class="samp">\eqn</span> and <span class="samp">\deqn</span> will render in |
| HTML (and convert to text) upper- and lower-case Greek letters |
| (entered as <span class="samp">\alpha</span> ...), <span class="samp">\ldots</span>, <span class="samp">\dots</span>, |
| <span class="samp">\ge</span> and <span class="samp">\le</span>. |
| </p> |
| </li> |
| <li> <p><code>utf8ToInt()</code> and <code>intToUtf8()</code> now map <code>NA</code> inputs |
| to <code>NA</code> outputs. |
| </p> |
| </li> |
| <li> <p><code>file()</code> has a new argument <code>raw</code> which may help |
| if it is used with something other than a regular file, e.g. a |
| character device. |
| </p> |
| </li> |
| <li><p> New function <code>strtoi()</code>, a wrapper for the C function |
| <code>strtol</code>. |
| </p> |
| </li> |
| <li> <p><code>as.octmode()</code> and <code>as.hexmode()</code> now allow inputs |
| of length other than one. |
| </p> |
| <p>The <code>format()</code> and <code>print()</code> methods for |
| <code>"octmode"</code> now preserve names and dimensions (as those for |
| <code>"hexmode"</code> did). |
| </p> |
| <p>The <code>format()</code> methods for classes <code>"octmode"</code> and |
| <code>"hexmode"</code> gain a <code>width</code> argument. |
| </p> |
| </li> |
| <li> <p><code>seq.int()</code> returns an integer result in some further cases |
| where <code>seq()</code> does, e.g. <code>seq.int(1L, 9L, by = 2L)</code>. |
| </p> |
| </li> |
| <li><p> Added <span class="samp">\subsection{}{}</span> macro to Rd syntax, for |
| subsections within sections. |
| </p> |
| </li> |
| <li><p> n-dimensional arrays with dimension names can now be indexed |
| by an n-column character matrix. The indices are matched against |
| the dimension names. <code>NA</code> indices are propagated to the |
| result. Unmatched values and <code>""</code> are not allowed and |
| result in an error. |
| </p> |
| </li> |
| <li> <p><code>interaction(drop=TRUE)</code> uses less memory (related to |
| <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14121">PR#14121</a>). |
| </p> |
| </li> |
| <li> <p><code>summary()</code> methods have been added to the |
| <code>"srcref"</code> and <code>"srcfile"</code> classes, and various |
| encoding issues have been cleaned up. |
| </p> |
| </li> |
| <li><p> If option <code>"checkPackageLicense"</code> is set to <code>TRUE</code> (not |
| currently the default), users will be asked to agree to |
| non-known-to-be-FOSS package licences at first use. |
| </p> |
| </li> |
| <li><p> Checking <code>setAs(a, b)</code> methods only gives a message |
| instead of a warning, when one of <code>a</code> or <code>b</code> is |
| unknown. |
| </p> |
| </li> |
| <li><p> New function <code>norm()</code> to compute a matrix norm. |
| <code>norm()</code> and also <code>backsolve()</code> and <code>sample()</code> |
| have implicit S4 generics. |
| </p> |
| </li> |
| <li><p> Files ‘<span class="file">Renviron.site</span>’ and ‘<span class="file">Rprofile.site</span>’ can have |
| architecture-specific versions on systems with sub-architectures. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> now (by default) also checks Rd files |
| for auto-generated content in need of editing, and missing |
| argument descriptions. |
| </p> |
| </li> |
| <li> <p><code>aggregate()</code> gains a formula method thanks to a |
| contribution by Arni Magnusson. The data frame method now allows |
| summary functions to return arbitrarily many values. |
| </p> |
| </li> |
| <li> <p><code>path.expand()</code> now propagates <code>NA</code> values rather |
| than converting them to <code>"NA"</code>. |
| </p> |
| </li> |
| <li> <p><code>file.show()</code> now disallows <code>NA</code> values for file names, |
| headers, and pager. |
| </p> |
| </li> |
| <li><p> The ‘fuzz’ used by <code>seq()</code> and <code>seq.int()</code> has |
| been reduced from <code>1e-7</code> to <code>1e-10</code>, which should be |
| ample for the double-precision calculations used in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>. It |
| ensures that the fuzz never comes into play with sequences of |
| integers (wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14169">PR#14169</a>). |
| </p> |
| </li> |
| <li><p> The default value of <code>RSiteSearch(restrict=)</code> has been |
| changed to include vignettes but to exclude R-help. The R-help |
| archives available have been split, with a new option of |
| <code>"Rhelp10"</code> for those from 2010. |
| </p> |
| </li> |
| <li><p> New function <code>rasterImage()</code> in the <code>graphics</code> |
| package for drawing raster images. |
| </p> |
| </li> |
| <li> <p><code>stats:::extractAIC.coxph()</code> now omits aliased terms |
| when computing the degrees of freedom (suggestion of Terry |
| Therneau). |
| </p> |
| </li> |
| <li> <p><code>cor()</code> and <code>cov()</code> now test for misuse with |
| non-numeric arguments, such as the non-bug report <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14207">PR#14207</a>. |
| </p> |
| </li> |
| <li> <p><code>pchisq(ncp =, log.p = TRUE)</code> is more accurate for |
| probabilities near one. E.g., <code>pchisq(80, 4, ncp=1, |
| log.p=TRUE)</code>. (Maybe what was meant in <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14216">PR#14216</a>.) |
| </p> |
| </li> |
| <li> <p><code>maintainer()</code> has been added, to give convenient |
| access to the name of the maintainer of a package (contributed by |
| David Scott). |
| </p> |
| </li> |
| <li> <p><code>sample()</code> and <code>sample.int()</code> allow zero items to |
| be sampled from a zero-length input. <code>sample.int()</code> gains a |
| default value <code>size=n</code> to be more similar to |
| <code>sample()</code>. |
| </p> |
| </li> |
| <li> <p><code>switch()</code> returned <code>NULL</code> on error (not |
| previously documented on the help page): it now does so |
| invisibly, analogously to if-without-else. |
| </p> |
| <p>It is now primitive: this means that argument <code>EXPR</code> is |
| always matched to the first argument and there is no danger of |
| partial matching to later named arguments. |
| </p> |
| </li> |
| <li><p> Primitive functions <code>UseMethod()</code>, <code>attr()</code>, |
| <code>attr<-()</code>, <code>on.exit()</code>, <code>retracemem()</code> and |
| <code>substitute()</code> now use standard argument matching (rather |
| than positional matching). This means that all multi-argument |
| primitives which are not internal now use standard argument |
| matching except where positional matching is desirable (as for |
| <code>switch()</code>, <code>call()</code>, <code>.C()</code> ...). |
| </p> |
| </li> |
| <li><p> All the one-argument primitives now check that any name |
| supplied for their first argument is a partial match to the |
| argument name as documented on the help page: this also |
| applies to replacement functions of two arguments. |
| </p> |
| </li> |
| <li> <p><code>base::which()</code> uses a new <code>.Internal</code> function |
| when <code>arr.ind</code> is <code>FALSE</code> resulting in a 10x speedup. |
| Thanks to Patrick Aboyoun for implementation suggestions. |
| </p> |
| </li> |
| <li><p> Help conversion to text now uses the first part of |
| <span class="samp">\enc{}{}</span> markup if it is representable in the current |
| output encoding. On the other hand, conversion to LaTeX with the |
| default <code>outputEncoding = "ASCII"</code> uses the second part. |
| </p> |
| </li> |
| <li><p> A new class <code>"listOfMethods"</code> has been introduced to |
| represent the methods in a methods table, to replace the |
| deprecated class <code>"MethodsList"</code>. |
| </p> |
| </li> |
| <li> <p><code>any()</code> and <code>all()</code> return early if possible. |
| This may speed up operations on long vectors. |
| </p> |
| </li> |
| <li> <p><code>strptime()</code> now accepts <code>"%z"</code> (for the offset |
| from UTC in the RFC822 format of <code>+/-hhmm</code>). |
| </p> |
| </li> |
| <li><p> The PCRE library has been updated to version 8.02, a bug-fix |
| release which also updates tables to Unicode 5.02. |
| </p> |
| </li> |
| <li><p> Functions which may use a graphical <code>select.list()</code> |
| (including <code>menu()</code> and <code>install.packages()</code>) now check |
| on a Unix-alike that Tk can be started (and not just |
| <code>capabilities("tcltk") && capabilities("X11")</code>). |
| </p> |
| </li> |
| <li><p> The parser no longer marks strings containing octal or hex |
| escapes as being in UTF-8 when entered in a UTF-8 locale. |
| </p> |
| </li> |
| <li><p> On platforms with cairo but not Pango (notably Mac OS X) the |
| initial default <code>X11()</code> type is set to <code>"Xlib"</code>: this avoids |
| several problems with font selection when done by cairo rather |
| than Pango (at least on Mac OS X). |
| </p> |
| </li> |
| <li><p> New function <code>arrayInd()</code> such that <code>which(x, |
| arr.ind = TRUE)</code> for an array 'x' is now equivalent to |
| <code>arrayInd(which(x), dim(x), dimnames(x))</code>. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>DEPRECATED & DEFUNCT</h4> |
| |
| |
| <ul> |
| <li><p> Bundles of packages are defunct. |
| </p> |
| </li> |
| <li> <p><code>stats::clearNames()</code> is defunct: use <code>unname()</code>. |
| </p> |
| </li> |
| <li><p> Basic regular expressions are defunct, and |
| <code>strsplit()</code>, <code>grep()</code>, <code>grepl()</code>, <code>sub()</code>, |
| <code>gsub()</code>, <code>regexpr()</code> and <code>gregexpr()</code> no longer |
| have an <code>extended</code> argument. |
| </p> |
| </li> |
| <li> <p><code>methods::trySilent()</code> is defunct. |
| </p> |
| </li> |
| <li> <p><code>index.search()</code> (which was deprecated in 2.10.0) is no |
| longer exported and has a different argument list. |
| </p> |
| </li> |
| <li><p> Use of multiple arguments to <code>return()</code> is now defunct. |
| </p> |
| </li> |
| <li><p> The use of <code>UseMethod()</code> with more than two arguments |
| is now defunct. |
| </p> |
| </li> |
| <li><p> In the <span class="pkg">methods</span> package, the <code>"MethodsList"</code> |
| metadata objects which had been superseded by hash tables |
| (environments) since <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.8.0 are being phased out. Objects of |
| this class are no longer assigned or used as metadata by the |
| package. |
| </p> |
| <p><code>getMethods()</code> is now deprecated, with its internal use replaced |
| by <code>findMethods()</code> and other changes. Creating objects from the |
| <code>"MethodsList"</code> class is also deprecated. |
| </p> |
| </li> |
| <li><p> Parsing strings containing both octal/hex and Unicode escapes |
| now gives a warning and will become an error in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.12.0. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> UTF-8 is now used for the reference manual and package |
| manuals. This requires LaTeX ‘2005/12/01’ or later. |
| </p> |
| </li> |
| <li> <p><code>configure</code> looks for a POSIX compliant |
| <code>tr</code>, Solaris's <code>/usr/ucb/tr</code> having been found |
| to cause <code>Rdiff</code> to malfunction. |
| </p> |
| </li> |
| <li> <p><code>configure</code> is now generated with <code>autoconf |
| 2.65</code>, which works better on recent systems and on Mac OS X. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>PACKAGE INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> Characters in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> source which are not translatable to the |
| current locale are now handled more tolerantly: these will be |
| converted to hex codes with a warning. Such characters are |
| only really portable if they appear in comments. |
| </p> |
| </li> |
| <li> <p><code>R CMD INSTALL</code> now tests that the installed package |
| can be loaded (and backs out the installation if it cannot): this |
| can be suppressed by <span class="option">--no-test-load</span>. This avoids |
| installing/updating a package that cannot be used: common causes |
| of failures to load are missing/incompatible external software |
| and missing/broken dependent packages. |
| </p> |
| </li> |
| <li><p> Package installation on Windows for a package with a |
| ‘<span class="file">src</span>’ directory now checks if a DLL is created unless there |
| is a ‘<span class="file">src/Makefile.win</span>’ file: this helps catch broken |
| installations where the toolchain has not reported problems in |
| building the DLL. (Note: this can be any DLL, not just one named |
| ‘<span class="file"><pkg-name>.dll</span>’.) |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li><p> Using <code>with()</code>, <code>eval()</code> etc with a list with some |
| unnamed elements now works. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14035">PR#14035</a>) |
| </p> |
| </li> |
| <li><p> The <code>"quick"</code> dispatch of S4 methods for primitive |
| functions was not happening, forcing a search each time. |
| (Dispatch for closures was not affected.) A side effect is that |
| default values for arguments in a method that do not have |
| defaults in the generic will now be ignored. |
| </p> |
| </li> |
| <li><p> Trying to dispatch S4 methods for primitives during the search |
| for inherited methods slows that search down and potentially |
| could cause an infinite recursion. An internal switch was |
| added to turn off all such methods from |
| <code>findInheritedMethods()</code>. |
| </p> |
| </li> |
| <li> <p><span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> framework installation (on Mac OS X) would not work |
| properly if a rogue <code>Resources</code> directory was present at the |
| top level. Such a non-symlink will now be renamed to |
| <code>Resources.old</code> (and anything previously named |
| <code>Resources.old</code> removed) as part of the framework |
| installation process. |
| </p> |
| </li> |
| <li><p> The checks for conforming S4 method arguments could fail |
| when the signature of the generic function omitted some of the |
| formal arguments (in addition to <code>...</code>). Arguments omitted |
| from the method definition but conforming (per the documentation) |
| should now be ignored (treated as <code>"ANY"</code>) in dispatching. |
| </p> |
| </li> |
| <li><p> The computations for S4 method evaluation when <code>...</code> |
| was in the signature could fail, treating <code>...</code> as an |
| ordinary symbol. This has been fixed, for the known cases. |
| </p> |
| </li> |
| <li><p> Various <code>ar()</code> fitting methods have more protection for |
| singular fits. |
| </p> |
| </li> |
| <li> <p><code>callNextMethod</code> now works again with the <code>drop=</code> |
| argument in <span class="samp">[</span> |
| </p> |
| </li> |
| <li> <p><code>parse()</code> and <code>parse_Rd()</code> miscounted columns when |
| multibyte UTF-8 characters were present. |
| </p> |
| </li> |
| <li><p> Formatting of help pages has had minor improvements: extra |
| blank lines have been removed from the text format, and empty |
| package labels removed from HTML. |
| </p> |
| </li> |
| <li> <p><code>cor(A, B)</code> where <code>A</code> is <i>n x 1</i> |
| and <code>B</code> a 1-dimensional array segfaulted or gave an internal |
| error. (The case <code>cor(B, A)</code> was |
| <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=7116">PR#7116</a>.) |
| </p> |
| </li> |
| <li> <p><code>cut.POSIXt()</code> applied to a start value after the DST |
| transition on a DST-change day could give the wrong time for |
| argument <code>breaks</code> in units of days or longer. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14208">PR#14208</a>) |
| </p> |
| </li> |
| <li> <p><code>do_par()</code> <code>UNPROTECT</code>ed too early (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14214">PR#14214</a>) |
| </p> |
| </li> |
| <li><p> Subassignment <code>x[[....]] <- y</code> didn't check for a |
| zero-length right hand side, and inserted a rubbish |
| value. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14217">PR#14217</a>) |
| </p> |
| </li> |
| <li> <p><code>fisher.test()</code> no longer gives a P-value <strong>very</strong> |
| slightly > 1, in some borderline cases. |
| </p> |
| </li> |
| <li><p> Internal function <code>matchArgs()</code> no longer modifies the |
| general purpose bits of the <code>SEXP</code>s that make up the formals |
| list of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> functions. This fixes an invalid error message that |
| would occur when a garbage collection triggered a second call to |
| <code>matchArgs</code> for the same function <em>via</em> a finalizer. |
| </p> |
| </li> |
| <li> <p><code>gsub()</code> in 2.10.x could fail from stack overflow for |
| extremely long strings due to temporary data being allocated on |
| the stack. Also, <code>gsub()</code> with <code>fixed=TRUE</code> is in some |
| circumstances considerably faster. |
| </p> |
| </li> |
| <li><p> Several primitives, including <code>attributes()</code>, |
| <code>attr<-()</code> <code>interactive()</code>, <code>nargs()</code> and |
| <code>proc.time()</code>, did not check that they were called with the |
| correct number of arguments. |
| </p> |
| </li> |
| <li><p> A potential race condition in <code>list.files()</code> when other |
| processes are operating on the directory has been fixed; the code |
| now dynamically allocates memory for file listings in a single |
| pass instead of making an initial count pass. |
| </p> |
| </li> |
| <li> <p><code>mean(x, trim=, na.rm = FALSE)</code> failed to return <code>NA</code> if |
| <code>x</code> contained missing values. (Reported by Bill Dunlap.) |
| </p> |
| </li> |
| <li><p> Extreme tail behavior of, <code>pbeta()</code> {and hence |
| <code>pf()</code>}, e.g., <code>pbeta(x, 3, 2200, lower.tail=FALSE, |
| log.p=TRUE)</code> now returns finite values instead of jumping to |
| <code>-Inf</code> too early. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14230">PR#14230</a>). |
| </p> |
| </li> |
| <li> <p><code>parse(text=x)</code> misbehaved for objects <code>x</code> that |
| were not coerced internally to character, notably symbols. |
| (Reported to R-devel by Bill Dunlap.) |
| </p> |
| </li> |
| <li><p> The internal C function <code>coerceSymbol</code> now handles |
| coercion to character, and warns if coercion fails (rather than |
| silently returning <code>NULL</code>). This allows a name to be given |
| where a character vector is required in functions which coerce |
| internally. |
| </p> |
| </li> |
| <li><p> The interpretation by <code>strptime()</code> of <code>"%c"</code> was |
| non-standard (not that it is ever advisable to use locale- and |
| system-specific input formats). |
| </p> |
| </li> |
| <li><p> capabilities(<code>"X11"</code>) now works the same way on Mac OS X as on |
| other platforms (and as documented: it was always true for R |
| built with <span class="option">--with-aqua</span>, as the CRAN builds are). |
| </p> |
| </li> |
| <li><p> The <code>X11()</code> device with cairo but not Pango (notably Mac OS X) |
| now checks validity of text strings in UTF-8 locales (since |
| Pango does but cairo it seems does not). |
| </p> |
| </li> |
| <li> <p><code>read.fwf()</code> misread multi-line records when n was specified. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14241">PR#14241</a>) |
| </p> |
| </li> |
| <li> <p><code>all.equal(tolerance = e)</code> passes the numeric |
| tolerance also to the comparison of the attributes. |
| </p> |
| </li> |
| <li> <p><code>pgamma(0, 0)</code>, a boundary case, now returns 0, its |
| limit from the left, rather than the limit from the right. |
| </p> |
| </li> |
| <li><p> Issuing <code>POST</code> requests to the internal web server could stall |
| the request under certain circumstances. |
| </p> |
| </li> |
| <li> <p><code>gzcon( <textConnection> )</code>, an error, no longer |
| damages the connection (in a way to have it |
| segfault). (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14237">PR#14237</a>) |
| </p> |
| </li> |
| <li><p> All the results from <code>hist()</code> now use the nominal |
| <code>breaks</code> not those adjusted by the numeric ‘fuzz’: |
| in recent versions the nominal <code>breaks</code> were reported but |
| the 'density' referred to the intervals used in the calculation |
| – which mattered very slightly for one of the extreme bins. |
| (Based on a report by Martin Becker.) |
| </p> |
| </li> |
| <li><p> If <code>xy[z].coords</code> (used internally by many graphics |
| functions) are given a list as <code>x</code>, they now check that |
| the list has suitable names and give a more informative error |
| message. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=13936">PR#13936</a>) |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.10.1 patched</h3> |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li><p> The handling of line textures in the <code>postscript()</code> and |
| <code>pdf()</code> devices was set up for round end caps (the only type |
| which existed at the time): it has now been adjusted for butt |
| endcaps. |
| </p> |
| </li> |
| <li> <p><code>lchoose(a, k)</code> is now defined as |
| <code>log(abs(choose(a,k)))</code>, analogously to <code>lfactorial()</code>. |
| </p> |
| </li> |
| <li><p> Although <code>\eqn{}</code> in Rd files is defined as a |
| ‘verbatim’ macro, many packages expected <code>\dots</code> and |
| <code>\ldots</code> to be interpreted there (as was the case in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> < |
| 2.10.0), so this is now done (using an ellipsis in HTML |
| rendering). |
| </p> |
| </li> |
| <li><p> Escaping of braces in quoted strings in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>-code sections of |
| Rd files is allowed again. This had been changed for the new Rd |
| format in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.10.0 but was only documented on the developer site |
| and was handled inconsistently by the converters: text and |
| example conversion removed the escapes but HTML conversion did |
| not. |
| </p> |
| </li> |
| <li><p> The PCRE library has been updated to version 8.01, a bug-fix |
| release. |
| </p> |
| </li> |
| <li> <p><code>tools::readNEWS()</code> now accepts a digit as the first |
| character of a news section. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li><p> Using <code>read.table(header=TRUE)</code> on a header with an |
| embedded new line would copy part of the header into the data. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14103">PR#14103</a>) |
| </p> |
| </li> |
| <li> <p><code>qpois(p = 1, lambda = 0)</code> now gives 0 as for all other |
| <code>p</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14135">PR#14135</a>) |
| </p> |
| </li> |
| <li><p> Functions related to string comparison |
| (e.g., <code>unique()</code>, <code>match()</code>) could cause crashes when |
| used with strings not in the native encoding, e.g., UTF-8 strings |
| on Windows. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14114">PR#14114</a> and <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14125">PR#14125</a>) |
| </p> |
| </li> |
| <li> <p><code>x[ , drop=TRUE]</code> dropped an <code>NA</code> level even if it |
| was in use. |
| </p> |
| </li> |
| <li><p> The dynamic HTML help system reported the wrong MIME type |
| for the style sheet. |
| </p> |
| </li> |
| <li> <p><code>tools::codoc()</code> (used by <code>R CMD check</code>) was |
| missing cases where the function had no arguments but was |
| documented to have some. |
| </p> |
| </li> |
| <li><p> Help links containing special characters (e.g., <code>"?"</code>) |
| were not generated correctly when rendered in |
| HTML. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14155">PR#14155</a>) |
| </p> |
| </li> |
| <li> <p><code>lchoose(a, k)</code> no longer wrongly gives <code>NaN</code> for |
| negative <code>a</code>. |
| </p> |
| </li> |
| <li> <p><code>ks.test()</code> could give a p-value that was off by one |
| observation due to rounding error. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14145">PR#14145</a>) |
| </p> |
| </li> |
| <li> <p><code>readBin()</code>/<code>readChar()</code> when reading millions of |
| character strings in a single call used excessive amounts of |
| memory (which also slowed them down). |
| </p> |
| </li> |
| <li> <p><code>R CMD SHLIB</code> could fail if used with paths that |
| were not alphanumeric, e.g. contained <code>+</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14168">PR#14168</a>) |
| </p> |
| </li> |
| <li> <p><code>sprintf()</code> was not re-entrant, which potentially |
| caused problems if an <code>as.character()</code> method called it. |
| </p> |
| </li> |
| <li><p> The <code>quartz()</code> device did not restore the clipping |
| region when filling the background for a new page. This could be |
| observed in multi-page bitmap output as stale outer regions of |
| the plot. |
| </p> |
| </li> |
| <li> <p><code>p.adjust(method, n)</code> now works correctly for the |
| rare case <code>n > length(p)</code>, also when method differs from |
| <code>"bonferroni"</code> or <code>"none"</code>, thanks to a patch from |
| Gordon Smyth. |
| </p> |
| </li> |
| <li> <p><code>tools::showNonASCII()</code> failed to detect non-ASCII characters |
| if <code>iconv()</code> (incorrectly) converted them to different ASCII |
| characters. (Seen on Windows only.) |
| </p> |
| </li> |
| <li> <p><code>tcrossprod()</code> wrongly failed in some cases when one of the |
| arguments was a vector and the other a matrix. |
| </p> |
| </li> |
| <li> <p><code>[cr]bind(..., deparse.level=2)</code> was not always giving |
| names when documented to do so. (Discovered whilst investigating |
| <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14189">PR#14189</a>.) |
| </p> |
| </li> |
| <li> <p><code>match(incomparables=<non-NULL>)</code> could in rare cases |
| infinite-loop. |
| </p> |
| </li> |
| <li> <p><code>poisson.test()</code> needed to pass argument |
| <code>conf.level</code> to <code>binom.test()</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14195">PR#14195</a>) |
| </p> |
| </li> |
| <li><p> The <code>"nls"</code> method for <code>df.residual()</code> gave |
| incorrect results for models fitted with <code>na.action = |
| na.exclude</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14194">PR#14194</a>) |
| </p> |
| </li> |
| <li><p> A change to <code>options(scipen=)</code> was only implemented |
| when printing next occurred, even though it should have affected |
| intervening calls to <code>axis()</code>, <code>contour()</code> and |
| <code>filledcontour()</code>. |
| </p> |
| </li> |
| <li> <p><code>prettyNum(drop0trailing=TRUE)</code> did not handle signs of |
| imaginary parts of complex numbers correctly (and this was used |
| by <code>str()</code>: <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14201">PR#14201</a>). |
| </p> |
| </li> |
| <li> <p><code>system.time()</code> had the <code>sys.child</code> component |
| wrong (copied <code>user.child</code> instead) on systems with |
| <code>HAVE_GETRUSAGE</code>. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14210">PR#14210</a>) |
| </p> |
| </li> |
| <li><p> Changing both line texture and line cap (end) resulted in the |
| latter to be omitted form the PDF code. In addition, line cap |
| (end) and join are now set explicitly in PDF output to ensure |
| correct defaults. |
| </p> |
| </li> |
| <li><p> The suppression of auto-rotation in <code>bitmap()</code> and |
| <code>dev2bitmap()</code> with the <code>"pdfwrite"</code> device was not |
| working correctly. |
| </p> |
| </li> |
| <li> <p><code>plot(ecdf(), log="x")</code> no longer gives an incorrect |
| warning. |
| </p> |
| </li> |
| <li> <p><code>read.fwf()</code> works again when argument <code>file</code> is |
| a connection. |
| </p> |
| </li> |
| <li><p> Startup files will now be found if their paths exceed 255 |
| bytes. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14228">PR#14228</a>) |
| </p> |
| </li> |
| <li> <p><code>contrasts<-</code> (in the <span class="pkg">stats</span> package) no longer has an |
| undeclared dependence on <span class="pkg">methods</span> (introduced in 2.10.0). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.10.1</h3> |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li><p> The PCRE library has been updated to version 8.00. |
| </p> |
| </li> |
| <li> <p><code>R CMD INSTALL</code> has new options <span class="option">--no-R</span>, |
| <span class="option">--no-libs</span>, <span class="option">--no-data</span>, <span class="option">--no-help</span>, |
| <span class="option">--no-demo</span>, <span class="option">--no-exec</span>, and <span class="option">--no-inst</span> to |
| suppress installation of the specified part of the package. |
| These are intended for special purposes (e.g., building a database |
| of help pages without fully installing all packages). |
| </p> |
| </li> |
| <li><p> The documented line-length limit of 4095 bytes when reading |
| from the console now also applies also to <code>parse(file="")</code> |
| (which previously had a limit of around 1024 bytes). |
| </p> |
| </li> |
| <li><p> A Bioconductor mirror can be set for use by |
| <code>setRepositories()</code> <em>via</em> the option <code>"BioC_mirror"</code>, |
| e.g. the European mirror can be selected by |
| <code>options(BioC_mirror="http://bioconductor.statistik.tu-dortmund.de")</code>. |
| </p> |
| </li> |
| <li><p> Double-clicking in a <code>tk_select.list()</code> list box now |
| selects the item and closes the list box (as happens on the |
| Windows <code>select.list()</code> widget). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>INSTALLATION</h4> |
| |
| |
| <ul> |
| <li> <p><code>configure</code> will be able to find a usable |
| <code>libtiff</code> in some rare circumstances where it did not |
| previously (where <code>libtiff</code> needed to be linked explicitly against |
| <code>-ljpeg</code>). |
| </p> |
| </li> |
| <li><p> Making <code>refman.pdf</code> works around a problem with the indexing |
| with <code>hyperref 6.79d</code> and later. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>DEPRECATED & DEFUNCT</h4> |
| |
| |
| <ul> |
| <li><p> The <code>extended</code> argument is deprecated in |
| <code>strsplit()</code>, <code>grep()</code>, <code>grepl()</code>, <code>sub()</code>, |
| <code>gsub()</code>, <code>regexpr()</code> and <code>gregexpr()</code> (not just |
| the value <code>extended = FALSE</code>) and will be removed in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> |
| 2.11.0. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li> <p><code>trigamma(x)</code> and other <code>psigamma(x, n)</code> calls |
| are now accurate for very large <code>abs(x)</code>. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14020">PR#14020</a>) |
| </p> |
| </li> |
| <li> <p><code>[g]sub(perl=FALSE, fixed=FALSE)</code> could use excessive |
| stack space when used with a very long vector containing some |
| non-ASCII strings. |
| </p> |
| </li> |
| <li><p> The default method of <code>weighted.mean(na.rm = TRUE)</code> |
| did not omit weights for <code>NA</code> observations in 2.10.0. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14032">PR#14032</a>) |
| </p> |
| </li> |
| <li> <p><code>[g]regexpr(pattern, fixed = TRUE)</code> returned match |
| positions in bytes (not characters) in an MBCS locale if |
| <code>pattern</code> was a single byte. |
| </p> |
| <p><code>[g]sub(fixed = TRUE)</code> with a single-byte pattern could |
| conceivably have matched part of a multibyte character in a |
| non-UTF-8 MBCS. |
| </p> |
| </li> |
| <li> <p><code>findLineNum()</code> and <code>setBreakpoint()</code> would |
| sometimes fail if the specified file was not in the current |
| directory. |
| </p> |
| </li> |
| <li><p> Package <span class="pkg">tcltk</span>'s <code>demo(tkdensity)</code> was broken in |
| 2.9.0 when <code>demo()</code> was changed to set <code>par(ask = TRUE)</code>. |
| </p> |
| </li> |
| <li> <p><code>gsub()</code> with backrefs could fail on extremely long strings |
| (hundreds of thousands of characters) due to integer overflow |
| in a length calculation. |
| </p> |
| </li> |
| <li> <p><code>abline(untf=TRUE)</code> now uses a better x-grid in |
| log-scale, e.g., for <code>plot(c(1,300), c(1,300), log="xy"); |
| abline(4,1, untf=TRUE)</code>. |
| </p> |
| </li> |
| <li> <p><code>detach()</code>/<code>unloadNamespace()</code> arrange to flush |
| the package's lazyload cache of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> objects once the |
| package/namespace is no longer needed. |
| </p> |
| </li> |
| <li><p> There have been small fixes to the rendering of help, |
| e.g. <code>\command</code> is now rendered verbatim |
| (so e.g. <code>--</code> is not interpreted, <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14045">PR#14045</a>). |
| </p> |
| <p>Also, there are many small changes to help files where the new |
| converters were not rendering them in the same way as before. |
| </p> |
| </li> |
| <li> <p><code>available.packages()</code> would fail when run on a |
| repository with no packages meeting the filtering conditions. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14042">PR#14042</a>) |
| </p> |
| </li> |
| <li> <p><code>rep(x, times, each = 2)</code> gave invalid results when the |
| <code>times</code> argument was a vector longer than <code>x</code>. |
| Reported by Bill Dunlap. |
| </p> |
| </li> |
| <li><p> An error when <code>unloadNamespace()</code> attempted to run the |
| <code>.onUnload()</code> function gave an error in the reporting |
| function and so was not reported properly. |
| </p> |
| </li> |
| <li><p> Text help rendering did not handle very long input lines |
| properly. |
| </p> |
| </li> |
| <li> <p><code>promptMethods()</code> generated signature documentation |
| improperly. |
| </p> |
| </li> |
| <li> <p><code>pgamma(x, a, lower.tail=FALSE)</code> and |
| <code>qgamma(...)</code> are now considerably more accurate in some |
| regions for very small <code>a</code>. <code>qgamma()</code> now correctly |
| returns <code>0</code> instead of <code>NaN</code> in similar extreme cases, |
| and <code>qgamma()</code> no longer warns in the case of small |
| <code>a</code>, see (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=12324">PR#12324</a>). |
| </p> |
| </li> |
| <li> <p><code>unname()</code> now also removes names from a zero length vector. |
| </p> |
| </li> |
| <li><p> Printing results from <code>ls.str()</code> no longer evaluates |
| unevaluated calls. |
| </p> |
| </li> |
| <li> <p><code>complete.cases()</code> failed on a 0-column data frame |
| argument. (Underlies <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14066">PR#14066</a>.) |
| </p> |
| <p>It could return nonsensical results if no input determined the |
| number of cases (seen in the no-segfault tests). |
| </p> |
| </li> |
| <li><p> An error in <code>nls()</code> with a long formula could cause a |
| segfault. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14059">PR#14059</a>) |
| </p> |
| </li> |
| <li> <p><code>qchisq(p, df, ncp, lower.tail = FALSE)</code> with |
| <code>ncp >= 80</code> was inaccurate for small <code>p</code> (as the help page |
| said): it is now less inaccurate. (In part, |
| <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=13999">PR#13999</a>.) |
| </p> |
| <p>For <code>ncp</code> less than but close to 80, <code>pchisq()</code> and |
| <code>qchisq()</code> are more accurate for probabilities very close |
| to 1 (a series expansion was truncated slightly too early). |
| </p> |
| <p><code>pchisq(x, df, ncp)</code> can no longer return values just larger |
| than one for large values of <code>ncp</code>. |
| </p> |
| </li> |
| <li> <p><code>intToUtf8()</code> could fail when asked to produce 10Mb or more |
| strings, something it was never intended to do: unfortunately |
| Windows crashed <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> (other OSes reported a lack of resources). |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14068">PR#14068</a>) |
| </p> |
| </li> |
| <li> <p><code>chisq.test()</code> could fail when given argument |
| <code>x</code> or <code>y</code> which deparsed to more than one line. |
| (Reported by Laurent Gauthier.) |
| </p> |
| </li> |
| <li><p> S4 methods are uncached whenever the namespace containing |
| them is unloaded (by <code>unloadNamespace()</code> as well as by |
| <code>detach(unload = TRUE))</code>. |
| </p> |
| </li> |
| <li><p> The internal record-keeping by |
| <code>dyn.load</code>/<code>dyn.unload</code> was incomplete, which could |
| crash <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> if a DLL that registered <code>.External</code> routines had |
| earlier been unloaded. |
| </p> |
| </li> |
| <li> <p><code>bessel[JY](x, nu)</code> with <code>nu</code> a negative integer (a |
| singular case) is now correct, analogously to <code>besselI()</code>, |
| see <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=13556">PR#13556</a>. |
| </p> |
| </li> |
| <li> <p><code>tools::file_path_as_absolute()</code> doubled the file |
| separator when applied to a file such as ‘<span class="file">"/vmunix"</span>’ or (on |
| Windows) ‘<span class="file">"d:/afile"</span>’ in a directory for which |
| <code>getwd()</code> would return a path with a trailing separator |
| (largely cosmetic, as reasonable file systems handle such a path |
| correctly). (Perhaps what was meant by <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14078">PR#14078</a>.) |
| </p> |
| </li> |
| <li> <p><code>unsplit(drop = TRUE)</code> applied to a data frame failed |
| to pass <code>drop</code> to the computation of row names. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14084">PR#14084</a>) |
| </p> |
| </li> |
| <li><p> The <code>"difftime"</code> method of <code>mean()</code> ignored its |
| <code>na.rm</code> argument. |
| </p> |
| </li> |
| <li> <p><code>tcltk::tk_select.list()</code> is now more likely to remove the |
| widget immediately after selection is complete. |
| </p> |
| </li> |
| <li><p> Adding/subtracting a <code>"difftime"</code> object to/from a |
| <code>"POSIXt"</code> or <code>"Date"</code> object works again (it was |
| broken by the addition of <code>Ops.difftime</code>). |
| </p> |
| </li> |
| <li><p> Conversion to latex of an Rd file with no aliases failed. |
| </p> |
| </li> |
| <li> <p><code>wilcox.test(conf.int=TRUE)</code> has achieved.level |
| corrected and, for <code>exact=FALSE</code>, now returns a |
| <code>estimate</code> component which does not depend on the |
| alternative used. |
| </p> |
| </li> |
| <li> <p><code>help.search()</code> failed when the package argument was |
| specified. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=14113">PR#14113</a>) |
| </p> |
| </li> |
| <li> <p><code>switch(EXPR = "A")</code> now returns <code>NULL</code>, as does |
| <code>switch(1)</code> (which used to signal an error). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.10.0</h3> |
| |
| |
| |
| <h4>SIGNIFICANT USER-VISIBLE CHANGES</h4> |
| |
| |
| <ul> |
| <li><p> Package help is now converted from <code>Rd</code> by the <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>-based |
| converters that were first introduced in 2.9.0. This means |
| </p> |
| |
| <ul> |
| <li><p> Packages that were installed by R-devel after 2009-08-09 |
| should not be used with earlier versions of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>, and most |
| aspects of package help (including the runnable examples) |
| will be missing if they are so used. |
| </p> |
| </li> |
| <li><p> Text, HTML and latex help and examples for packages |
| installed under the new system are converted on-demand from |
| stored parsed Rd files. (Conversions stored in packages |
| installed under <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> < 2.10.0 are used if no parsed Rd files |
| are found. It is recommended that such packages be |
| re-installed.) |
| </p> |
| </li></ul> |
| |
| </li> |
| <li><p> HTML help is now generated dynamically using an HTTP server |
| running in the <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> process and listening on the loopback |
| interface. |
| </p> |
| |
| <ul> |
| <li><p> Those worried about security implications of such |
| a server can disable it by setting the environment variable |
| <span class="env">R_DISABLE_HTTPD</span> to a non-empty value. This disables |
| <code>help.start()</code> and HTML help (so text help is shown |
| instead). |
| </p> |
| </li> |
| <li><p> The Java/Javascript search engine has been replaced by an |
| HTML interface to <code>help.search()</code>. <code>help.start()</code> no |
| longer has an argument <code>searchEngine</code> as it is no longer |
| needed. |
| </p> |
| </li> |
| <li><p> The HTML help can now locate cross-references of the form |
| <code>\link[pkg]{foo}</code> and <code>\link[pkg:foo]{bar}</code> |
| where <code>foo</code> is an alias in the package, rather than the |
| documented (basename of a) filename (since the documentation |
| has been much ignored). |
| </p> |
| </li></ul> |
| |
| </li></ul> |
| |
| |
| |
| |
| <h4>NEW FEATURES</h4> |
| |
| |
| <ul> |
| <li> <p><code>polygon()</code>, <code>pdf()</code> and <code>postscript()</code> now |
| have an argument <code>fillOddEven</code> (default <code>FALSE</code>), |
| which controls the mode used for polygon fills of |
| self-intersecting shapes. |
| </p> |
| </li> |
| <li><p> New <code>debugonce()</code> function; further, |
| <code>getOption("deparse.max.lines")</code> is now observed when |
| debugging, from a code suggestion by John Brzustowski. |
| (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=13647">PR#13647</a>/8) |
| </p> |
| </li> |
| <li> <p><code>plot()</code> methods for <code>"stepfun"</code> and hence |
| <code>"ecdf"</code> no longer plot points by default for <code>n >= 1000</code>. |
| </p> |
| </li> |
| <li> <p><code>[g]sub(perl=TRUE)</code> now also supports <code>"\E"</code> |
| in order to <strong>end</strong> <code>"\U"</code> and <code>"\L"</code> case changes, |
| thanks to a patch from Bill Dunlap. |
| </p> |
| </li> |
| <li> <p><code>factor()</code>, <code>levels()<-</code>, etc, now ensure that |
| the resulting factor levels are unique (as was always the implied |
| intention). Factors with duplicated levels are still |
| constructible by low-level means, but are now declared illegal. |
| </p> |
| </li> |
| <li><p> New <code>print()</code> (S3) method for class <code>"function"</code>, |
| also used for auto-printing. Further, <code>.Primitive</code> |
| functions now print and auto-print identically. The new method |
| is based on code suggestions by Romain François. |
| </p> |
| </li> |
| <li><p> The <code>print()</code> and <code>toLatex()</code> methods for class |
| <code>"sessionInfo"</code> now show the locale in a nicer format and |
| have arguments to suppress locale information. |
| </p> |
| </li> |
| <li><p> In addition to previously only <code>round()</code>, there are |
| other <code>Math</code> group (S3) methods for <code>"difftime"</code>, |
| such as <code>floor()</code>, <code>signif()</code>, <code>abs()</code>, etc. |
| </p> |
| </li> |
| <li><p> For completeness, <code>old.packages()</code> and |
| <code>available.packages()</code> allow arguments <code>type</code> to be |
| specified (you could always specify arguments <code>available</code> |
| or <code>contriburl</code>). |
| </p> |
| </li> |
| <li> <p><code>available.packages()</code> by default only returns |
| information on the latest versions of packages whose version |
| requirements are satisfied by the currently running <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>. |
| </p> |
| </li> |
| <li> <p><code>tools::write_PACKAGES()</code> has a new argument |
| <code>latestOnly</code>, which defaults to <code>TRUE</code> when only the |
| latest versions in the repository will be listed in the index. |
| </p> |
| </li> |
| <li> <p><code>getOption()</code> has a new argument <code>default</code> that |
| is returned if the specified option is not set. This simplifies |
| querying a value and checking whether it is <code>NULL</code> or not. |
| </p> |
| </li> |
| <li> <p><code>parse()</code> now warns if the requested encoding is not supported. |
| </p> |
| </li> |
| <li><p> The <code>"table"</code> method of <code>as.data.frame()</code> gains a |
| <code>stringsAsFactors</code> argument to allow the classifying |
| factors to be returned as character vectors rather than the |
| default factor type. |
| </p> |
| </li> |
| <li><p> If <code>model.frame.default()</code> encounters a character |
| variable where <code>xlev</code> indicates a factor, it now converts |
| the variable to a factor (with a warning). |
| </p> |
| </li> |
| <li> <p><code>curve()</code> now returns a list containing the points that |
| w§ere drawn. |
| </p> |
| </li> |
| <li> <p><code>spineplot()</code> now accepts <code>axes = FALSE</code>, for |
| consistency with other functions called by <code>plot.factor()</code>. |
| </p> |
| </li> |
| <li><p> The Kendall and Spearman methods of <code>cor.test()</code> can |
| optionally use continuity correction when not computing exact |
| p-values. (The Kendall case is the wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=13691">PR#13691</a>.) |
| </p> |
| </li> |
| <li> <p><span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> now keeps track of line numbers during execution for code |
| sourced with <code>options(keep.source = TRUE)</code>. The source |
| reference is displayed by debugging functions such as |
| <code>traceback()</code>, <code>browser()</code>, <code>recover()</code>, and |
| <code>dump.frames()</code>, and is stored as an attribute on each |
| element returned by <code>sys.calls()</code>. |
| </p> |
| </li> |
| <li><p> More functions now have an implicit (S4) generic definition. |
| </p> |
| </li> |
| <li> <p><code>quantile.default()</code> now disallows factors (wish of |
| <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=13631">PR#13631</a>) and its help |
| documents what numeric-like properties its input need to have to |
| work correctly. |
| </p> |
| </li> |
| <li> <p><code>weighted.mean()</code> is now generic and has <code>"Date"</code>, |
| <code>"POSIXct"</code> and <code>"POSIXlt"</code> methods. |
| </p> |
| </li> |
| <li><p> Naming subscripts (e.g., <code>x[i=1, j=2]</code>) in |
| <code>data.frame</code> methods for <code>[</code> and <code>[[</code> now gives a |
| warning. (Names are ignored in the default method, but could |
| have odd semantics for other methods, and do for the data.frame |
| ones.) |
| </p> |
| </li> |
| <li> <p><code>as.data.frame()</code> has an <code>"aovproj"</code> method. |
| (Wish of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=13505">PR#13505</a>) |
| </p> |
| </li> |
| <li> <p><code>as.character(x)</code> for numeric <code>x</code> no longer |
| produces strings such as <code>"0.30"</code>, i.e., with trailing |
| zeros. This change also renders levels construction in |
| <code>factor()</code> more consistent. |
| </p> |
| </li> |
| <li> <p><code>codocClasses()</code>, which checks consistency of the |
| documentation of S4 class slots, now does so in considerably more |
| cases. The documentation of inherited slots (from superclasses) |
| is now optional. This affects <code>R CMD check <pkg></code> when |
| the package defines S4 classes. |
| </p> |
| </li> |
| <li> <p><code>codoc()</code> now also checks S4 methods for code/documentation |
| mismatches. |
| </p> |
| </li> |
| <li> <p><code>for()</code>, <code>while()</code>, and <code>repeat()</code> loops now |
| always return NULL as their (invisible) value. This change was |
| needed to address a reference counting bug without creating |
| performance penalties for some common use cases. |
| </p> |
| </li> |
| <li><p> The <code>print()</code> method for <code>ls.str()</code> results now |
| obeys an optional <code>digits</code> argument. |
| </p> |
| </li> |
| <li><p> The <code>method</code> argument of <code>glm()</code> now allows |
| user-contributed methods. |
| </p> |
| </li> |
| <li><p> More general <code>reorder.default()</code> replaces functionality of |
| <code>reorder.factor()</code> and <code>reorder.character()</code>. |
| </p> |
| </li> |
| <li><p> The function <code>aspell()</code> has been added to provide an |
| interface to the <code>Aspell</code> spell-checker. |
| </p> |
| </li> |
| <li><p> Filters <code>RdTextFilter()</code> and <code>SweaveTeXFilter()</code> |
| have been added to the tools package to provide support for |
| <code>aspell()</code> or other spell checkers. |
| </p> |
| </li> |
| <li> <p><code>xtabs()</code> with the new argument <code>sparse = TRUE</code> |
| now returns a sparse Matrix, using package <a href="https://CRAN.R-project.org/package=Matrix"><span class="pkg">Matrix</span></a>. |
| </p> |
| </li> |
| <li> <p><code>contr.sum()</code> etc gain an argument <code>sparse</code> |
| which allows sparse matrices to be returned. |
| </p> |
| <p><code>contrasts()</code> also gains a <code>sparse</code> argument which it |
| passes to the actual contrast function if that has a formal |
| argument <code>sparse</code>. |
| </p> |
| <p><code>contrasts(f, .) <- val</code> now also works when <code>val</code> |
| is a sparse Matrix. It is planned that <code>model.matrix()</code> |
| will work with such factors <code>f</code> in the future. |
| </p> |
| </li> |
| <li> <p><code>readNEWS()</code> will recognize a UTF-8 byte-order mark |
| (BOM) in the ‘<span class="file">NEWS</span>’ file. However, it is safer to use only |
| ASCII code there because not all editors recognize BOMs. |
| </p> |
| </li> |
| <li><p> New utility function <code>inheritedSlotNames()</code> for S4 |
| class programming. |
| </p> |
| </li> |
| <li> <p><code>tabulate()</code> now allows NAs to pass through (and be ignored). |
| </p> |
| </li> |
| <li><p> If <code>debug()</code> is called on an S3 generic function then |
| all methods are debugged as well. |
| </p> |
| </li> |
| <li><p> Outlier symbols drawn by <code>boxplot()</code> now obey the |
| <code>outlwd</code> argument. Reported by Jurgen Kluge. |
| </p> |
| </li> |
| <li> <p><code>svd(x)</code> and <code>eigen(x)</code> now behave analogously to |
| <code>qr(x)</code> in accepting logical matrices <code>x</code>. |
| </p> |
| </li> |
| <li><p> File ‘<span class="file">NEWS</span>’ is now in UTF-8, and has a BOM (often |
| invisible) on the first line, and <code>Emacs</code> local variables |
| set for UTF-8 at the end. <code>RShowDoc("NEWS")</code> should display |
| this correctly, given suitable fonts. |
| </p> |
| </li> |
| <li> <p><code>terms.formula(simplify = TRUE)</code> now does not deparse |
| the LHS and so preserves non-standard responses such as <code>`a: |
| b`</code> (requested by Sundar Dorai-Raj). |
| </p> |
| </li> |
| <li><p> New function <code>news()</code> for building and querying <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> or |
| package news information. |
| </p> |
| </li> |
| <li> <p><code>z^n</code> for integer <code>n</code> and complex <code>z</code> is more |
| accurate now if <code>|n| <= 65536</code>. |
| </p> |
| </li> |
| <li> <p><code>factor(NULL)</code> now returns the same as |
| <code>factor(character(0))</code> instead of an error, and |
| <code>table(NULL)</code> consequently does analogously. |
| </p> |
| </li> |
| <li> <p><code>as.data.frame.vector()</code> (and its copies) is slightly faster |
| by avoiding a copy if there are no names (following a |
| suggestion of Tim Hesterberg). |
| </p> |
| </li> |
| <li> <p><code>writeLines()</code>, <code>writeBin()</code> and |
| <code>writeChar()</code> have a new argument <code>useBytes</code>. If |
| false, character strings with marked encodings are translated to |
| the current locale (as before) but if true they are written |
| byte-by-byte. |
| </p> |
| </li> |
| <li> <p><code>iconv()</code> has a new argument <code>mark</code> which can be |
| used (by experts) to suppress the declaration of encodings. |
| </p> |
| </li> |
| <li> <p>‘<span class="file">DESCRIPTION</span>’ file's <code>LinkingTo</code> specs are now |
| recognized as installation dependencies, and included in package |
| management computations. |
| </p> |
| </li> |
| <li><p> Standardized ‘<span class="file">DESCRIPTION</span>’ file <code>License</code> specs |
| are now available for package management computations. |
| </p> |
| </li> |
| <li> <p><code>"\uxxxx"</code> and <code>"\Uxxxxxxxx"</code> escapes can now be |
| parsed to a UTF-8 encoded string even in non-UTF-8 locales (this |
| has been implemented on Windows since <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.7.0). The semantics |
| have been changed slightly: a string containing such escapes is |
| always stored in UTF-8 (and hence is suitable for portably |
| including Unicode text in packages). |
| </p> |
| </li> |
| <li><p> New <code>as.raw()</code> method for <code>"tclObj"</code> objects (wish |
| of <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=13758">PR#13758</a>). |
| </p> |
| </li> |
| <li> <p><code>Rd.sty</code> now makes a better job of setting email addresses, |
| including using a monospaced font. |
| </p> |
| </li> |
| <li> <p><code>textConnection()</code> gains an <code>encoding</code> argument |
| to determine how input strings with marked encodings will be |
| handled. |
| </p> |
| </li> |
| <li> <p><code>R CMD Rd2pdf</code> is available as a shortcut for |
| <code>R CMD Rd2dvi --pdf</code>. |
| </p> |
| </li> |
| <li> <p><code>R CMD check</code> now checks links where a package is |
| specified (<code>\link[pkg]{file}</code> or |
| <code>\link[pkg:file]{topic}</code>), if the package is available. |
| It notes if the package is not available, as in many cases this |
| is an error in the link. |
| </p> |
| </li> |
| <li> <p><code>identical()</code> gains three logical arguments, which |
| allow for even more differentiation, notably <code>-0</code> and |
| <code>0</code>. |
| </p> |
| </li> |
| <li> <p><code>legend()</code> now can specify the <code>border</code> color of |
| filled boxes, thanks to a patch from Frederic Schutz. |
| </p> |
| </li> |
| <li><p> Indexing with a vector index to <code>[[ ]]</code> has now been |
| extended to all recursive types. |
| </p> |
| </li> |
| <li><p> Pairlists may now be assigned as elements of lists. (Lists |
| could always be created with pairlist elements, but <code>[[<-</code> |
| didn't support assigning them.) |
| </p> |
| </li> |
| <li><p> The parser now supports C-preprocessor-like <code>#line</code> |
| directives, so error messages and source references may refer to |
| the original file rather than an intermediate one. |
| </p> |
| </li> |
| <li><p> New functions <code>findLineNum()</code> and |
| <code>setBreakpoint()</code> work with the source references to find |
| the location of source lines and set breakpoints (using |
| <code>trace()</code>) at those lines. |
| </p> |
| </li> |
| <li><p> Namespace importing is more careful about warning on masked |
| generics, thanks to a patch by Yohan Chalabi. |
| </p> |
| </li> |
| <li> <p><code>detach()</code> now has an argument <code>character.only</code> |
| with the same meaning as for <code>library()</code> or |
| <code>require()</code>. |
| </p> |
| </li> |
| <li> <p><code>available.packages()</code> gains a <code>filters</code> |
| argument for specifying the filtering operations performed on the |
| packages found in the repositories. A new built-in |
| <code>"license/FOSS"</code> filter only retains packages for which |
| installation can proceed solely based on packages which can be |
| verified as Free or Open Source Software (FOSS) employing the |
| available license specifications. |
| </p> |
| </li> |
| <li><p> In registering an S3 class by a call to |
| <code>setOldClass()</code>, the data part (e.g., the object type) |
| required for the class can be included as one of the superclasses |
| in the Classes argument. |
| </p> |
| </li> |
| <li><p> The argument <code>f</code> to <code>showMethods()</code> can be an |
| expression evaluating to a generic function, allowing methods to |
| be shown for non-exported generics and other nonstandard cases. |
| </p> |
| </li> |
| <li> <p><code>sprintf()</code> now supports <code>%o</code> for octal |
| conversions. |
| </p> |
| </li> |
| <li><p> New function <code>Sys.readlink()</code> for information about symbolic |
| links, including if a file is a symbolic link. |
| </p> |
| </li> |
| <li><p> Package <span class="pkg">tools</span> has new functions |
| <code>checkRdaFiles()</code> and <code>resaveRdaFiles()</code> to report on |
| the format of ‘<span class="file">.rda</span>’/‘<span class="file">.RData</span>’ data files, and to |
| re-save them in a different compressed format, including choosing |
| the most compact format available. |
| </p> |
| <p>A new <code>INSTALL</code> option, <span class="option">--resave-data</span>, makes use |
| of this. |
| </p> |
| </li> |
| <li><p> File ‘<span class="file">~/.R/config</span>’ is used in preference to |
| ‘<span class="file">~/.Rconfig</span>’, and these are now documented in ‘R |
| Installation and Administration’. |
| </p> |
| </li> |
| <li><p> Logic operations with complex numbers now work, as they were always |
| documented to, and as in S. |
| </p> |
| </li> |
| <li> <p><code>arrows()</code> and <code>segments()</code> allow one of <code>x1</code> |
| or <code>y1</code> to be omitted to simplify the specification of |
| vertical or horizontal lines (suggestion of Tim Hesterberg). |
| </p> |
| </li> |
| <li> <p><code>approxfun()</code> is faster by avoiding repeated <code>NA</code> |
| checks (diagnosis and patch by Karline Soetaert & Thomas |
| Petzoldt). |
| </p> |
| </li> |
| <li><p> There are the beginnings of a Nynorsk translation by Karl Ove |
| Hufthammer. |
| </p> |
| </li> |
| <li> <p><code>stripchart()</code> allows <code>par</code> <code>bg</code> to be |
| passed in for the background colour for <code>pch = 21</code> (wish of |
| <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=13984">PR#13984</a>). |
| </p> |
| </li> |
| <li><p> New generic function <code>.DollarNames()</code> to enable class authors |
| to customize completion after the <code>$</code> extractor. |
| </p> |
| </li> |
| <li> <p><code>load()</code>, <code>save()</code>, <code>dput()</code> and |
| <code>dump()</code> now open a not-yet-open connection in the |
| appropriate mode (as other functions using connections directly |
| already did). |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>REGULAR EXPRESSIONS</h4> |
| |
| |
| <ul> |
| <li><p> A different regular expression engine is used for basic and |
| extended regexps and is also for approximate matching. This is |
| based on the TRE library of Ville Laurikari, a modified copy of |
| which is included in the <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> sources. |
| </p> |
| <p>This is often faster, especially in a MBCS locale. |
| </p> |
| <p>Some known differences are that it is less tolerant of invalid |
| inputs in MBCS locales, and in its interpretation of undefined |
| (extended) regexps such as <code>"^*"</code>. Also, the interpretation of |
| ranges such as <code>[W-z]</code> in caseless matching is no longer to map |
| the range to lower case. |
| </p> |
| <p>This engine may in future be used in ‘literal’ mode for |
| <code>fixed = TRUE</code>, and there is a compile-time option in |
| <code>src/main/grep.c</code> to do so. |
| </p> |
| </li> |
| <li><p> The use of repeated boundary regexps in <code>gsub()</code> and |
| <code>gregexpr()</code> as warned about in the help page does not work |
| in this engine (it did in the previous one since 2005). |
| </p> |
| </li> |
| <li><p> Extended (and basic) regexps now support same set of options |
| as for <code>fixed = TRUE</code> and <code>perl = TRUE</code>, including |
| <code>useBytes</code> and support for UTF-8-encoded strings in |
| non-UTF-8 locales. |
| </p> |
| </li> |
| <li> <p><code>agrep()</code> now has full support for MBCS locales with a modest |
| speed penalty. This enables <code>help.search()</code> to use approximate |
| matching character-wise rather than byte-wise. |
| </p> |
| </li> |
| <li> <p><code>[g]sub</code> use a single-pass algorithm instead of |
| matching twice and so is usually faster. |
| </p> |
| </li> |
| <li><p> The <code>perl = TRUE</code> versions now work correctly in a |
| non-UTF-8 MBCS locale, by translating the inputs to UTF-8. |
| </p> |
| </li> |
| <li> <p><code>useBytes = TRUE</code> now inhibits the translation of inputs with |
| marked encodings. |
| </p> |
| </li> |
| <li> <p><code>strsplit()</code> gains a <code>useBytes</code> argument. |
| </p> |
| </li> |
| <li><p> The algorithm used by <code>strsplit()</code> has been reordered |
| to batch by elements of <code>split</code>: this can be much faster for |
| <code>fixed = FALSE</code> (as multiple compilation of regexps is avoided). |
| </p> |
| </li> |
| <li><p> The help pages, including <code>?regexp</code>, have been updated |
| and should be consulted for details of the new implementations. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>HELP & Rd FILE CHANGES</h4> |
| |
| |
| <ul> |
| <li><p> A new dynamic HTML help system is used by default, and may be |
| controlled using <code>tools::startDynamicHelp()</code>. With this enabled, |
| HTML help pages will be generated on request, resolving links |
| by searching through the current <code>.libPaths()</code>. The user |
| may set options(<code>"help.ports"</code>) to control which IP port is used |
| by the server. |
| </p> |
| </li> |
| <li> <p><code>help.start()</code> no longer sets <code>options(htmlhelp = |
| TRUE)</code> (it used to on Unix but not on Windows). Nor does it on |
| Unix reset the <code>"browser"</code> option if given an argument of |
| that name. |
| </p> |
| <p>Arguments <code>update</code> and <code>remote</code> are now available |
| on all platforms: the default is <code>update = FALSE</code> since the |
| http server will update the package index at first use. |
| </p> |
| </li> |
| <li> <p><code>help()</code> has a new argument <code>help_type</code> (with |
| default set by the option of that name) to supersede arguments |
| <code>offline</code>, <code>htmlhelp</code> and <code>chmhelp</code> |
| (although for now they still work if <code>help_type</code> is |
| unset). There is a new type, <code>"PDF"</code> to allow offline PDF |
| (rather than PostScript). |
| </p> |
| <p>A function <code>offline_help_helper()</code> will be used if this exists |
| in the workspace or further down the search path, otherwise |
| the function of that name in the <span class="pkg">utils</span> namespace is used. |
| </p> |
| </li> |
| <li><p> Plain text help is now used as the fallback for HTML help (as |
| it always was for Compiled HTML help on Windows). |
| </p> |
| </li> |
| <li><p> It is possible to ask for static HTML pages to be prebuilt |
| <em>via</em> the configure option <span class="option">--enable-prebuilt-html</span>. This |
| may be useful for those who wish to make HTML help available |
| outside R, e.g. on a local web site. |
| </p> |
| </li> |
| <li><p> An experimental tag <code>\Sexpr</code> has been added to Rd |
| files, to evaluate expressions at build, install, or render time. |
| Currently install time and render time evaluation are supported. |
| </p> |
| </li> |
| <li><p> Tags <code>\if</code>, <code>\ifelse</code> and <code>\out</code> have been |
| added to allow format-specific (or more general, using |
| <code>\Sexpr</code>) conditional text in man pages. |
| </p> |
| </li> |
| <li><p> The <code>parse_Rd()</code> parser has been made more tolerant of coding |
| errors in Rd files: now all syntax errors are reported as |
| warnings, and an attempt is made to continue parsing. |
| </p> |
| </li> |
| <li> <p><code>parse_Rd()</code> now has an argument <code>fragment</code> |
| (default <code>FALSE</code>) to accept small fragments of Rd files (so |
| that <code>\Sexpr</code> can output Rd code which is then parsed). |
| </p> |
| </li> |
| <li> <p><code>parse_Rd()</code> now always converts its input to UTF-8. |
| The <code>Rd2*</code> rendering functions have a new argument, |
| <code>outputEncoding</code>, which controls how their output is |
| encoded. |
| </p> |
| </li> |
| <li> <p><code>parse_Rd()</code> no longer includes the newline as part of |
| a <code>"%"</code>-style comment. |
| </p> |
| </li> |
| <li><p> There have been various bug fixes and code reorganization in |
| the Rd renderers <code>Rd2HTML</code>, <code>Rd2latex</code>, <code>Rd2txt</code>, |
| and <code>Rd2ex</code>. |
| </p> |
| <p>All example files are now created with either ASCII or UTF-8 |
| encoding, and the encoding is only marked in the file if there |
| is any non-UTF-8 code (previously it was marked if the help |
| file had non-ASCII contents, possibly in other sections). |
| </p> |
| </li> |
| <li> <p><code>print.Rd()</code> now adds necessary escape characters so that |
| printing and re-parsing an Rd object should produce an |
| equivalent object. |
| </p> |
| </li> |
| <li> <p><code>parse_Rd()</code> was incorrectly handling multiple backslashes in |
| <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> code strings, converting 4n+3 backslashes to 2n+1 instead |
| of 2n+2. |
| </p> |
| </li> |
| <li> <p><code>parse_Rd()</code> now recognizes the <code>\var</code> tag within |
| a quoted string in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>-like text. |
| </p> |
| </li> |
| <li> <p><code>parse_Rd()</code> now treats the argument of |
| <code>\command</code> as LaTeX-like, rather than verbatim. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>COMPRESSION</h4> |
| |
| |
| <ul> |
| <li><p> New function <code>untar()</code> to list or unpack tar archives, |
| possibly compressed. This uses either an external <code>tar</code> |
| command or an internal implementation. |
| </p> |
| </li> |
| <li><p> New function <code>tar()</code> to create (possibly compressed) |
| tar archives. |
| </p> |
| </li> |
| <li><p> New functions <code>memCompress()</code> and |
| <code>memDecompress()</code> for in-memory compression and |
| decompression. |
| </p> |
| </li> |
| <li> <p><code>bzfile()</code> has a <code>compress</code> argument to select |
| the amount of effort put into compression when writing. |
| </p> |
| </li> |
| <li><p> New function <code>xzfile()</code> for use with |
| <code>xz</code>-compressed files. (This can also read files |
| compressed by some versions of <code>lzma</code>.) |
| </p> |
| </li> |
| <li> <p><code>gzfile()</code> looks at the file header and so can now also |
| read <code>bzip2</code>-ed files and <code>xz</code>-compressed files. |
| </p> |
| </li> |
| <li><p> There are the new options of <code>save(compress = "bzip2")</code> |
| and <code>"xz"</code> to use <code>bzip2</code> or <code>xz</code> |
| compression (which will be slower, but can give substantially |
| smaller files). Argument <code>compression_level</code> gives finer |
| control over the space/time tradeoffs. |
| </p> |
| <p><code>load()</code> can read such saves (but only as from this version of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>). |
| </p> |
| </li> |
| <li> <p><code>R CMD INSTALL</code>/<code>check</code> and |
| <code>tools::writePACKAGES</code> accept a wider range of compressed |
| tar archives. Precisely how wide depends on the capabilities of |
| the host system's <code>tar</code> command: they almost always |
| include <code>.tar.bz2</code> archives, and with modern versions of |
| <code>tar</code> other forms of compression such as <code>lzma</code> |
| and <code>xz</code>, and arbitrary extensions. |
| </p> |
| </li> |
| <li> <p><code>R CMD INSTALL</code> has a new option |
| <span class="option">--data-compress</span> to control the compression used when |
| lazy-loading data. New possibilities are |
| <span class="option">--data-compress=bzip2</span> which will give ca 15% better |
| compression at the expense of slower installation times, and |
| <span class="option">--data-compress=xz</span>, often giving even better compression |
| on large datasets at the expense of much longer installation |
| times. (The latter is used for the recommended packages: it is |
| particularly effective for <a href="https://CRAN.R-project.org/package=survival"><span class="pkg">survival</span></a>.) |
| </p> |
| </li> |
| <li> <p><code>file()</code> for open = <code>""</code>, <code>"r"</code> or |
| <code>"rt"</code> will automagically detect compressed files (from |
| <code>gzip</code>, <code>bzip2</code> or <code>xz</code>). This means |
| that compressed files can be specified by file name (rather than |
| <em>via</em> a <code>gzfile()</code> connection) to <code>read.table()</code>, |
| <code>readlines()</code>, <code>scan()</code> and so on. |
| </p> |
| </li> |
| <li> <p><code>data()</code> can handle compressed text files with extensions |
| ‘<span class="file">.{txt,tab,csv}.{gz,bz2,xz}</span>’ . |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>DEPRECATED & DEFUNCT</h4> |
| |
| |
| <ul> |
| <li> <p><code>png(type="cairo1")</code> is defunct: the value is no longer |
| recognized. |
| </p> |
| </li> |
| <li> <p><code>tools::Rd_parse()</code> is defunct (as this version of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> |
| uses only Rd version 2). |
| </p> |
| </li> |
| <li><p> Use of file ‘<span class="file">~/.Rconf</span>’ (which was deprecated in favour |
| of ‘<span class="file">~/.Rconfig</span>’ in 2004) has finally been removed. |
| </p> |
| </li> |
| <li><p> Bundles of packages are deprecated. See ‘Writing R |
| Extensions’ for the steps needed to unbundle a bundle. |
| </p> |
| </li> |
| <li> <p><code>help()</code> arguments <code>offline</code>, <code>htmlhelp</code> and |
| <code>chmhelp</code> are deprecated in favour of <code>help_type</code>. |
| </p> |
| </li> |
| <li> <p><code>clearNames()</code> (in package <span class="pkg">stats</span>) is deprecated |
| for <code>unname()</code>. |
| </p> |
| </li> |
| <li><p> Basic regular expressions (<code>extended = FALSE</code>) are |
| deprecated in <code>strsplit</code>, <code>grep</code> and friends. There is |
| a precise POSIX standard for them, but it is not what recent RE |
| engines implement, and it seems that in almost all cases package |
| authors intended <code>fixed = TRUE</code> when using <code>extended = |
| FALSE</code>. |
| </p> |
| </li> |
| <li> <p><code>methods::trySilent()</code> is deprecated in favour of |
| <code>try(silent=TRUE)</code> or – more efficiently and flexibly – |
| something like <code>tryCatch(error = function(e) e)</code>. |
| </p> |
| </li> |
| <li> <p><code>index.search()</code> is deprecated: there are no longer |
| directories of types other than <code>help</code>. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>INSTALLATION</h4> |
| |
| |
| <ul> |
| <li><p> cairo >= 1.2 is now required (1.2.0 was released in July 2006) |
| for cairo-based graphics devices (which remain optional). |
| </p> |
| </li> |
| <li><p> A suitable <code>iconv()</code> is now required: support for |
| configure option <span class="option">--without-iconv</span> has been withdrawn (it |
| was deprecated in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.5.0). |
| </p> |
| </li> |
| <li><p> Perl is no longer ‘essential’. <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> can be built |
| without it, but scripts <code>R CMD build</code>, <code>check</code>, |
| <code>Rprof</code> and <code>Sd2d</code> currently require it. |
| </p> |
| </li> |
| <li><p> A system <code>glob</code> function is now essential (a working |
| <code>Sys.glob()</code> has been assumed since <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.9.0 at least). |
| </p> |
| </li> |
| <li><p> C99 support for MBCS is now required, and configure option |
| <span class="option">--disable-mbcs</span> has been withdrawn. |
| </p> |
| </li> |
| <li><p> Having a version of <code>tar</code> capable of automagically |
| detecting compressed archives is useful for |
| <code>utils::untar()</code>, and so <code>gtar</code> (a common name for |
| GNU <code>tar</code>) is preferred to <code>tar</code>: set environment |
| variable <span class="env">TAR</span> to specify a particular <code>tar</code> command. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>INTERNATIONALIZATION</h4> |
| |
| |
| <ul> |
| <li><p> There is some makefile support for adding/updating translations |
| in packages: see <code>po/README</code> and ‘Writing R Extensions’. |
| </p> |
| <p>There is support for the use of <code>dngettext</code> for C-level |
| translations in packages: see ‘Writing R Extensions’. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h4>BUG FIXES</h4> |
| |
| |
| <ul> |
| <li><p> Assigning an extra 0-length column to a data frame by |
| <code>DF[, "foo"] <- value</code> now works in most cases (by filling |
| with <code>NA</code>s) or fails. (It used to give a corrupt data |
| frame.) |
| </p> |
| </li> |
| <li> <p><code>validObject()</code> avoids an error during evaluation in the case |
| of various incorrect slot definitions. |
| </p> |
| </li> |
| <li> <p><code>n:m</code> now returns a result of type <code>"integer"</code> in |
| a few more boundary cases. |
| </p> |
| </li> |
| <li><p> The <code>zap.ind</code> argument to <code>printCoefmat()</code> did |
| not usually work as other code attempted to ensure that non-zero |
| values had a non-zero representation. |
| </p> |
| </li> |
| <li> <p><code>printCoefmat()</code> formatted groups of columns together, |
| not just the <code>cs.ind</code> group but also the <code>zap.ind</code> |
| group and a residual group. It now formats all columns except |
| the <code>cs.ind</code> group separately (and zaps the <code>zap.ind</code> |
| group column-by-column). The main effect will be see in the |
| output from <code>print.anova()</code>, as this grouped SS-like columns |
| in the <code>zap.ind</code> group. |
| </p> |
| </li> |
| <li> <p><code>R_ReplDLLinit()</code> initializes the top-level jump so |
| that some embedded applications on Windows no longer crash on |
| error. |
| </p> |
| </li> |
| <li> <p><code>identical()</code> failed to take the encoding of character |
| strings into account, so identical byte patterns are not |
| necessarily identical strings, and similarly Latin-1 and UTF-8 |
| versions of the same string differ in byte pattern. |
| </p> |
| </li> |
| <li> <p><code>methods(f)</code> used to warn unnecessarily for an S4 |
| generic <code>f</code> which had been created based on an existing S3 |
| generic. |
| </p> |
| </li> |
| <li><p> The check for consistent ordering of superclasses was not |
| ignoring all conditional relations (the symptom was usually |
| spurious warnings for classes extending <code>"array"</code>). |
| </p> |
| </li> |
| <li><p> Trying to assign into a raw vector with an index vector |
| containing <code>NA</code>s could cause a segfault. Reported by Hervé |
| Pagès. |
| </p> |
| </li> |
| <li> <p><code>Rscript</code> could segfault if (by user error) its |
| filename argument was missing. Reported by Martin Morgan. |
| </p> |
| </li> |
| <li> <p><code>getAnywhere()</code> (and functions that use it, including argument |
| completion in the console) did not handle special built-in |
| functions. Reported by Romain Francois. |
| </p> |
| </li> |
| <li> <p><code>order()</code> was missing a <code>PROTECT()</code> call and so |
| could segfault when called on character data under certain (rare) |
| circumstances involving marked non-native encodings. |
| </p> |
| </li> |
| <li> <p><code>prettyNum(z, drop0trailing=TRUE)</code> did not work |
| correctly when <code>z</code> was a complex vector. Consequently, |
| <code>str(z, ...)</code> also did not. (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=13985">PR#13985</a>) |
| </p> |
| </li> |
| <li> <p><code>make distclean</code> removed too many files in |
| <code>etc/</code> if builddir = srcdir. |
| </p> |
| </li> |
| <li> <p><code>R CMD</code> replaced <code>TEXINPUTS</code> rather than |
| appending to it (as documented and intended). |
| </p> |
| </li> |
| <li> <p><code>help.start()</code> no longer fails on unix when |
| <code>"browser"</code> is a function. |
| </p> |
| </li> |
| <li> <p><code>pbeta(x, ..., log.p = TRUE)</code> is sometimes more accurate, |
| e.g., for very small <code>x</code>. |
| </p> |
| </li> |
| <li><p> Unserializing a pre-2.8 workspace containing pure ASCII |
| character objects with a Latin-1 or UTF-8 encoding would corrupt |
| the <code>CHARSXP</code> cache. |
| </p> |
| </li></ul> |
| |
| |
| |
| |
| <h3>OLDER NEWS</h3> |
| |
| <p>News for <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.9.2 patched and earlier can be found in files |
| such as ‘<span class="file">NEWS.2</span>’ in the ‘<span class="file">doc</span>’ directory. |
| </p> |
| |
| |
| </body></html> |