This blog is updated daily.
A general description is here.
S3 classes that are registered by a call to setOldClass() now have the S3 class as a special slot, and therefore so do any S4 classes that contain them. This mechanism is used to support S4 classes that extend S3 classes, to the extent possible. See ?Classes, ?setOldClass, and ?S3Class.
The treatment of special pseudo-classes "matrix", "array", and "ts" as S4 classes has also been modified to be more consistent and, within limitations imposed by special treatment of these objects in the base code, to allow other classes to contain them. See class?ts.
A general feature added to implement "ts" and also "data.frame" as S4 classes is that an S4 class definition can be supplied to setOldClass() when the S3 class has known attributes of known class.
setOldClass() now saves all the S3 inheritance, allowing the calls to be built up in stages, rather than including all the S3 classes in each call. Also allows as(x,"S3") to generate valid S3 inheritance from the stored definition. See ?S3.
S4 methods may now be defined corresponding to "...", by creating a generic function that has "..." as its signature. A method will be selected and called if all the arguments matching "..." are from this class or a subclass. See ?dotsMethods.
New functions S3Part() and S3Class() provide access to the corresponding S3 object and class for S4 classes that extend either an S3 class or a basic R object type.
show(<class definition>) now also shows the class name.
var(), cov(), cor(), sd() etc now by default (when 'use' is not specified) return NA in many cases where they signalled an error before.
S3 classes that are registered by a call to setOldClass() now
have the S3 class as a special slot, and therefore so do
any S4 classes that contain them. This mechanism is used to
support S4 classes that extend S3 classes, to the extent
possible. See ?Classes, ?setOldClass, and ?S3Class.
The treatment of special pseudo-classes "matrix", "array", and "ts" as S4 classes has also been modified to be more consistent and, within limitations imposed by special treatment of these objects in the base code, to allow other classes to contain them. See class?ts.
A general feature added to implement "ts" and also "data.frame" as S4 classes is that an S4 class definition can be supplied to setOldClass() when the S3 class has known attributes of known class.
setOldClass() now saves all the S3 inheritance, allowing the calls to be built up in stages, rather than including all the S3 classes in each call. Also allows as(x,"S3") to generate valid S3 inheritance from the stored definition. See ?S3.
S4 methods may now be defined corresponding to "...", by
creating a generic function that has "..." as its signature.
A method will be selected and called if all the arguments
matching "..." are from this class or a subclass. See ?dotsMethods.
show(<class definition>) now also shows the class name.
Different viewers were rendering consecutive text() calls on a
pdf() device in different ways where translucency was
involved. The PDF generated has been changed to force each
call to be rendered separately (which is the way xpdf or
ghostscript was rendering, but Acrobat was forming a
transparency group), which is consistent with other graphics
devices supporting semi-transparency.
New functions S3Part() and S3Class() provide access to the
corresponding S3 object and class for S4 classes that extend
either an S3 class or a basic R object type.
PROTECT and UNPROTECT macros now work even with R_NO_REMAP
quantile.default() allows 'probs' to stray just beyond [0, 1], to allow for computed values.
Experimental setTimeLimit() function to set limits on the CPU and/or elapsed time for each top-level computation, and setSessionLimit() to set limits for the rest of the session.
pdf() has new arguments 'useDingbats' (set this to FALSE for use with broken viewers) and 'colormodel'. It now only references the ZapfDingbats font if it is used (for small opaque circles).
The default PDF version is now 1.4, since viewers that do not accept that are now rare.
Different viewers were rendering consecutive text() calls on a pdf() device in different ways where translucency was involved. The PDF generated has been changed to force each call to be rendered separately (which is the way xpdf or ghostscript was rendering, but Acrobat was forming a transparency group), which is consistent with other graphics devices supporting semi-transparency.
abbreviate() gains an optional argument 'strict' allowing cheap and fast strict abbrevation.
rug() now uses axis()'s new arguments in 2.7.2 are now used by rug(), whichfrom 2.7.2, hence no longer draws an axis line.
system.time() now uses lazy evaluation rather than eval/substitute, which results in more natural scoping. (PR#11169)
Sweave() now writes concordance information inside a \Sconcordance LaTeX macro, which allows it to be inserted into PDF output.
It is now possible to create and open a text-mode gzfile() connection by explicitly using e.g. open="rt".
nNew help.request() function for compiling an e-mail to R-help according to "the rules". It is built on the new utility, create.post() on which also bug.report() is based now; both thanks to a contribution by Heather Turner.
methods::allGenerics(), getMethodsMetaData() are is deprecated.
PROTECT and UNPROTECT macros now work even with R_NO_REMAP
pdf(family="Japan") [and other CIDfonts] no longer seg.faults when writing "western" text strings.