The byte pixies have rolled up R-2.14.0.tar.gz (codename "Great Pumpkin") at 9:00 this morning. This is a development release with several new features; see the list below for details. You can get it from http://cran.r-project.org/src/base/R-2/R-2.14.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) = cbf6da8f886ccd8d0dda0cc7ffd1b8ec MD5 (COPYING) = eb723b61539feef013de476e68b5c50a MD5 (COPYING.LIB) = a6f89e2100d9b6cdffcea4f398e37343 MD5 (FAQ) = 7d14b4be550f30d8a73a830ab272e4f4 MD5 (INSTALL) = 70447ae7f2c35233d3065b004aa4f331 MD5 (NEWS) = 98ef8b3497d12fd43b56d3732c34f9cc MD5 (NEWS.html) = 3ec485820148d22864b9b7990347bf2c MD5 (ONEWS) = 0c3e10eef74439786e5fceddd06dac71 MD5 (OONEWS) = b0d650eba25fc5664980528c147a20db MD5 (R-latest.tar.gz) = 98cf8fe74e512e1061caf1ee0c2043a8 MD5 (README) = 296871fcf14f49787910c57b92655c76 MD5 (RESOURCES) = 020479f381d5f9038dcb18708997f5da MD5 (THANKS) = 159efc7bd4ae7b23dda07c1d431657bc MD5 (R-2/R-2.14.0.tar.gz) = 98cf8fe74e512e1061caf1ee0c2043a8 This is the relevant part of the NEWS file: CHANGES IN R VERSION 2.14.0: SIGNIFICANT USER-VISIBLE CHANGES: o 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 R (but previously-installed data-only packages without R code can still be used). o The yLineBias of the X11() and windows() 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 quartz() and pdf(). (Wish of PR#14538.) There is a new graphics parameter "ylbias" which allows the y-line bias of the graphics device to be tweaked, including to reproduce output from earlier versions of R. o Labeling of the p-values in various anova tables has been rationalized to be either "Pr(>F)" or "Pr(>Chi)" (i.e. the "Pr(F)", "Pr(Chi)" and "P(>|Chi|)" variants have been eliminated). Code which extracts the p value _via_ indexing by name may need adjustment. o :: 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 R). o There is a new package parallel. It incorporates (slightly revised) copies of packages multicore and snow (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 parallel, and links explicitly to multicore or snow on help pages). It also contains support for multiple RNG streams following L'Ecuyer _et al_ (2002), with support for both mclapply and snow clusters. This replaces functions like clusterSetupRNG() from snow (which are not in parallel). The version released for R 2.14.0 contains base functionality: higher-level convenience functions are planned (and some are already available in the 'R-devel' version of R). o Building PDF manuals (for R itself or packages, e.g. _via_ R CMD check) by default requires the LaTeX package inconsolata: see the section on 'Making the manuals' in the 'R Installation and Administration Manual'. o axTicks(*, log=TRUE) has changed in some cases to satisfy the documented behavior and be consistent. NEW FEATURES: o txtProgressBar() can write to an open connection instead of the console. o Non-portable package names ending in . are no longer allowed. Nor are single-character package names (R was already disallowed). o regexpr() and gregexpr() with perl = TRUE allows Python-style named captures. (Wish and contribution of PR#14518.) o 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 PR#14537.) o sunflowerplot() now has a formula interface. (Wish of PR#14541.) o iconv() has a new argument toRaw to handle encodings such as UTF-16 with embedded nuls (as was possible before the CHARSXP cache was introduced). It will also accept as input the type of list generated with toRaw = TRUE. o Garbage-collecting an unused input text connection no longer gives a warning (since it 'connects' to nothing outside R). o read.table() and scan() have gained a text argument, to allow reading data from a (possibly literal) character string. o optim(*, method = .) now allows method = "Brent" as an interface to optimize(), for use in cases such as mle() where optim() is used internally. o mosaicplot() gains a border argument. (Wish of PR#14550.) o smooth.spline() gains a tol argument which controls how different x 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 PR#14452.) o gl() runs faster by avoiding calling factor(). o The print() method for object.size() accepts B as well as b as an abbreviation for 'bytes'. o unlink() gains a force argument to work like rm -f and if possible override restrictive permissions. o pbirthday() and qbirthday() now use exact calculations for coincident = 2. o unzip() and unz() connections have been updated with support for more recent Zip64 features (including large file sizes and bzip2 compression, but not UTF-8 file names). unzip() has a new option to restore file times from those recorded (in an unknown timezone) in the zip file. o update.packages() now accepts a character vector of package names for the oldPkgs argument. (Suggestion of Tal Galili.) o The special reference class fields .self and .refClassDef are now read-only to prevent corrupting the object. o decompose() now returns the original series as part of its value, so it can be used (rather than reconstructed) when plotting. (Suggestion of Rob Hyndman.) o Rao's efficient score test has been implemented for glm objects. Specifically, the add1, drop1, and anova methods now allow test "Rao". o If a saved workspace (e.g. .RData) contains objects that cannot be loaded, R will now start with an warning message and an empty workspace, rather than failing to start. o strptime() now accepts times such as 24:00 for midnight at the end of the day, for although these are disallowed by POSIX 1003.1-2008, ISO 8601:2004 allows them. o Assignment of names() to S4 objects now checks for a corresponding "names" slot, and generates a warning or an error if that slot is not defined. See the section on slots in ?Classes. o The default methods for is.finite(), is.infinite() and is.nan() now signal an error if their argument is not an atomic vector. o The formula method for plot() no longer places package stats on the search path (it loads the namespace instead). o There now is a genuine "function" method for plot() rather than the generic dispatching internally to graphics::plot.function(). It is now exported, so can be called directly as plot.function(). o The one-sided ks.test() allows exact = TRUE 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). o The behaviour of curve(add = FALSE) has changed: it now no longer takes the default x limits from the previous plot (if any): rather they default to c(0, 1) just as the "function" method for plot(). To get the previous behaviour use curve(add = NA), which also takes the default for log-scaling of the x-axis from the previous plot. o Both curve() and the plot() method for functions have a new argument xname to facilitate plots such as sin(t) _vs_ t. o The local argument to source() can specify an environment as well as TRUE (parent.env()) and FALSE (.GlobalEnv). It gives better error messages for other values, such as NA. o vcov() gains methods for classes "summary.lm" and "summary.glm". o The plot() method for class "profile.nls" gains ylab and lty arguments, and passes ... on to plot.default. o Character-string arguments such as the mode argument of vector(), as.vector() and is.vector() and the description argument of file() are required to be of length exactly one, rather than any further elements being silently discarded. This helps catch incorrect usage in programming. o The length argument of vector() and its wrappers such as numeric() is required to be of length exactly one (other values are now an error rather than giving a warning as previously). o vector(len) and length(x) <- len no longer acccept TRUE/FALSE for len (not that they were ever documented to, but there was special-casing in the C code). o There is a new function Sys.setFileTime() to set the time of a file (including a directory). See its help for exactly which times it sets on various OSes. o The file times reported by file.info() are reported to sub-second resolution on systems which support it. (Currently the POSIX 2008 and FreeBSD/Darwin/NetBSD methods are detected.) o New function getCall(m) as an abstraction for m$call, enabling update()'s default method to apply more universally. (NB: this can be masked by existing functions in packages.) o Sys.info() gains a euser component to report the 'effective' user on OSes which have that concept. o The result returned by try() now contains the original error condition object as the "condition" attribute. o All packages with R code are lazy-loaded irrespective of the LazyLoad field in the DESCRIPTION file. A warning is given if the LazyLoad field is overridden. o Rd markup has a new \figure tag so that figures can be included in help pages when converted to HTML or LaTeX. There are examples on the help pages for par() and points(). o The built-in httpd server now allows access to files in the session temporary directory tempdir(), addressed as the /session directory on the httpd server. o Development versions of R are no longer referred to by the number under which they might be released, e.g. in the startup banner, R --version and sessionUtils(). The correct way to refer to a development version of R is 'R-devel', preferably with the date and SVN version number. E.g. R-devel (2011-07-04 r56266) o There is a new function texi2pdf() in package tools, currently a convenience wrapper for texi2dvi(pdf = TRUE). o There are two new options for typesetting PDF manuals from Rd files. These are beramono and inconsolata, and used the named font for monospaced output. They are intended to be used in combination with times, and times,inconsolata,hyper is now the default for the reference manual and package manuals. If you do not have that font installed, you can set R_RD4PF to one of the other options: see the 'R Installation and Administration Manual'. o Automatic printing for reference classes is now done by the $show() method. A method is defined for class envRefClass and may be overriden for user classes (see the ?ReferenceClasses example). S4 show() methods should no longer be needed for reference classes. o tools::Rdiff (by default) and R CMD Rdiff now ignore differences in pointer values when comparing printed environments, compiled byte code, etc. o The "source" attribute on functions created with keep.source=TRUE has been replaced with a "srcref" attribute. The "srcref" attribute references an in-memory copy of the source file using the "srcfilecopy" class or the new "srcfilealias" class. o New items User Manuals and Technical Papers 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. o Documentation and messages have been standardized to use "namespace" rather than "name space". o setGeneric() 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.) o Setting the environment variable _R_WARN_ON_LOCKED_BINDINGS_ will give a warning if an attempt is made to change a locked binding. o \SweaveInput is now supported when generating concordances in Sweave(). o findLineNum() and setBreakpoint() now allow the environment to be specified indirectly; the latter gains a clear argument to allow it to call untrace(). o The body of a closure can be one of further types of R objects, including enviroments and external pointers. o The Rd2HTML() function in package tools now has a stylesheet argument, allowing pages to be displayed in alternate formats. o New function requireNamespace() analogous to require(), returning a logical value after attempting to load a namespace. o There is a new type of RNG, "L'Ecuyer-CMRG", implementing L'Ecuyer (1999)'s 'combined multiple-recursive generator' MRG32k3a. See the comments on ?RNG. o help.search() and ?? can now display vignettes and demos as well as help pages. The new option "help.search.types" controls the types of documentation and the order of their display. This also applies to HTML searches, which now give results in all of help pages, vignettes and demos. o socketConnection() now has a timeout argument. It is now documented that large values (package snow used a year) do not work on some OSes. o The initialization of the random-number generator now uses the process ID as well as the current time, just in case two R 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). o New function pskill() in the tools package to send a terminate signal to one or more processes, plus constants such as SIGTERM to provide a portable way to refer to signals (since the numeric values are OS-dependent). o New function psnice() in the tools package to return or change the 'niceness' of a process. (Refers to the 'priority class' on Windows.) o list.dirs() gains a recursive argument. o An Authors at R field in a package DESCRIPTION file can now be used to generate Author and Maintainer fields if needed, and to auto-generate package citations. o New utility getElement() for accessing either a list component or a slot in an S4 object. o stars() gains a col.lines argument, thanks to Dustin Sallings. (Wish of PR#14657.) o New function regmatches() for extracting or replacing matched or non-matched substrings from match data obtained by regexpr(), gregexpr() and regexec(). o help(package = "pkg_name", help_type = "HTML") now gives HTML help on the package rather than text help. (This gives direct access to the HTML version of the package manual shown _via_ help.start()'s 'Packages' menu.) o agrep() gains a fixed argument to optionally allow approximate regular expression matching, and a costs argument to specify possibly different integer match costs for insertions, deletions and substitutions. o read.dcf() and write.dcf() gain a keep.white argument to indicate fields where whitespace should be kept as is. o available.packages() now works around servers that fail to return an error code when PACKAGES.gz does not exist. (Patch submitted by Seth Schommer.) o readBin() can now read more than 2^31 - 1 bytes in a single call (the previously documented limitation). o New function regexec() for finding the positions of matches as well as all substrings corresponding to parenthesized subexpressions of the given regular expression. o New function adist() in package utils for computing 'edit' (generalized Levenshtein) distances between strings. o Class "raster" gains an is.na method to avoid confusion from the misuse of the matrix method (such as PR#14618). o The identical() function gains an ignore.bytecode argument to control comparison of compiled functions. o pmin and pmax now warn if an argument is partially recycled (wish of PR#14638). o The default for image(useRaster=) is now taken from option "preferRaster": for the small print see ?image. o str() now displays reference class objects and their fields, rather than treating them as classical S4 classes. o New function aregexec() in package utils for finding the positions of approximate string matches as well as all substrings corresponding to parenthesized subexpressions of the given regular expression. o download.file() has an extra argument to pass additional command-line options to the non-default methods using command-line utilities. cacheOK = FALSE is now supported for method = "curl". o interaction.plot(*, type = .) now also allows type "o" or "c". o axTicks(*, log=TRUE) did sometimes give more values than the ticks in the corresponding graphics::axis(). By default, it now makes use of the new (graphics-package independent) axisTicks() which can make use of a new utility .axisPars(). Further, it now returns a decreasing sequence (as for log=FALSE) when usr is decreasing. o Using fix() or edit() on a R object (except perhaps a matrix or data frame) writes its temporary file with extension .R so editors which select their mode based on the extension will select a suitable mode. GRAPHICS DEVICES: o The pdf() device makes use of Flate compression: this is controlled by the new logical argument compress, and is enabled by default. o Devices svg(), cairo_pdf() and cairo_ps() gain a family argument. On a Unix-alike X11() gains a family argument. This is one of the x11.options() and so can be passed as an argument to the bmp(), jpeg(), png() and tiff() devices. Analogous changes have been made on Windows, so all built-in R graphics devices now have a family argument except pictex() (which has no means to change fonts). o The bmp(), jpeg(), png() and tiff() devices now make use of the antialias argument for type = "quartz". o There are several new built-in font mappings for X11(type "Xlib"): see the help on X11Fonts(). o There is a new type X11(type = "dbcairo") which updates the screeen less frequently: see its help page. o The X11() 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.) o New functions dev.hold() and dev.flush() for use with graphics devices with buffering. These are used for most of the high-level graphics functions such as boxplot(), so that the plot is only displayed when the page is complete. Currently implemented for windows(buffered = TRUE), quartz() and the cairographics-based X11() types with buffering (which are the default on-screen devices). o New function dev.capture() for capture of bitmap snapshots of image-based devices (a superset of the functionality provided by grid.cap() in grid). o The default colormodel for pdf() and postscript() is now called "srgb" to more accurately describe it. (Instead of "rgb", and in the case of postscript() it no longer switches to and from the gray colorspace, by default.) The colormodel for postscript() which does use both gray and sRGB colorspaces is now called "srgb+gray". Plots which are known to use only black/white/transparent can advantageously use colormodel = "gray" (just as before, but there is now slightly more advantage in doing so). o postscript() with values colormodel = "rgb" and colormodel "rgb-nogray" give the behaviour prior to R 2.13.0 of uncalibrated RGB, which under some circumstances can be rendered much faster by a viewer. pdf(colormodel = "rgb") gives the behaviour prior to R 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). o The postscript() device only includes the definition of the sRGB colorspace in the output file for the colormodels which use it. o The postscript() and pdf() devices now output greyscale raster images (and not RGB) when colormodel = "gray". o postscript(colormodel = "gray") now accepts non-grey colours and uses their luminance (as pdf() long has). o colormodel = "grey" is allowed as an alternative name for postscript() and pdf(). o pdf() in the default sRGB colorspace outputs many fewer changes of colorspace, which may speed up rendering in some viewing applications. o There is a new function dev.capabilities() 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. o For pdf(), maxRasters is increased as needed so the argument is no longer used. SWEAVE & VIGNETTES: o Options keep.source = TRUE, figs.only = FALSE are now the default. o 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. o The allowed values of logical options are now precisely those allowed for character inputs to as.logical(): this means that t and f are no longer allowed (although T and F still are). o The preferred location for vignette sources is now the directory vignettes and not inst/doc: R CMD build will now re-build vignettes in directory vignettes and copy the .Rnw (etc) files and the corresponding PDFs to inst/doc. Further files to be copied to inst/doc can be specified _via_ the file vignettes/.install_extras. o R CMD Sweave now supports a --driver option to select the Sweave driver: the default is equivalent to --driver=RweaveLatex. o R CMD Sweave and R CMD Stangle support options --encoding and --options. o The Rtangle() driver allows output = "stdout" or output "stderr" to select the output or message connection. This is convenient for scripting using something like R CMD Stangle --options='output="stdout"' foo.Rnw > foo2.R o There is a new option pdf.compress controlling whether PDF figures are generated using Flate compression (they are by default). o R CMD Sweave now has a --pdf option to produce a PDF version of the processed Sweave document. o It is no longer allowed to have two vignettes with the same vignette basename (e.g. vig.Rnw and vig.Snw). (Previously one vignette hid the other in the vignette() function.) C-LEVEL FACILITIES: o Function R_tmpnam2 has been added to the API to allow a temporary filename to include a specified extension. PACKAGE INSTALLATION: o Package DESCRIPTION file field KeepSource forces the package to be installed with keep.source = TRUE (or FALSE). (Suggestion of Greg Snow. Note that as all packages are lazy-loaded, this is now only relevant at installation.) There are corresponding options --with-keep.source and --without-keep.source for R CMD INSTALL. o R CMD INSTALL has a new option --byte-compile 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 ByteCompile in the DESCRIPTION file. o A package R code but without a NAMESPACE file will have a default one created at R CMD build or R CMD INSTALL time, so all packages will be installed with namespaces. A consequence of this is that .First.lib() functions need to be copied to .onLoad() (usually) or .onAttach(). For the time being, if there is an auto-generated NAMESPACE file and no .onLoad() nor .onAttach() function is found but .First.lib() 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). o 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 _pro tem_ some exceptions to the warning.) o A dependency on SVN revision is allowed for R, e.g. R (> r56550). This should be used in conjunction with a version number, e.g. R (>= 2.14.0), R (>= r56550) to distinguish beteen R-patched and R-devel versions with the same SVN revision. o installed.packages() now hashes the names of its cache files to avoid very rare problems with excessively long path names. (PR#14669) o A top-level COPYING file in a package is no longer installed (file names LICENSE or LICENCE having long been preferred). UTILITIES: o R CMD check now gives an error if the R code in a vignette fails to run, unless this is caused by a missing package. o R CMD check now unpacks tarballs in the same way as R CMD INSTALL, including making use of the environment variable R_INSTALL_TAR to override the default behaviour. o R CMD check 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. o R CMD check now also checks compiled code for symbols corresponding to functions which might terminate R or write to stdout/stderr instead of the console. o R CMD check now uses a pdf() device when checking examples (rather than postscript()). o R CMD check now checks line-endings of makefiles and C/C++/Fortran sources in subdirectories of src as well as in src itself. o R CMD check 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 \method markup. In the other rare cases the recommended form is to use a function such as coefHclust which would not get confused with a method, document that and register it in the NAMESPACE file by s3method(coef, hclust, coefHclust). o The default for the environment variable _R_CHECK_COMPACT_DATA2_ is now true: thus if using the newer forms of compression introduced in R 2.10.0 would be beneficial is now checked (by default). o Reference output for a vignette can be supplied when checking a package by R CMD check: see 'Writing R Extensions'. o R CMD Rd2dvi allows the use of LaTeX package inputenx rather than inputenc: the value of the environment variable RD2DVI_INPUTENC is used. (LaTeX package inputenx is an optional install which provides greater coverage of the UTF-8 encoding.) o Rscript on a Unix-alike now accepts file names containing spaces (provided these are escaped or quoted in the shell). o R CMD build 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 R 2.13.0.) DEPRECATED AND DEFUNCT: o require() no longer has a save argument. o The gamma argument to hsv(), rainbow(), and rgb2hsv() has been removed. o The --no-docs option for R CMD build --binary is defunct: use --install-args instead. o The option --unsafe to R CMD INSTALL is defunct: use the identical option --no-lock instead. o The entry point pythag formerly in Rmath.h is defunct: use instead the C99 function hypot. o R CMD build --binary is formally defunct: R CMD INSTALL --build has long been the preferred alternative. o zip.file.extract() is now defunct: use unzip() or unz() instead. o R CMD Rd2dvi without the --pdf 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 R CMD Rd2pdf will be available. o Options such as --max-nsize and the function mem.limits() are now deprecated: these limits are nowadays almost never used, and are reported by gc() when they are in use. o Forms like binomial(link = "link") for GLM families deprecated since R 2.4.0 are now defunct. o The declarativeOnly argument to loadNamespace() (not relevant since R 2.13.0) has been removed. o Use of library.dynam() 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.) Use of chname in library.dynam() with the extension .so or .dll (which is clearly not allowed according to the help page) is deprecated. This also applies to library.dynam.unload() and useDynLib directives in NAMESPACE files. o It is deprecated to use mean(x) and sd(x) directly on data frames (or also matrices, for sd) x, instead of simply using sapply. In the same spirit, median(x) now gives an error for a data frame x (it often gave nonsensical results). o The keep.source argument to library() and require() is deprecated: it was only used for packages installed without lazy-loading, and now all packages are lazy-loaded. o Using a false value for the DESCRIPTION field LazyLoad is deprecated. INSTALLATION: o The base and recommended packages are now byte-compiled (equivalent to make bytecode in R 2.13.x). o Configure option --with-system-zlib now only makes use of the basic interface of zlib and not the C function gzseek which has shown erroneous behaviour in zlib 1.2.4 and 1.2.5. o The zlib 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.) o The .afm files in package grDevices are now installed as compressed files (as long done on Windows), saving ca 2MB on the installed size. o 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 --without-x.) o Configure will try to use -fobjc-exceptions 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.) o The system call times is required. o The C99 functions acosh, asinh, atanh, snprintf and vsnprintf are now required. o There is no longer support for making DVI manuals _via_ make dvi, make install-dvi and similar. Only PDF manuals are supported (to allow the use of fonts which are only available for PDF.) o The configure arguments used during configuration of R are included as a comment in Makeconf 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. o Framework installation now supports DESTDIR (Mac OS X only). o Java detection (R CMD javareconf) works around bogus java.library.path property in recent Oracle Java binaries. BUG FIXES: o The locale category LC_MONETARY was only being set on startup on Windows: that is now done on Unix-alikes where supported. o 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. o The formula methods for lines(), points() and text() now work even if package stats is not on the search path. o 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 className() and multipleClasses() are related tools for programming. o Work around an issue in Linux (a system select call resetting tv) which prevented internet operations from timing out properly. o Several stack trampling and overflow issues have been fixed in TRE, triggered by agrep and friends with long patterns. (PR#14627.) o ("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. o The methods objects constructed for "coerce" and "coerce<-" were lacking some essential information in the generic, defined and target slots; as() did not handle duplicate class definitions correctly. o The parser no longer accepts the digit 8 in an octal character code in a string, nor does it accept unterminated strings in a file. (Reported by Bill Dunlap.) o The print() method for class "summary.aov" did not pass on argument digits when summary() was called on a single object, and hence used more digits than documented. o The X11() device's cairo back-end produced incorrect capture snapshot images on big-endian machines. o loglin() gave a spurious error when argument margin consisted of a single element of length one. (PR#14690) o loess() is better protected against misuse, e.g. zero-length span. (PR#14691) o HoltWinters() checks that the optimization succeeded. (PR#14694) o 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. o round(x, -Inf) now does something sensible (return zero rather than NA). o signif(x, -Inf) now behaves as documented (signif(x, 1)) rather than giving zero. o The "table" method for Axis() hardcoded side = 1, hence calls to plot(<vector>, <table>) labelled the wrong axis. (PR#14699) o Creating a connection might fail under gctorture(TRUE). o stack() and unstack() converted character columns to factors. unstack() sometimes produced incorrect results (a list or a vector) if the factor on which to un-split had only one level. o On some systems help(".C", help_type = "pdf") and similar generated file names that TeX was unable to handle. o Non-blocking listening socket connections continued to report isIncomplete() as true even when the peer had closed down and all available input had been read. o 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. o A late change in R 2.13.2 broke \Sexpr expressions in Rd files. o The creation of ticks on log axes (including axTicks() sometimes incorrectly omitted a tick at one end o The creation of ticks on log axes (including by axTicks()) 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 axTicks(), where with axis limits c(0.2, 88) the tick for 0.2 was sometimes omitted. o qgamma() for small shape underflows to 0 rather than sometimes giving NaN. (PR#8528, PR#14710) o mapply() now gives an explicit error message (rather than an obscure one) is inputs of zero and positive length are mixed. o Setting a Hershey font family followed by string height query would crash R. o R CMD javareconf -e would fail for some shells due to a shift error. Also the resulting paths will no longer contain $(JAVA_HOME) as that can result in an unintended substitution based on Makeconf instead of the shell setting. -- 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 r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-announce