The R Project SVN R

Rev

Rev 31867 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

                Dear Emacs, please make this -*-Text-*- mode!
    **************************************************
    *                        *
    *          2.0 SERIES NEWS           *
    *                        *
    **************************************************


        CHANGES IN R VERSION 2.0.1


NEW FEATURES

    o   Platform equivalence in library() is tested by a new function
    testPlatformEquivalence() which ignores the 'vendor' field and
    can be customized by cognescenti.

    o   The assignment form of split() allows recycling of vectors 
    within the value list. In particular, things like 
        split(x, g) <- lapply(split(x, g), mean)
    now work


DOCUMENTATION

    o   Manual `Writing R Extensions' has new sections on writing
    portable packages and on writing new front-ends for R -- the
    latter will be more comprehensive in R 2.1.0 which has new
    public header files.


DEPRECATED & DEFUNCT

    o   The aqua module in MacOS X is deprecated.

    o   Capabilities "bzip2", "GNOME, "libz" and "PCRE" are deprecated.

    o   The GNOME GUI on Unix-alikes is deprecated as part of R;
    it will be available in another form as from R 2.1.0.

    o   The undocumented use of UseMethod() with no argument is now
    formally deprecated.


INSTALLATION CHANGES

    o   Building on Alpha OSF/1 no longer forces the C flag -std1,
    which appears to be no longer needed.  (PR#7257)

    o   The compiler flag -mieee-fp is no longer used on i386 Linux
    (these days it is only passed to the linker and was only
    invoked for compilation steps).

    o   -D__NO_MATH_INLINES is only used on older ix86 glibc-based
    systems which need it (tested at configure time).  This leads to
    small improvements in speed and accuracy on modern systems.

    o   If makeinfo >= 4.5 is not available, warnings are given that
    some of the HTML manuals will be missing, and the index page
    given by help.start() will link to CRAN versions of those manuals.

    o   Files aclocal.m4 and acinclude.m4 used in maintainer builds
    are not longer included in the distribution.


C-LEVEL FACILITIES

    o   It was not clear in 'Writing R Extensions' that some of the
    entry points in the 'Utilities' section were not declared in
    <R.h> (they were in <R_ext/Applic.h>).  Now all the entry
    points in that section are declared in <R_ext/Utils.h>,
    included by <R.h>.


BUG FIXES

    o   The grid.grab() function in package grid would throw an error
    if there were no viewports pushed (now returns NULL).

    o   model.frame.default() takes row names from the response
    variable if that has suitable names and there is no 'data'
    argument.  (This follows S but was not previously implemented
    in R.)

    o   write.table() was not respecting the 'dec' argument for complex
    numbers.

    o   write.table() printed a mixture of numeric and complex numbers
    as all complex.  (PR#7260)

    o   R CMD INSTALL failed with versioned installs on packages which
    save images (only).

    o   dlogis() gave NaN not 0 for large negative arguments.

    o   Importing from another namespace was broken for versioned
    installs, incorrectly reporting something like
    "package 'imported_from' does not have a name space".

    o   The GNOME interface under Linux/Unix was broken. (PR#7276)

    o   For the jpeg/png devices under Linux/Unix, under certain rare
    circumstances clipping needed to be cleared before starting a
    new page.  (PR#7270, which has been the case since the devices
    were introduced in 1.1.0.)

    o   First lattice plot (first grid.newpage() call) did not start
    a new page IF there had been a previous traditional graphics
    plot (on the same device).

    o   Using install.packages() to install the same package to more
    than one library gave an incorrect warning message.  (If there
    were two or more such packages it might give an error.)

    o   .packages(all.available=TRUE) returned packages with an invalid
    version field in their DESCRIPTION whereas .find.packages() and
    packageDescription() did not.  Now all do not.

    o   packageDescription() now correctly reports that a package does
    not exist, rather than that its DESCRIPTION file is 'missing
    or broken'.

    o   'make dist' from builddir != sourcedir was copying not linking
    recommended packages to *.tgz.

    o   Slots in prototype objects can inherit from locally defined
    classes (which were not being found correctly before).

    o   Several fixes to the behavior of as() when there are either
    coerce= or replace= methods supplied in a call to
    setIs(). Related fixes to setIs() to handle correctly previous
    methods, if there were any.

    o   splinefun(1[0], 1[0])(1) doesn't segfault anymore (PR#7290).
    spline() and splinefun() now also work with missing values by
    omiting them.

    o   ecdf() was failing on inputs containing NAs. (Part of PR#7292)

    o   tools:::.install_package_description was splitting the Built:
    field across lines on platforms with very long names.

    o   capabilities() was wrong for the Aqua GUI on MacOS X.

    o   Using Rprof() with a non-writable 'file' argument is now a 
    non-fatal error and does not abort R.

    o   binom.test() did not deparse its arguments early enough such
        that the reported data were ugly if x was a table.

    o   Systems based on glibc, including those using R's substitute for
    strptime, were handling strptime("2001", "%Y") incorrectly, in
    some cases crashing.  R's substitute code has been corrected
    (but problems may remain if glibc is used).  See the ?strptime
    for what should happen (which is system-specific).

    o   untrace() after trace() failed if package 'methods' was attached.
    (PR#7301)

    o   summary.stepfun() was reporting for n > 6 summaries of the
    knots and levels as the actual values.  Both print() and
    summary() methods called the constant values "step heights",
    although they were not the heights of the steps.

    o   is.na/is.nan() were giving spurious warnings if applied to a
    raw vector.

    o   is.atomic() gave incorrect result (false) for a raw vector.

    o   rank() and order() accepted raw and list inputs, but did not
    give a sensible answer (always 1:n).  Similarly, partial sorts
    of a raw vector were accepted but did nothing.

    o   require() without a version argument tried for an unversioned
    load of a package even though a versioned install was already
    loaded.  This often led to a message that a required package
    was being loaded when it was not actually being loaded.

    o   str(<S4.object>) made use of attributes() instead of slot(),
    and hence didn't properly print NULL slots.

    o   contrib.url() now handles URLs ending in '/' correctly.

    o   str() removed any class from externalptr objects.

    o   logLik() and hence AIC() failed or gave incorrect answers 
    on "lm" fits with na.action = na.exclude (and perhaps other 
    na.actions's except na.omit and na.fail).

    o   pmax() and pmin() sometimes used NAs in internal subassignments,
    and sometimes these failed.

    o   Subassigning an expression, e.g. expr[2] <- 1, could leave an
    invalid object and so cause a segfault. (PR#7326)

    o   download/install.packages() would misbehave if there was more
    than one version of a package in a repository.

    o   sort(partial=) silently ignored some other arguments: using
    'decreasing' or 'index.return' or supplying a factor are now
    errors.
    
    o   The ave() function had trouble if the grouping contained 
        unused levels. 
    
    o   read.fwf() got confused by skip > 0 and could infinite loop
    under some circumstances.  (PR#7350)

    o   upgrade(x, ask = FALSE) was broken for a "packageStatus" object.

    o   Class "raw" had been omitted from the list of basic classes in
    the "methods" package and so could not be used in S4 classes.

    o   Function getGroupMembers(), part of the definition of S4
    classes, had been promised for release 2.0, but slipped through.




    *********************************************************
    *                           *
    *   News of 1.x.y and 2.0.0 is in file `ONEWS'  *
    *   News of 1.0.0 and earlier is in file `OONEWS'   *
    *                           *
    *********************************************************