I've rolled up R-2.11.0.tar.gz a short while ago. This is a development release which contains a number of new features. Also, a number of mostly minor bugs have been fixed. See the full list of changes below. NOTE: The build platform has been changed for this release. Please watch out extra carefully for anomalies. You can get it from http://cran.r-project.org/src/base/R-2/R-2.11.0.tar.gz or wait for it to be mirrored at a CRAN site nearer to you. Binaries for various platforms will appear in due course. For the R Core Team Peter Dalgaard These are the md5sums for the freshly created files, in case you wish to check that they are uncorrupted: MD5 (AUTHORS) = ac9746b4845ae866661f51cfc99262f5 MD5 (COPYING) = eb723b61539feef013de476e68b5c50a MD5 (COPYING.LIB) = a6f89e2100d9b6cdffcea4f398e37343 MD5 (FAQ) = 5b653442bedab476a4eff7468192fb5f MD5 (INSTALL) = 70447ae7f2c35233d3065b004aa4f331 MD5 (NEWS) = 59017734fb8474f98f994c7a5a27f9fb MD5 (ONEWS) = a8c985af5ad5e9c7e0a9f502d07baeb4 MD5 (OONEWS) = 4f004de59e24a52d0f500063b4603bcb MD5 (R-latest.tar.gz) = c6c1e866299f533617750889c729bfb3 MD5 (README) = 433182754c05c2cf7a04ad0da474a1d0 MD5 (RESOURCES) = 020479f381d5f9038dcb18708997f5da MD5 (THANKS) = f2ccf22f3e20ebaa86f8ee5cc6b0f655 MD5 (R-2/R-2.11.0.tar.gz) = c6c1e866299f533617750889c729bfb3 This is the relevant part of the NEWS file: CHANGES IN R VERSION 2.11.0 SIGNIFICANT USER-VISIBLE CHANGES o Packages must have been installed under R >= 2.10.0, as the current help system is the only one now supported. o A port to 64-bit Windows is now available as well as binary package repositiories: see the 'R Administration and Installation Manual'. o Argument matching for primitive functions is now done in the same way as for interpreted functions except for the deliberate exceptions call switch .C .Fortran .Call .External all of which use positional matching for their first argument, and also some internal-use-only primitives. o The default device for command-line R at the console on Mac OS X is now quartz() and not X11(). NEW FEATURES o The 'open' modes for connections are now interpreted more consistently. open = "r" is now equivalent to open = "rt" for all connections. The default open = "" now means "rt" for all connections except the compressed file connections gzfile(), bzfile() and xzfile() for which it means "rb". o R CMD INSTALL now uses the internal untar() in package utils: this ensures that all platforms can install bzip2- and xz-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 R_INSTALL_TAR: setting this to a modern external tar program will speed up unpacking of large (tens of Mb or more) tarballs. o help(try.all.packages = TRUE) 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). o R CMD check has a new option '--timings' to record per-example timings in file <pkg>.Rcheck/<pkg>-Ex.timings. o The TRE library has been updated to version 0.8.0 (minor bugfixes). o grep[l], [g]sub and [g]regexpr 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 [g]sub() give the result in the native encoding rather than in UTF-8 (which returns to the behaviour prior to R 2.10.0). o A new argument 'skipCalls' has been added to browser() so that it can report the original context when called by other debugging functions. o More validity checking of UTF-8 and MBCS strings is done by agrep() and the regular-expression matching functions. o The undocumented restriction on gregexpr() to length(text) > 0 has been removed. o Package tcltk 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. o 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., Cairo, RSvgDevice, cairoDevice) will need to be reinstalled. There is also support in the graphics engine for capturing raster images from graphics devices (again not supported on all graphics devices). o R CMD check now also checks if the package and namespace can be unloaded: this provides a check of the .Last.lib() and .onUnload() hook functions (unless --install=fake). o prop.table(x) now accepts a one-dimensional table for x. o A new function vapply() 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. o The main HTML help page now links to a reformatted copy of this NEWS file. (Suggested by Henrik Bengtsson.) Package index files link to the package DESCRIPTION and NEWS files and a list of demos when using dynamic help. o The [ method for class "AsIs" allows the next method to change the underlying class. (Wish of Jens Oehlschl?gel.) o write.csv[2] no longer allow 'append' to be changed: as ever, direct calls to write.table() give more flexibility as well as more room for error. o The index page for HTML help for a package now collapses multiple signatures for S4 methods into a single entry. o The use of '.required' by require() and detach() has been replaced by '.Depends' which is set from the 'Depends' field of a package (even in packages with name spaces). By default detach() prevents such dependencies from being detached: this can be overridden by the argument 'force'. o bquote() has been extended to work on function definitions (wish of PR#14031). o detach() when applied to an object other than a package returns the environment that has been detached, to parallel attach(). o readline() in non-interactive use returns "" and does not attempt to read from the 'terminal'. o New function file_ext() in package 'tools'. o xtfrm() is now primitive and internally generic, as this allows S4 methods to be set on it without name-space scoping issues. There are now "AsIs" and "difftime" methods, and the default method uses unclass(x) if is.numeric(x) is true (which will be faster but relies on is.numeric() having been set correctly for the class). o is.numeric(x) is now false for a "difftime" object (multiplication and division make no sense for such objects). o The default method of weighted.mean(x, w) coerces 'w' 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 NaN result. There is now a "difftime" method. o bug.report() now has 'package' and 'lib.loc' arguments to generate bug reports about packages. When this is used, it looks for a BugReports field in the package DESCRIPTION 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.) o quantile() now has a method for the date-time class "POSIXt", and types 1 and 3 (which never interpolate) work for Dates and ordered factors. o length(<POSIXlt>) now returns the length of the corresponding abstract timedate-vector rather than always 9 (the length of the underlying list structure). (Wish of PR#14073 and PR#10507.) o The readline completion backend no longer sorts possible completions alphabetically (e.g., function argument names) if R was built with readline >= 6. o select.list() gains a 'graphics' argument to allow Windows/Mac users to choose the text interface. This changes the behaviour of new.packages(ask=TRUE) to be like update.packages(ask=TRUE) on those platforms in using a text menu: use ask="graphics" for a graphical menu. o New function chooseBioCmirror() to set the "BioC_mirror" option. o The R grammar prevents using the argument 'name' in signatures of S4 methods for '$' and '$<-', since they will always be called with a character string value for 'name'. The implicit S4 generic functions have been changed to reflect this: packages which included 'name' in the signature of their methods need to be updated and re-installed. o The handling of the 'method' argument of glm() has been refined following suggestions by Ioannis Kosmidis and Heather Turner. o str() gains a new argument 'list.len' with default 99, limiting the number of list() items (per level), thanks to suggestions from David Winsenius. o 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). o New functions enc2native() and enc2utf8() convert character vectors with possibly marked encodings to the current locale and UTF-8 respectively. o Unrecognized escapes and embedded nuls in character strings are now an error, not just a warning. Thus option "warnEscapes" is no longer needed. rawToChar() now removes trailing nuls silently, but other embedded nuls become errors. o Informational messages about masked objects displayed when a package is attached are now more compact, using strwrap() instead of one object per line. o print.rle() gains argument 'prefix'. o download.file() gains a "curl" method, mainly for use on platforms which have 'curl' but not 'wget', but also for some hard-to-access URLs. o In Rd, \eqn and \deqn will render in HTML (and convert to text) upper- and lower-case Greek letters (entered as \alpha ...), \ldots, \dots, \ge and \le. o utf8ToInt() and intToUtf8() now map NA inputs to NA outputs. o file() has a new argument 'raw' which may help if it is used with something other than a regular file, e.g. a character device. o New function strtoi(), a wrapper for the C function strtol. o as.octmode() and as.hexmode() now allow inputs of length other than one. The format() and print() methods for "octmode" now preserve names and dimensions (as those for "hexmode" did). The format() methods for classes "octmode" and "hexmode" gain a 'width' argument. o seq.int() returns an integer result in some further cases where seq() does, e.g. seq.int(1L, 9L, by = 2L). o Added \subsection{}{} macro to Rd syntax, for subsections within sections. o n-dimensional arrays with dimension names can now be indexed by an n-column character matrix. The indices are matched against the dimension names. NA indices are propagated to the result. Unmatched values and "" are not allowed and result in an error. o interaction(drop=TRUE) uses less memory (related to PR#14121). o summary() methods have been added to the "srcref" and "srcfile" classes, and various encoding issues have been cleaned up. o If option "checkPackageLicense" is set to TRUE (not currently the default), users will be asked to agree to non-known-to-be-FOSS package licences at first use. o Checking setAs(a,b) methods only gives a message instead of a warning, when one of a or b is unknown. o New function norm() to compute a matrix norm. norm() and also backsolve() and sample() have implicit S4 generics. o Renviron.site and Rprofile.site can have architecture-specific versions on systems with sub-architectures. o R CMD check now (by default) also checks Rd files for auto-generated content in need of editing, and missing argument descriptions. o aggregate() gains a formula method thanks to a contribution by Arni Magnusson. The data frame method now allows summary functions to return arbitrarily many values. o path.expand() now propagates NA values rather than converting them to "NA". o file.show() now disallows NA values for file names, headers, and pager. o The 'fuzz' used by seq() and seq.int() has been reduced from 1e-7 to 1e-10, which should be ample for the double-precision calculations used in R. It ensures that the fuzz never comes into play with sequences of integers (wish of PR#14169). o The default value of RSiteSearch(restrict=) has been changed to include vignettes but to exclude R-help. The R-help archives available have been split, with a new option of "Rhelp10" for those from 2010. o New function rasterImage() in the 'graphics' package for drawing raster images. o stats:::extractAIC.coxph() now omits aliased terms when computing the degrees of freedom (suggestion of Terry Therneau). o cor() and cov() now test for misuse with non-numeric arguments, such as the non-bug report PR#14207. o pchisq(ncp =, log.p = TRUE) is more accurate for probabilities near one. E.g. pchisq(80, 4, ncp=1, log.p=TRUE). (Maybe what was meant in PR#14126.) o maintainer() has been added, to give convenient access to the name of the maintainer of a package (contributed by David Scott). o sample() and sample.int() allow zero items to be sampled from a zero-length input. sample.int() gains a default value 'size=n' to be more similar to sample(). o switch() returned NULL on error (not previously documented on the help page): it now does so invisibly, analogously to if-without-else. It is now primitive: this means that EXPR is always matched to the first argument and there is no danger of partial matching to later named arguments. o Primitive functions UseMethod(), attr(), attr<-(), on.exit(), retracemem() and substitute() 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 switch(), call(), .C() ...). o 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. o base::which() uses a new .Internal function when arr.ind is FALSE resulting in a 10x speedup. Thanks to Patrick Aboyoun for implementation suggestions. o Help conversion to text now uses the first part of \enc{}{} markup if it is representable in the current output encoding. On the other hand, conversion to LaTeX with the default outputEncoding = "ASCII" uses the second part. o A new class "listOfMethods" has been introduced to represent the methods in a methods table, to replace the deprecated class "MethodsList". o any() and all() return early if possible. This may speed up operations on long vectors. o strptime() now accepts "%z" (for the offset from UTC in the RFC822 format of +/-hhmm). o The PCRE library has been updated to version 8.02, a bug-fix release which also updates tables to Unicode 5.02. o Functions which may use a graphical select.list() (including menu() and install.packages()) now check on a Unix-alike that Tk can be started (and not just capabilities("tcltk") && capabilities("X11")). o The parser no longer marks strings containing octal or hex escapes as being in UTF-8 when entered in a UTF-8 locale. o On platforms with cairo but not Pango (notably Mac OS X) the initial default X11() type is set to "Xlib": this avoids several problems with font selection when done by cairo rather than Pango (at least on Mac OS X). o New arrayInd() such that which(x, arr.ind = TRUE) for an array 'x' is now equivalent to arrayInd(which(x), dim(x), dimnames(x)). DEPRECATED & DEFUNCT o Bundles of packages are defunct. o stats::clearNames() is defunct: use unname(). o Basic regular expressions are defunct, and strsplit(), grep(), grepl(), sub(), gsub(), regexpr() and gregexpr() no longer have an 'extended' argument. o methods::trySilent() is defunct. o index.search() (which was deprecated in 2.10.0) is no longer exported and has a different argument list. o Use of multiple arguments to return() is now defunct. o The use of UseMethod() with more than two arguments is now defunct. o In the 'methods' package, the MethodsList metadata objects which had been superseded by hash tables (environments) since R 2.8.0 are being phased out. Objects of this class are no longer assigned or used as metadata by the package. getMethods() is now deprecated, with its internal use replaced by findMethods() and other changes. Creating objects from the MethodsList class is also deprecated. o Parsing strings containing both octal/hex and Unicode escapes now gives a warning and will become an error in R 2.12.0. INSTALLATION o UTF-8 is now used for the reference manual and package manuals. This requires LaTeX '2005/12/01' or later. o configure looks for a POSIX compliant tr, Solaris's /usr/ucb/tr having been found to cause Rdiff to malfunction. o configure is now generated with autoconf-2.65, which works better on recent systems and on Mac OS X. PACKAGE INSTALLATION o Characters in R 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. o R CMD INSTALL now tests that the installed package can be loaded (and backs out the installation if it cannot): this can be suppressed by --no-test-load. 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. o Package installation on Windows for a package with a src directory now checks if a DLL is created unless there is a src/Makefile.win 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 <pkg-name>.dll.) BUG FIXES o Using with(), eval() etc with a list with some unnamed elements now works. (PR#14035) o The "quick" 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. o 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 findInheritedMethods(). o R framework installation (on Mac OS X) would not work properly if a rogue Resources directory was present at the top level. Such a non-symlink will now be renamed to Resources.old (and anything previously named Resources.old removed) as part of the framework installation process. o 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 ...). Arguments omitted from the method definition but conforming (per the documentation) should now be ignored (treated as "ANY") in dispatching. o The computations for S4 method evaluation when '...' was in the signature could fail, treating '...' as an ordinary symbol. This has been fixed, for the known cases. o Various ar() fitting methods have more protection for singular fits. o callNextMethod now works again with the drop= argument in `[` o parse() and parse_Rd() miscounted columns when multibyte UTF-8 characters were present. o 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. o cor(A, B) where A has n x 1 and B a 1-dimensional array segfaulted or gave an internal error. (The case cor(B, A) was PR#7116.) o cut.POSIXt() applied to a start value after the DST transition on a DST-change day could give the wrong time for 'breaks' in units of days or longer. (PR#14208) o do_par() UNPROTECTed too early (PR#14214) o subassignment x[[....]] <- y didn't check for a zero-length right hand side, and inserted rubbish value. (PR#14217) o fisher.test() no longer gives a P-value *very* slightly > 1, in some borderline cases. o Internal function matchArgs no longer modifies the general purpose bits of the SEXPs that make up the formals list of R functions. This fixes an invalid error message that would occur when a garbage collection triggered a second call to matchArgs for the same function via a finalizer. o gsub() in 2.10.x could fail from stack overflow for extremely long strings due to temporary data being allocated on the stack. Also, gsub() with fixed=TRUE is in some circumstances considerably faster. o Several primitives, including attributes(), attr<-() interactive(), nargs() and proc.time(), did not check that they were called with the correct number of arguments. o A potential race condition in list.files() 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. o mean(x, trim=, na.rm = FALSE) failed to return NA if 'x' contained missing values. (Reported by Bill Dunlap.) o Extreme tail behavior of, pbeta() {and hence pf()}, e.g., pbeta(x, 3, 2200, lower.tail=FALSE, log.p=TRUE) now returns finite values instead of jumping to -Inf too early (PR#14230). o parse(text=x) misbehaved for objects 'x' that were not coerced internally to character, notably symbols. (Reported to R-devel by Bill Dunlap.) o The internal C function 'coerceSymbol' now handles coercion to character, and warns if coercion fails (rather than silently returning NULL). This allows a name to be given where a character vector is required in functions which coerce internally. o The interpretation by strptime() of %c was non-standard (not that it is ever advisable to use locale- and system-specific input formats). o capabilities("X11") now works the same way on Mac OS X as on other platforms (and as documented: it was always true for R built with --with-aqua, as the CRAN builds are). o The X11() 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). o read.fwf() misread multi-line records when n was specified. (PR#14241) o all.equal(*, tolerance = e) passes the numeric tolerance also to the comparison of the attributes. o pgamma(0,0), a boundary case, now returns 0, its limit from the left, rather than the limit from the right. o Issuing POST requests to the internal web server could stall the request under certain circumstances. o gzcon( <textConnection> ), an error, no longer damages the connection (in a way to have it seg.fault). (PR#14237) o All the results from hist() now use the nominal 'breaks' not those adjusted by the numeric 'fuzz": in recent versions the nominal 'breaks' 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.) o If xy[z].coords (used internally by many graphics functions) are given a list as 'x', they now check that the list has suitable names and give a more informative error message. (PR#13936) -- Peter Dalgaard Center for Statistics, Copenhagen Business School Solbjerg Plads 3, 2000 Frederiksberg, Denmark Phone: (+45)38153501 Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com _______________________________________________ R-announce at stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-announce