This blog is updated daily.
A general description is here.
‘cbind()’ and ‘rbind()’ could cause memory corruption when used on a combination of raw and logical/integer vectors.
If ‘trunc()’ was called on a ‘"POSIXlt"’ vector and the result was subsetted, all but the first element was converted to ‘NA’. (PR#14679)
The ‘print()’ method for class ‘"summary.aov"’ did not pass on arguments such as ‘signif.stars’ when ‘summary()’ was called on a single object. (PR#14684)
In rare cases ‘ks.test()’ could return a p-value very slightly less than 0 by rounding error. (PR#14671)
‘R CMD Sweave’ and ‘R CMD Stangle’ did not run.
The fix for PR#14583 caused inconsistent behaviour in other areas, e.g.
PR#14628, extra lines appearing in image displays, and uneven bases on
histograms PR#14632.
Opening large numbers of ‘windows()’ graphics devices could cause some
of them to fail to redraw (PR#14668).
‘R CMD Sweave’ and ‘R CMD Stangle’ did not run.
The fix for PR#14583 caused inconsistent behaviour in other areas, e.g. PR#14628, extra lines appearing in image displays, and uneven bases on histograms PR#14632.
Opening large numbers of ‘windows()’ graphics devices could cause some of them to fail to redraw (PR#14668).
‘mem.limits()’ now reports values larger than the maximum integer
(previously documented to be reported as ‘NA’), and allows larger
values to be set, including ‘Inf’ to remove the limit.
The ‘print()’ methods for classes ‘"Date"’, ‘"POSIXct"’ and ‘"POSIXlt"’
respect the option ‘"max.print"’ and so are much faster for very long
datetime vectors. (Suggestion of Yohan Chalabi.)
‘untar2()’ now works around errors generated with ‘tar’ files that use
more than the standard 6 digits for the checksum. (PR#14654)
‘install.packages()’ with ‘Ncpus > 1’ guards against simultaneous
installation of indirect dependencies as well as direct ones.
Sweave now knows about a few more Windows' encodings (including
‘cp1250’ and ‘cp1257’) and some ‘inputenx’ encodings such as ‘koi8-r’.
‘postscript(colormodel = "rgb-nogray")’ no longer sets the sRGB
colorspace for each colour and so some viewers may render its files
much faster than the default ‘colormodel ="rgb"’.
The default for ‘pdf(maxRasters=)’ has been increased from 64 to 1000.
‘readBin()’ now warns if ‘signed = FALSE’ is used inappropriately
(rather than being silently ignored).
It enforces the documented limit of 2^31-1 bytes in a single call.
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.
It is possible to build in ‘src/extra/xdr’ on more platforms. (Needed
since glibc 2.14 hides its RPC implementation.)
‘configure’ will find the Sun TI-RPC implementation of xdr (in
‘libtirpc’) provided its header files are in the search path: see the
‘R Installation and Administration Manual’.
Using a broad ‘exportPattern’ directive in a ‘NAMESPACE’ file is no
longer allowed to export internal objects such as ‘.onLoad’ and
‘.__S3MethodsTable__.’ .
These are also excluded from imports, along with ‘.First.lib’.
‘fisher.test()’ 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).
‘package.skeleton()’ will no longer dump S4 objects supplied directly
rather than in a code file. These cannot be restored correctly from
the dumped version.
Build-time expressions in help files did not have access to functions
in the package being built (with ‘R CMD build’).
Because ‘quote()’ did not mark its result as being in use, modification
of the result could in some circumstances modify the original call.
Plotting ‘pch = '.'’ now guarantees at least a one-pixel dot if ‘cex >
0’.
The very-rarely-used command-line option ‘--max-vsize’ was incorrectly
interpreted as a number of Vcells and not in bytes as documented.
(Spotted by Christophe Rhodes.)
The HTML generated by ‘Rd2HTML()’ comes closer to being standards
compliant.
‘filter(x, recursive = TRUE)’ gave incorrect results on a series
containing ‘NA’s. (Spotted by Bill Dunlap.)
Profiling ‘stats::mle()’ fits with a ‘fixed’ parameter was not
supported. (PR#14646)
‘retracemem()’ was still using positional matching. (PR#14650)
The ‘quantile’ method for ‘"ecdf"’ objects now works and is documented.
‘xtabs(~ .., ..., sparse=TRUE)’ now also works together with an
‘exclude = ..’ specification.
‘decompose()’ computed an incorrect seasonal component for time series
with odd frequencies.
The ‘pdf()’ device only includes the definition of the sRGB colorspace
in the output file for the ‘"rgb"’ colormodel (and not for ‘"gray"’ nor
‘"cmyk"’): this saves ca 9KB in the output file.
‘.hasSlot()’ wrongly gave ‘FALSE’ in some cases.
‘Sweave()’ with ‘keep.source=TRUE’ could generate spurious ‘NA’ lines
when a chunk reference appeared last in a code chunk.
‘\Sexpr[results=rd]’ in an ‘.Rd’ file now first tries
‘parse_Rd(fragment=FALSE)’ to allow Rd section-level macros to be
inserted.
‘mem.limits()’ now reports values larger than the maximum integer (previously documented to be reported as ‘NA’), and allows larger values to be set, including ‘Inf’ to remove the limit.
The ‘print()’ methods for classes ‘"Date"’, ‘"POSIXct"’ and ‘"POSIXlt"’ respect the option ‘"max.print"’ and so are much faster for very long datetime vectors. (Suggestion of Yohan Chalabi.)
‘untar2()’ now works around errors generated with ‘tar’ files that use more than the standard 6 digits for the checksum. (PR#14654)
‘install.packages()’ with ‘Ncpus > 1’ guards against simultaneous installation of indirect dependencies as well as direct ones.
Sweave now knows about a few more Windows' encodings (including ‘cp1250’ and ‘cp1257’) and some ‘inputenx’ encodings such as ‘koi8-r’.
‘postscript(colormodel = "rgb-nogray")’ no longer sets the sRGB colorspace for each colour and so some viewers may render its files much faster than the default ‘colormodel ="rgb"’.
The default for ‘pdf(maxRasters=)’ has been increased from 64 to 1000.
‘readBin()’ now warns if ‘signed = FALSE’ is used inappropriately (rather than being silently ignored).
It enforces the documented limit of 2^31-1 bytes in a single call.
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.
It is possible to build in ‘src/extra/xdr’ on more platforms. (Needed since glibc 2.14 hides its RPC implementation.)
‘configure’ will find the Sun TI-RPC implementation of xdr (in ‘libtirpc’) provided its header files are in the search path: see the ‘R Installation and Administration Manual’.
Using a broad ‘exportPattern’ directive in a ‘NAMESPACE’ file is no longer allowed to export internal objects such as ‘.onLoad’ and ‘.__S3MethodsTable__.’ .
These are also excluded from imports, along with ‘.First.lib’.
‘fisher.test()’ 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).
‘package.skeleton()’ will no longer dump S4 objects supplied directly rather than in a code file. These cannot be restored correctly from the dumped version.
Build-time expressions in help files did not have access to functions in the package being built (with ‘R CMD build’).
Because ‘quote()’ did not mark its result as being in use, modification of the result could in some circumstances modify the original call.
Plotting ‘pch = '.'’ now guarantees at least a one-pixel dot if ‘cex > 0’.
The very-rarely-used command-line option ‘--max-vsize’ was incorrectly interpreted as a number of Vcells and not in bytes as documented. (Spotted by Christophe Rhodes.)
The HTML generated by ‘Rd2HTML()’ comes closer to being standards compliant.
‘filter(x, recursive = TRUE)’ gave incorrect results on a series containing ‘NA’s. (Spotted by Bill Dunlap.)
Profiling ‘stats::mle()’ fits with a ‘fixed’ parameter was not supported. (PR#14646)
‘retracemem()’ was still using positional matching. (PR#14650)
The ‘quantile’ method for ‘"ecdf"’ objects now works and is documented.
‘xtabs(~ .., ..., sparse=TRUE)’ now also works together with an ‘exclude = ..’ specification.
‘decompose()’ computed an incorrect seasonal component for time series with odd frequencies.
The ‘pdf()’ device only includes the definition of the sRGB colorspace in the output file for the ‘"rgb"’ colormodel (and not for ‘"gray"’ nor ‘"cmyk"’): this saves ca 9KB in the output file.
‘.hasSlot()’ wrongly gave ‘FALSE’ in some cases.
‘Sweave()’ with ‘keep.source=TRUE’ could generate spurious ‘NA’ lines when a chunk reference appeared last in a code chunk.
‘\Sexpr[results=rd]’ in an ‘.Rd’ file now first tries ‘parse_Rd(fragment=FALSE)’ to allow Rd section-level macros to be inserted.
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.
‘\Sexpr[results=rd]’ in an ‘.Rd’ file now first tries ‘parse_Rd(fragment=FALSE)’ to allow Rd section-level macros to be inserted.
‘Sweave()’ with ‘keep.source=TRUE’ could generate spurious ‘NA’ lines when a chunk reference appeared last in a code chunk.
‘.hasSlot()’ wrongly gave ‘FALSE’ in some cases.
Opening large numbers of ‘windows()’ graphics devices could cause some of them to fail to redraw (PR#14668).
‘fisher.test()’ 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).
The ‘pdf()’ device only includes the definition of the sRGB colorspace in the output file for the ‘"rgb"’ colormodel (and not for ‘"gray"’ nor ‘"cmyk"’): this saves ca 9KB in the output file.
PCRE has been updated to version 8.13, a bug-fix release with updated Unicode tables (version 6.0.0).
‘untar2()’ now works around errors generated with ‘tar’ files that use more than the standard 6 digits for the checksum. (PR#14654)
‘install.packages()’ with ‘Ncpus > 1’ guards against simultaneous installation of indirect dependencies as well as direct ones.
The ‘pdf()’ device only includes the definition of the sRGB colorspace in the output file for the colormodels which use it (and not for ‘"gray"’ nor ‘"cmyk"’): this saves ca 9KB in the output file.
‘postscript()’ now gives an error if asked to output a raster image of
more than 21845 pixels (after interpolation), rather than producing a
file which cannot be viewed.
‘postscript()’ with an sRGB colormodel now uses sRGB for raster images (in R 2.13.[01] it used uncalibrated RGB).
There is no longer an undocumented 21845-pixel limit on raster images.
‘readBin()’ now warns if ‘signed = FALSE’ is used inappropriately (rather than being silently ignored).
It enforces the documented limit of 2^31-1 bytes in a single call.
‘postscript()’ now gives an error if asked to output a raster image of more than 21845 pixels (after interpolation), rather than producing a file which cannot be viewed.
The default for ‘pdf(maxRasters=)’ has been increased from 64 to 1000.
‘postscript(colormodel = "rgb-nogray")’ no longer sets the sRGB colorspace for each colour and so some viewers may render its files much faster than the default ‘colormodel ="rgb"’.
Using a broad ‘exportPattern’ directive in a ‘NAMESPACE’ file is no longer allowed to export internal objects such as ‘.onLoad’ and ‘.__S3MethodsTable__.’ .
These are also excluded from imports, along with ‘.First.lib’.
The ‘pdf()’ device only includes the definition of the sRGB colorspace in the output file for the colormodels which use it (and not for ‘"gray"’ nor ‘"cmyk"’).
Sweave now knows about a few more Windows' encodings (including ‘cp1250’ and ‘cp1257’) and some ‘inputenx’ encodings such as ‘koi8-r’.
‘decompose()’ computed an incorrect seasonal component for time series with odd frequencies.
‘install.packages()’ with ‘Ncpus > 1’ guards against simultaneous installation of indirect dependences as well as direct ones.
‘xtabs(~ .., ..., sparse=TRUE)’ now also works together with an ‘exclude = ..’ specification.
‘mem.limits()’ now reports values larger than the maximum integer (previously documented to be reported as ‘NA’), and allows larger values to be set, including ‘Inf’ to remove the limit.
The ‘print()’ methods for classes ‘"Date"’, ‘"POSIXct"’ and ‘"POSIXlt"’ respect the option ‘"max.print"’ and so are much faster for very long datetime vectors. (Suggestion of Yohan Chalabi.)
‘untar2()’ now works around checksums in ‘tar’ files that use more than 6 digits for the checksum. (PR#14654)
Using a broad ‘exportPattern’ directive in a ‘NAMESPACE’ file is no longer allowed to export internal objects such as ‘.onLoad’ and ‘.__S3MethodsTable__.’.
These are also excluded from imports, along with ‘.First.lib’.
‘mem.limits()’ now reports values larger than the maximum integer
(previously documented to be reported as ‘NA’), and allows larger
values to be set, including ‘Inf’ to remove the limit.
The ‘print()’ methods for classes ‘"Date"’, ‘"POSIXct"’ and ‘"POSIXlt"’
respect the option ‘"max.print"’ and so are much faster for very long
datetime vectors. (Suggestion of Yohan Chalabi.)
‘untar2()’ now works around incorrect checksums in tar files that use
more than 6 digits for the checksum. (PR#14654)
The ‘print()’ methods for classes ‘"Date"’, ‘"POSIXct"’ and ‘"POSIXlt"’ respect the option ‘"max.print"’ and so are much faster for very long datetime vectors. (Suggestion of Yohan Chalabi.)
‘untar2()’ now works around incorrect checksums in tar files that use more than 6 digits for the checksum. (PR#14654)
‘untar2’ now handles correctly checksums in tar files that use
(superfluously) more than 6 digits for the checksum. (PR#14654)
The ‘quantile’ method for ‘"ecdf"’ objects now works and is documented.
‘untar2’ now handles correctly checksums in tar files that use (superfluously) more than 6 digits for the checksum. (PR#14654)
‘filter(x, recursive = TRUE)’ gave incorrect results on a series containing ‘NA’s. (Spotted by Bill Dunlap.)
Profiling ‘stats::mle()’ fits with a ‘fixed’ parameter was not supported. (PR#14646)
‘retracemem()’ was still using positional matching. (PR#14650)
The HTML generated by ‘Rd2HTML()’ comes closer to being standards compliant.
‘splinefun(method = "monoH.FC")’ was not quite monotone in rare cases. (PR#14215)
‘mem.limits()’ now reports values larger than the maximum integer (previously documented to be reported as ‘NA’), and allows larger values to be set, including ‘Inf’ to remove the limit.
The very-rarely-used command-line option ‘--max-vsize’ was incorrectly interpreted as a number of Vcells and not in bytes as documented. (Spotted by Christophe Rhodes.)
‘configure’ will find the Sun TI-RPC implementation of xdr (in ‘libtirpc’) provided its header files are in the search path: see the ‘R Installation and Administration Manual’.
In a ‘.Rd’ file, ‘\code{''}’ was mis-converted to latex and rendered in
e.g. PDF as a double quote (a single character).
‘package.skeleton()’ will no longer dump S4 objects supplied directly rather than in a code file. These cannot be restored correctly from the dumped version.
Plotting ‘pch = '.'’ now guarantees at least a one-pixel dot if ‘cex > 0’.
‘findClasses’, ‘getGeneric’, ‘findMethods’ and ‘hasMethods’ are revised to deal consistently with the ‘package=’ argument and be consistent with soft namespace policy for finding objects.
The ‘experimental’ alternative specification of a namespace via ‘.Export()’ etc is now defunct.
The ‘experimental’ alternative specification of a namespace via ‘.Export()’ etc is now deprecated.
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 namespaces). By default ‘detach()’ prevents such dependencies from being detached: this can be overridden by the argument ‘force’.
S4 methods are uncached whenever the namespace containing them is unloaded (by ‘unloadNamespace()’ as well as by ‘detach(unload = TRUE))’.
‘help()’ has a new argument ‘help_type’ (with default set by the option of that name) to supersede arguments ‘offline’, ‘htmlhelp’ and ‘chmhelp’ (although for now they still work if ‘help_type’ is unset). There is a new type, ‘"PDF"’ to allow offline PDF (rather than PostScript).
A function ‘offline_help_helper()’ will be used if this exists in the workspace or further down the search path, otherwise the function of that name in the ‘utils’ namespace is used.
It is possible to build in ‘src/extra/xdr’ on more platforms. (Needed since glibc 2.14 hides its RPC implementation.)
The fix for PR#14583 caused inconsistent behaviour in other areas, e.g. PR#14628, extra lines appearing in image displays, and uneven bases on histograms PR#14632.
Plotting ‘pch='.'’ now guarantees at least a one-pixel dot if ‘cex > 0’.
‘R CMD Sweave’ and ‘R CMD Stangle’ did not run.
Sweave now knows about a few more Windows' encodings, including
‘cp1250’ and ‘cp1257’. (Belated user request.)
Sweave now knows about a few more Windows' encodings, including ‘cp1250’ and ‘cp1257’. (Belated user request.)
In a ‘.Rd’ file, ‘\code{''}’ was mis-converted to latex and rendered in e.g. PDF as a double quote (a single character).
In a a ‘.Rd’ file, ‘\code{''}’ was mis-converted to latex and rendered
in e.g. PDF as a double quote (a single character).
In a a ‘.Rd’ file, ‘\code{''}’ was mis-converted to latex and rendered in e.g. PDF as a double quote (a single character).
The off-line ‘help()’ types ‘"postscript"’ and ‘"ps"’ are deprecated.
Rd conversion to latex mis-handled multi-line titles (including cases where there was a blank line in the ‘\title’ section).
The windows() screen device would sometimes fail to plot (visibly) points with ‘pch="."’. PR#14583
Shutting down the R session cleaned up the temporary directory before closing all graphics devices. On Windows this necessitated changing the working directory, so some devices (e.g. ‘tiff()’) could write files in the wrong directory if closed during shutdown. The order has been reversed.
‘R CMD build’ no longer attempts to preserve file permissions on
Windows, because Windows (unlike POSIX-compliant OSes) stops read-only
files being deleted in version-control directories.
‘shell.exec()’ now interprets files relative to the current working
directory (rather than ‘R_HOME’).
‘file.info()’ now accepts ‘file’ names with trailing directory
separators, even though such names are invalid on Windows.
The ‘windows()’ family of devices now supports() per-pixel alpha for
raster images.
Launching the PDF manuals from the Rgui menus did not work on some
versions of Windows.
The windows() screen device would sometimes fail to plot points with
‘pch="."’. PR#14583
‘system()’ and related functions sometimes failed when run in ‘Rgui’.
Saving to PDF from the menu of a ‘windows()’ device used defaults for
‘family’, ‘fg’ and ‘bg’ from ‘ps.options()’ rather than ‘pdf.options()’
(but the factory-fresh defaults were the same).
Shutting down the R session cleaned up the temporary directory before
closing all graphics devices. On Windows this necessitated changing
the working directory, so some devices (e.g. ‘tiff()’) could write
files in the wrong directory in closed during shutdown. The order has
been reversed.
‘R CMD build’ no longer attempts to preserve file permissions on Windows, because Windows (unlike POSIX-compliant OSes) stops read-only files being deleted in version-control directories.
‘shell.exec()’ now interprets files relative to the current working directory (rather than ‘R_HOME’).
‘file.info()’ now accepts ‘file’ names with trailing directory separators, even though such names are invalid on Windows.
The ‘windows()’ family of devices now supports() per-pixel alpha for raster images.
Launching the PDF manuals from the Rgui menus did not work on some versions of Windows.
The windows() screen device would sometimes fail to plot points with ‘pch="."’. PR#14583
‘system()’ and related functions sometimes failed when run in ‘Rgui’.
Saving to PDF from the menu of a ‘windows()’ device used defaults for ‘family’, ‘fg’ and ‘bg’ from ‘ps.options()’ rather than ‘pdf.options()’ (but the factory-fresh defaults were the same).
Shutting down the R session cleaned up the temporary directory before closing all graphics devices. On Windows this necessitated changing the working directory, so some devices (e.g. ‘tiff()’) could write files in the wrong directory in closed during shutdown. The order has been reversed.
‘iconv()’ no longer translates ‘NA’ strings as ‘"NA"’.
‘persp(box = TRUE)’ 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). (PR#202.)
‘RShowDoc()’ can now display the licences shipped with R, e.g.
‘RShowDoc("GPL-3")’.
New wrapper function ‘showNonASCIIfile()’ in package ‘tools’.
‘nobs()’ now has a ‘"mle"’ method in package ‘stats4’.
‘trace()’ now deals correctly with S4 reference classes and
corresponding reference methods (e.g., ‘$trace()’) have been added.
‘xz’ has been updated to 5.0.3 (very minor bugfix release).
‘tools::compactPDF()’ gets more compression (usually a little,
sometimes a lot) by using the compressed object streams of PDF 1.5.
‘cairo_ps(onefile = TRUE)’ generates encapsulated EPS on platforms with
cairo >= 1.6.
Binary reads (e.g. by ‘readChar()’ and ‘readBin()’) are now supported
on clipboard connections. (Wish of PR#14593.)
‘as.POSIXlt.factor()’ now passes ‘...’ to the character method
(suggestion of Joshua Ulrich). [Intended for R 2.13.0 but accidentally
removed before release.]
‘vector()’ and its wrappers such as ‘integer()’ and ‘double()’ now warn
if called with a ‘length’ argument of more than one element. This
helps track down user errors such as calling ‘double(x)’ instead of
‘as.double(x)’.
Building the vignette PDFs in packages ‘grid’ and ‘utils’ is now part
of running ‘make’ from an SVN checkout on a Unix-alike: a separate
‘make vignettes’ step is no longer required.
These vignettes are now made with ‘keep.source = TRUE’ and hence will be laid out differently.
‘make install-strip’ failed under some configuration options.
Packages can customize non-standard installation of compiled code via a
‘src/install.libs.R’ script. This allows packages that have
architecture-specific binaries (beyond the package's shared
objects/DLLs) to be installed in a multi-architecture setting.
‘Sweave()’ and ‘Stangle()’ gain an ‘encoding’ argument to specify the
encoding of the vignette sources if the latter do not contain a
‘\usepackage[]{inputenc}’ statement specifying a single input encoding.
There is a new Sweave option ‘figs.only = TRUE’ 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 R 2.14.0.
Sweave custom graphics devices can have a custom function ‘foo.off()’
to shut them down.
Warnings are issued when non-portable filenames are found for graphics
files (and chunks if ‘split = TRUE’). Portable names are regarded as
alphanumeric plus hyphen, underscore, plus and hash (periods cause
problems with recognizing file extensions).
The ‘Rtangle()’ driver has a new option ‘show.line.nos’ 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 R >=
2.12.0).
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 ‘.R’ file.
No parts of R are now licensed solely under GPL-2. The licences for
packages ‘rpart’ and ‘survival’ have been changed, which means that the
licence terms for R as distributed are GPL-2 | GPL-3.
The internal functions ‘.readRDS()’ and ‘.saveRDS()’ are now deprecated
in favour of the public functions ‘readRDS()’ and ‘saveRDS()’
introduced in R 2.13.0.
Switching off lazy-loading of code _via_ the ‘LazyLoad’ field of the
‘DESCRIPTION’ file is now deprecated. In future all packages will be
lazy-loaded.
‘R CMD check’ on a multi-architecture installation now skips the user's
‘.Renviron’ file for the architecture-specific tests (which do read the
architecture-specific ‘Renviron.site’ files). This is consistent with
single-architecture checks, which use ‘--no-environ’.
‘R CMD build’ now looks for ‘DESCRIPTION’ fields ‘BuildResaveData’ and
‘BuildKeepEmpty’ for per-package overrides. See ‘Writing R
Extensions’.
‘plot.lm(which = 5)’ 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. (PR#14545)
‘mosaicplot()’ could clip the factor labels, and could overlap them
with the cells if a non-default value of ‘cex.axis’ was used. (Related
to PR#14550.)
‘dataframe[[row,col]]’ now dispatches on ‘[[’ methods for the selected
column (spotted by Bill Dunlap).
‘sort.int()’ would strip the class of an object, but leave its object
bit set. (Reported by Bill Dunlap.)
‘pbirthday()’ and ‘qbirthday()’ did not implement the algorithm exactly
as given in their reference and so were unnecessarily inaccurate.
‘pbirthday()’ now solves the approximate formula analytically rather than using ‘uniroot()’ on a discontinuous function.
The description of the problem was inaccurate: the probability is a tail probablity (‘2 _or more_ people share a birthday’)
Complex arithmetic sometimes warned incorrectly about producing NAs
when there were NaNs in the input.
‘seek(origin = "current")’ incorrectly reported it was not implemented
for a ‘gzfile()’ connection.
‘c()’, ‘unlist()’, ‘cbind()’ and ‘rbind()’ could silently overflow the
maximum vector length and cause a segfault. (PR#14571)
The ‘fonts’ argument to ‘X11(type = "Xlib")’ was being ignored.
Reading (e.g. with ‘readBin()’) from a raw connection was not advancing
the pointer, so successive reads would read the same value. (Spotted
by Bill Dunlap.)
Parsed text containing embedded newlines was printed incorrectly by
‘as.character.srcref()’. (Reported by Hadley Wickham.)
‘decompose()’ used with a series of a non-integer number of periods
returned a seasonal component shorter than the original series.
(Reported by Rob Hyndman.)
‘fields = list()’ failed for ‘setRefClass()’. (Reported by Michael
Lawrence.)
Reference classes could not redefine an inherited field which had class
‘"ANY"’. (Reported by Janko Thyson.)
Methods that override previously loaded versions will now be installed
and called. (Reported by Iago Mosqueira.)
‘addmargins()’ called ‘numeric(apos)’ rather than
‘numeric(length(apos))’.
The HTML help search sometimes produced bad links. (PR#14608)
Command completion will no longer be broken if ‘tail.default()’ is
redefined by the user. (Problem reported by Henrik Bengtsson.)
LaTeX rendering of markup in titles of help pages has been improved; in
particular, ‘\eqn{}’ may be used there.
‘isClass()’ used its own namespace as the default of the ‘where’
argument inadvertently.
‘iconv()’ no longer translates ‘NA’ strings as ‘"NA"’.
‘persp(box = TRUE)’ 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). (PR#202.)
‘RShowDoc()’ can now display the licences shipped with R, e.g. ‘RShowDoc("GPL-3")’.
New wrapper function ‘showNonASCIIfile()’ in package ‘tools’.
‘nobs()’ now has a ‘"mle"’ method in package ‘stats4’.
‘trace()’ now deals correctly with S4 reference classes and corresponding reference methods (e.g., ‘$trace()’) have been added.
‘xz’ has been updated to 5.0.3 (very minor bugfix release).
‘tools::compactPDF()’ gets more compression (usually a little, sometimes a lot) by using the compressed object streams of PDF 1.5.
‘cairo_ps(onefile = TRUE)’ generates encapsulated EPS on platforms with cairo >= 1.6.
Binary reads (e.g. by ‘readChar()’ and ‘readBin()’) are now supported on clipboard connections. (Wish of PR#14593.)
‘as.POSIXlt.factor()’ now passes ‘...’ to the character method (suggestion of Joshua Ulrich). [Intended for R 2.13.0 but accidentally removed before release.]
‘vector()’ and its wrappers such as ‘integer()’ and ‘double()’ now warn if called with a ‘length’ argument of more than one element. This helps track down user errors such as calling ‘double(x)’ instead of ‘as.double(x)’.
Building the vignette PDFs in packages ‘grid’ and ‘utils’ is now part of running ‘make’ from an SVN checkout on a Unix-alike: a separate ‘make vignettes’ step is no longer required.
These vignettes are now made with ‘keep.source = TRUE’ and hence will be laid out differently.
‘make install-strip’ failed under some configuration options.
Packages can customize non-standard installation of compiled code via a ‘src/install.libs.R’ script. This allows packages that have architecture-specific binaries (beyond the package's shared objects/DLLs) to be installed in a multi-architecture setting.
‘Sweave()’ and ‘Stangle()’ gain an ‘encoding’ argument to specify the encoding of the vignette sources if the latter do not contain a ‘\usepackage[]{inputenc}’ statement specifying a single input encoding.
There is a new Sweave option ‘figs.only = TRUE’ 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 R 2.14.0.
Sweave custom graphics devices can have a custom function ‘foo.off()’ to shut them down.
Warnings are issued when non-portable filenames are found for graphics files (and chunks if ‘split = TRUE’). Portable names are regarded as alphanumeric plus hyphen, underscore, plus and hash (periods cause problems with recognizing file extensions).
The ‘Rtangle()’ driver has a new option ‘show.line.nos’ 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 R >= 2.12.0).
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 ‘.R’ file.
No parts of R are now licensed solely under GPL-2. The licences for packages ‘rpart’ and ‘survival’ have been changed, which means that the licence terms for R as distributed are GPL-2 | GPL-3.
The internal functions ‘.readRDS()’ and ‘.saveRDS()’ are now deprecated in favour of the public functions ‘readRDS()’ and ‘saveRDS()’ introduced in R 2.13.0.
Switching off lazy-loading of code _via_ the ‘LazyLoad’ field of the ‘DESCRIPTION’ file is now deprecated. In future all packages will be lazy-loaded.
‘R CMD check’ on a multi-architecture installation now skips the user's ‘.Renviron’ file for the architecture-specific tests (which do read the architecture-specific ‘Renviron.site’ files). This is consistent with single-architecture checks, which use ‘--no-environ’.
‘R CMD build’ now looks for ‘DESCRIPTION’ fields ‘BuildResaveData’ and ‘BuildKeepEmpty’ for per-package overrides. See ‘Writing R Extensions’.
‘plot.lm(which = 5)’ 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. (PR#14545)
‘mosaicplot()’ could clip the factor labels, and could overlap them with the cells if a non-default value of ‘cex.axis’ was used. (Related to PR#14550.)
‘dataframe[[row,col]]’ now dispatches on ‘[[’ methods for the selected column (spotted by Bill Dunlap).
‘sort.int()’ would strip the class of an object, but leave its object bit set. (Reported by Bill Dunlap.)
‘pbirthday()’ and ‘qbirthday()’ did not implement the algorithm exactly as given in their reference and so were unnecessarily inaccurate.
‘pbirthday()’ now solves the approximate formula analytically rather than using ‘uniroot()’ on a discontinuous function.
The description of the problem was inaccurate: the probability is a tail probablity (‘2 _or more_ people share a birthday’)
Complex arithmetic sometimes warned incorrectly about producing NAs when there were NaNs in the input.
‘seek(origin = "current")’ incorrectly reported it was not implemented for a ‘gzfile()’ connection.
‘c()’, ‘unlist()’, ‘cbind()’ and ‘rbind()’ could silently overflow the maximum vector length and cause a segfault. (PR#14571)
The ‘fonts’ argument to ‘X11(type = "Xlib")’ was being ignored.
Reading (e.g. with ‘readBin()’) from a raw connection was not advancing the pointer, so successive reads would read the same value. (Spotted by Bill Dunlap.)
Parsed text containing embedded newlines was printed incorrectly by ‘as.character.srcref()’. (Reported by Hadley Wickham.)
‘decompose()’ used with a series of a non-integer number of periods returned a seasonal component shorter than the original series. (Reported by Rob Hyndman.)
‘fields = list()’ failed for ‘setRefClass()’. (Reported by Michael Lawrence.)
Reference classes could not redefine an inherited field which had class ‘"ANY"’. (Reported by Janko Thyson.)
Methods that override previously loaded versions will now be installed and called. (Reported by Iago Mosqueira.)
‘addmargins()’ called ‘numeric(apos)’ rather than ‘numeric(length(apos))’.
The HTML help search sometimes produced bad links. (PR#14608)
Command completion will no longer be broken if ‘tail.default()’ is redefined by the user. (Problem reported by Henrik Bengtsson.)
LaTeX rendering of markup in titles of help pages has been improved; in particular, ‘\eqn{}’ may be used there.
‘isClass()’ used its own namespace as the default of the ‘where’ argument inadvertently.
‘isClass()’ used its own namespace as the default of the ‘where’ argument inadvertently.
Switching off lazy-loading of code _via_ the ‘LazyLoad’ field of the ‘DESCRIPTION’ file is now deprecated. In future all packages will be lazy-loaded.
LaTeX rendering of markup in titles of help pages has been improved; in particular, ‘\eqn{}’ may be used there.
Command completion will no longer be broken if ‘tail.default()’ is redefined by the user. (Problem reported by Henrik Bengtsson.)
‘download.file()’ can be now used with external methods even if there are spaces in the URL or the target filename.
The HTML help search sometimes produced bad links. (PR#14608)
‘vector()’ and its wrappers such as ‘integer()’ and ‘double()’ now warn if called with a ‘length’ argument of more than one element. This helps track down user errors such as calling ‘double(x)’ instead of ‘as.double(x)’.
‘addmargins()’ called ‘numeric(apos)’ rather than ‘numeric(length(apos))’.
‘fields = list()’ failed for ‘setRefClass()’. (Reported by Michael Lawrence.)
‘findClasses’, ‘getGeneric’, ‘findMethods’ and ‘hasMethods’ are revised to deal consistently with the ‘package=’ argument and be consistent with soft name space policy for finding objects.
‘rstandard.glm()’ gains a ‘type’ argument which can be used to request standardized Pearson residuals.
‘.libPaths()’ calls ‘normalizePath(winslash = "/")’ on the paths: this helps (usually) to present them in a user-friendly form and should detect duplicate paths accessed via different symbolic links.
Packages can customize non-standard installation of compiled code via a ‘src/install.libs.R’ script. This allows packages that have architecture-specific binaries (beyond the package's shared objects/DLLs) to be installed in a multi-architecture setting.
Packages can customize non-standard installation of libraries via ‘install.libs.R’ script. This allows packages that have architecture-specific binaries beyond the package shared library to be installed in a multi-architecture setting.
Methods that override previously loaded versions will now be installed and called. (Reported by Iago Mosqueira.)
Reference classes could not redefine an inherited field which had class ‘"ANY"’. (Reported by Janko Thyson.)
‘fields =list()’ failed for ‘setRefClass()’. (Reported by Michael Lawrence.)
‘as.POSIXlt.factor()’ now passes ‘...’ to the character method (suggestion of Joshua Ulrich). [Intended for R 2.13.0 but accidentally removed before release.]
‘as.POSIXlt.factor()’ now passes ‘...’ to the character method
(suggestion of Joshua Ulrich).
Binary reads (e.g. by ‘readChar()’ and ‘readBin()’) are now supported on clipboard connections. (Wish of PR#14593.)
Parsed text containing embedded newlines was printed incorrectly by ‘as.character.srcref()’. (Reported by Hadley Wickham.)
‘xz’ has been updated to 5.0.3 (very minor bugfix release).
Saving to PDF from the menu of a ‘windows()’ device used defaults for
‘family’, ‘fg’ and ‘bg’ from ‘ps.options()’ rather than ‘pdf.options()’
(but the factory-fresh defaults were the same).
Shutting down the R session cleaned up the temporary directory before
closing all graphics devices. On Windows this necessitated changing
the working directory, so some devices (e.g. ‘tiff()’) could write
files in the wrong directory. The order has been reversed.
Saving to PDF from the menu of a ‘windows()’ device used defaults for ‘family’, ‘fg’ and ‘bg’ from ‘ps.options()’ rather than ‘pdf.options()’ (but the factory-fresh defaults were the same).
Shutting down the R session cleaned up the temporary directory before closing all graphics devices. On Windows this necessitated changing the working directory, so some devices (e.g. ‘tiff()’) could write files in the wrong directory in closed during shutdown. The order has been reversed.
‘R CMD check’ on a multi-architecture installation now skips the user's ‘.Renviron’ file for the architecture-specific tests (which do read the architecture-specific ‘Renviron.site’ files). This is consistent with single-architecture checks, which use ‘--no-environ’.
‘R CMD build’ now looks for ‘DESCRIPTION’ fields ‘BuildResaveData’ and ‘BuildKeepEmpty’ for per-package overrides. See ‘Writing R Extensions’.
‘R CMD check’ on a multi-architecture installation now skips the user's
‘.Renviron’ file for the architecture-specific tests (which do read the
architecture-specific ‘Renviron.site’ files). This is consistent with
single-architecture checks, which use ‘--no-environ’.
‘system()’ and related functions sometimes failed when run in ‘Rgui’.
‘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.
‘c()’, ‘unlist()’, ‘cbind()’ and ‘rbind()’ could silently overflow the maximum vector length and cause a segfault. (PR#14571)
Parsed text containing embedded newlines was printed incorrectly by as.character.srcref(). (Reported by Hadley Wickham.)
R colours are now defined to refer to the sRGB color space.
The PDF, PostScript, and Quartz graphics devices record this fact. X11 (and cairo) and Windows just assume that your screen conforms.
Rendering of raster images on cairo X11 device was wrong, particularly when a small image was being scaled up using interpolation.
With cairo < 1.6, will be better than before, though still a little clunky. With cairo >= 1.6, should be sweet as.
‘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.
‘R CMD check’ on a multi-architecture installation now skips the user's ‘.Renviron’ file for the architecture-specific tests (which do read the architecture-specific ‘Renviron.site’ files). This is consistent with single-architecture checks, which use ‘--no-environ’.
The windows() screen device would sometimes fail to plot points with ‘pch="."’. PR#14583
Text containing embedded newlines was printed incorrectly by as.character.srcref(). (Reported by Hadley Wickham.)
‘decompose()’ used with a series of a non-integer number of periods returned a seasonal component shorter than the original series. (Reported by Rob Hyndman.)
‘cairo_ps(onefile = TRUE)’ generates encapsulated EPS on platforms with cairo >= 1.6.
Warnings are issued when non-portable filenames are found for graphics files (and chunks if ‘split = TRUE’). Portable names are regarded as alphanumeric plus hyphen, underscore, plus and hash (periods cause problems with recognizing file extensions).
Reading (e.g. with ‘readBin()’) from a raw connection was not advancing the pointer, so successive reads would read the same value. (Spotted by Bill Dunlap.)
‘c()’, ‘unlist()’, ‘cbind()’ and ‘rbind()’ could silently overflow the maximum vector length and cause a segfault. PR#14571
The ‘fonts’ argument to ‘X11(type = "Xlib")’ was being ignored.
‘c()’ and other functions using ‘AnswerType’ could silently overflow the maximum supported vector length and cause a crash. PR#14571
The ‘windows()’ family of devices now supports() per-pixel alpha for raster images.
Shutting down the R session cleaned up the temporary directory before closing all graphics devices. On Windows this necessitated changing the working directory, so some devices (e.g. ‘tiff()’) could write files in the wrong directory. The order has been reversed.
‘file.info()’ now accepts ‘file’ names with trailing directory separators, even though such names are invalid on Windows.
‘file.info()’ now accepts ‘file’ names with trailing directory separators.
‘file.info()’ now accepts ‘file’ names with trailing directory separators: those are not valid on Windows but R has some ignorant users.
Saving to PDF from the menu of a ‘windows()’ device used defaults for ‘family’, ‘fg’ and ‘bg’ from ‘ps.options()’ rather than ‘pdf.options()’ (but the factory-fresh defaults were the same).
‘R CMD build’ no longer attempts to preserve file permissions on Windows, because Windows (unlike POSIX-compliant OSes) stops read-only files being deleted in version-control directories.
‘shell.exec()’ now interprets files relative to the current working directory (rather than ‘R_HOME’).
‘make install-strip’ failed under some configuration options.
‘xz’ has been updated to 5.0.2 (very minor bugfix release).
‘tools::compactPDF()’ gets more compression (usually a little, sometimes a lot) by using the compressed object streams of PDF 1.5.
‘trace()’ now deals correctly with S4 reference classes and corresponding reference methods (e.g., ‘$trace()’) have been added.
Building the vignette PDFs in packages ‘grid’ and ‘utils’ is now part of running ‘make’ from an SVN checkout on a Unix-alike: a separate ‘make vignettes’ step is no longer required.
These vignettes are now made with ‘keep.source = TRUE’ and hence will be laid out differently.
Warnings are issued when non-portable filenames are found for graphics files (and chunks if ‘split=TRUE’). Portable names are regarded as alphanumeric plus hyphen, underscore, plus and hash (periods cause problems with recognizing file extensions).
The ‘Rtangle()’ driver has a new option ‘show.line.nos’ 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 R >= 2.12.0).
‘pbirthday()’ and ‘qbirthday()’ did not implement the algorithm exactly as given in their reference and so were unnecessarily inaccurate.
‘pbirthday()’ now solves the approximate formula analytically rather than using ‘uniroot()’ on a discontinuous function.
The description of the problem was inaccurate: the probability is a tail probablity (‘2 _or more_ people share a birthday’)
‘Sweave()’ and ‘Stangle()’ gain an ‘encoding’ argument to specify the encoding of the vignette sources if the latter do not contain a ‘\usepackage[]{inputenc}’ statement specifying a single input encoding.
There is a new Sweave option ‘figs.only = TRUE’ 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 R 2.14.0.
Sweave custom graphics devices can have a custom function ‘foo.off()’ to shut them down.
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 ‘.R’ file.
‘trace()’ now deals correctly with reference classes and corresponding reference methods (e.g., ‘$trace()’) have been added.
Building the vignette PDFs in packages ‘grid’ and ‘utils’ is now part of running ‘make’ from an SVN checkout on a Unix-alike: a separate ‘make vignettes’ is no longer required.
These vignettes are now made with ‘keep.source = TRUE’ and hence will be laid out differently.
‘seek(origin = "current")’ incorrectly reported it was not implemented for a ‘gzfile()’ connection.
The internal functions ‘.readRDS()’ and ‘.saveRDS()’ are now deprecated in favour of the public functions ‘readRDS()’ and ‘saveRDS()’ introduced in R 2.13.0.
New wrapper function ‘showNonASCIIfile()’ in package ‘tools’.
‘nobs()’ now has a ‘"mle"’ method in package ‘stats4’.
Complex arithmetic sometimes warned incorrectly about producing NAs when there were NaNs in the input.
‘pbirthday()’ now solves the approximate formula analytically rather than using ‘uniroot()’ on a discontinuous function.
The description of the problem was inaccurate: the probability is a tail probablity (‘2 _or more_ people share a birthday’)
‘R CMD build’ no longer attempts to preserve file permissions on Windows, because Windows (unlike POSIX-complant OSes) stops read-only files being deleted in version-control directories.
‘shell.exec()’ now interprets files relative to the current working directory.
Launching the PDF manuals from the Rgui menus did not work on some versions of Windows.
The sources now work with ‘libpng-1.5.1’, ‘jpegsrc.v8c’ (which are used in the CRAN builds) and ‘tiff-4.0.0beta6’ (CRAN builds use 3.9.1). It is possible that they no longer work with older versions than ‘libpng-1.4.5’.
‘serialize()’ and ‘unserialize()’ are no longer described as ‘experimental’. The interface is now regarded as stable, although the serialization format may well change in future releases. (‘serialize()’ has a new argument ‘version’ which would allow the current format to be written if that happens.)
New functions ‘saveRDS()’ and ‘readRDS()’ are public versions of the ‘internal’ functions ‘.saveRDS()’ and ‘.readRDS()’ made available for general use. The dot-name versions remain available as several package authors have made use of them, despite the documentation. ‘readRDS()’ no longer wraps non-file connections in a call to ‘gzcon()’, for efficiency (see its documentation).
‘saveRDS()’ supports ‘compress = "xz"’.
‘iconv()’ no longer translates ‘NA’ strings as ‘"NA"’.
‘persp(box = TRUE)’ 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). (PR#202.)
‘RShowDoc()’ can now display the licences shipped with R, e.g. ‘RShowDoc("GPL-3")’.
Building the vignettes is now part of running ‘make’ from an SVN checkout: a separate ‘make vignettes’ is no longer required.
These vignette PDFs are now made with ‘keep.source = TRUE’ and hence will be laid out differently.
No parts of R are now licensed solely under GPL-2. The licences for packages ‘rpart’ and ‘survival’ have been changed, which means that the licence terms for R as distributed are GPL-2 | GPL-3.
‘plot.lm(which = 5)’ 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. (PR#14545)
‘mosaicplot()’ could clip the factor labels, and could overlap them with the cells if a non-default value of ‘cex.axis’ was used. (Related to PR#14550.)
‘dataframe[[row,col]]’ now dispatches on ‘[[’ methods for the selected column (spotted by Bill Dunlap).
‘sort.int()’ would strip the class of an object, but leave its object bit set. (Reported by Bill Dunlap.)
‘sort(partial = p)’ for large ‘p’ now tries Shellsort if quicksort is not appropriate and so works for non-numeric atomic vectors.
‘as.matrix()’ did not handle ‘"dist"’ objects with zero rows.
‘.libPaths()’ calls ‘normalizePath(winslash = "/")’ on the paths: this helps (usually) present them in a user-friendly form and should detect duplicate paths accessed via different symbolic links.
‘rstandard.glm’ gains a ‘type’ argument which can be used to request standardized Pearson residuals.
A start on a Turkish translation, thanks to Murat Alkan.
‘rstandard.glm’ gains a ‘type’ argument for optional standardized Pearson residuals.
‘Sweave()’ has options to produce PNG and JPEG figures, and to use a custom function to open a graphics device (see ‘?RweaveLatex’). (Based in part on the contribution of PR#14418.)
The default for ‘Sweave()’ is to produce only PDF figures (rather than both EPS and PDF).
Environment variable ‘SWEAVE_OPTIONS’ can be used to supply defaults for existing or new options to be applied after the Sweave driver setup has been run.
The Sweave manual is now included as a vignette in the ‘utils’ package.
‘Sweave()’ handles ‘keep.source=TRUE’ much better: it could duplicate some lines and omit comments. (Reported by John Maindonald and others.)
‘Sweave()’ has options to produce PNG and JPEG figures, and to use a
custom function to open a graphics device (see ‘?RweaveLatex’).
(Based in part on the contribution of PR#14418.)
The default for ‘Sweave()’ is to produce only PDF figures (rather than both EPS and PDF).
There are improvements in the way ‘Sweave()’ and ‘Stangle()’ handle non-ASCII vignette sources, especially in a UTF-8 locale: see ‘Writing R Extensions’ which now has a subsection on this topic.
Environment variable ‘SWEAVE_OPTIONS’ can be used to supply defaults
for existing or new options to be applied after the Sweave driver setup
has been run.
The Sweave manual is now included as a vignette in the ‘utils’ package.
‘tempfile()’ has an extra argument ‘fileext’ to create a temporary filename with a specified extension. (Suggestion and initial implementation by Dirk Eddelbuettel.)
There are improvements in the way ‘Sweave()’ and ‘Stangle()’ handle non-ASCII vignette sources, especially in a UTF-8 locale: see ‘Writing R Extensions’ which now has a subsection on this topic.
‘Sweave()’ with ‘keep.source=TRUE’ could duplicate some lines and omit
comments. (Reported by John Maindonald and others.)
‘Sweave()’ has options to produce PNG and JPEG figures, and to use a custom function to open a graphics device (see ‘?RweaveLatex’). (Based in part on the contribution of PR#14418.)
The default for ‘Sweave()’ is to produce only PDF figures (rather than both EPS and PDF).
There are improvements in the way ‘Sweave()’ and ‘Stangle()’ handle non-ASCII vignette sources, especially in a UTF-8 locale: see ‘Writing R Extensions’ which now has a subsection on this topic.
Inside ‘uniroot(f, ...)’, ‘-Inf’ function values are now replaced by a maximally *negative* value.
‘rowsum()’ could silently over/underflow on integer inputs (reported by Bill Dunlap).
‘rstandard.glm’ gains a ‘type’ argument for optional standardized Pearson residuals
The Sweave manual is now included as a vignette in the ‘utils’ package.
The ‘gctorture2()’ function provides a more refined interface to the GC torture process. Environment variables ‘R_GCTORTURE’, ‘R_GCTORTURE_WAIT’, and ‘R_GCTORTURE_INHIBIT_RELEASE’ can also be used to control the GC torture process.
‘file.copy(from, to)’ no longer regards it as an error to supply a zero-length ‘from’: it now simply does nothing.
Compiling R with ‘--enable-strict-barrier’ now also enables additional checking for use of unprotected objects. In combination with ‘gctorture()’ or ‘gctorture2()’ and a C-level debugger this can be useful for tracking down memory protection issues.
‘pythag’ duplicated the C99 function ‘hypot’. It is no longer provided, but is used as a substitute for ‘hypot’ in the very unlikely event that the latter is not available.
‘configure’ looks for support for OpenMP and if found compiles R with appropriate flags and also makes them available for use in packages: see ‘Writing R Extensions’.
This is currently experimental, and is only used in R with a single thread for ‘colSums()’ and ‘colMeans()’. Expect it to be more widely used in later versions of R.
This can be disabled by the ‘--disable-openmp’ flag.
‘Rgui’ has a new menu item for the PDF ‘Sweave User Manual’.
The sources now work with ‘libpng-1.5.1’, ‘ jpegsrc.v8c’ (which are used in the CRAN builds) and ‘tiff-4.0.0beta6’ (CRAN builds use 3.9.1). It is possible that they no longer work with older versions than ‘libpng-1.4.5’.
‘configure’ looks for support for OpenMP and if found compiles R with appropriate flags and also makes them available for use in packages: see ‘Writing R Extensions’.
This is currently experimental, and is only used in R with a single thread for ‘colSums()’ and ‘dist()’. Expect it to be more widely used in later versions of R.
This can be disabled by the ‘--disable-openmp’ flag.
Printing extremely long string values could overflow the stack and cause the GUI to crash. (PR#14543)
‘Sweave()’ has options to produce PNG and JPEG figures, and to use a custom function to open a graphics device (see ‘?RweaveLatex’). (Based in part on the contribution of PR#14418.)
The default for ‘Sweave()’ is to produce only PDF figures (rather than both EPS and PDF).
The environment variable ‘R_HOME’ in an R session now uses slash as the path separator (as it always has when set by ‘Rcmd.exe’).
The vignette indices are more comprehensive (in the style of ‘browseVignetttes()’).
R's internal filename completion now properly handles filenames with spaces in them even when the readline library is used. This resolves PR#14452 provided the internal filename completion is used (e.g., by setting ‘rc.settings(files = TRUE)’).
‘factanal()’ now returns the rotation matrix if a rotation such as ‘"promax"’ is used, and hence factor correlations are displayed. (Wish of PR#12754.)
Environment variable ‘SWEAVE_OPTIONS’ can be used to supply defaults for existing or new options to be applied after the Sweave driver setup has been run.
‘Sweave()’ has options to produce PNG and JPEG figures, and to use a custom function to open a graphics device (see ‘?RweaveLatex’). (Based in part on the contribution of PR#14418.)
‘Sweave()’ has options to produce PNG and JPEG figures. There is also a temporary option to call a user-defined graphics device.
(Based in part on the contribution of PR#14418.)
‘R_inspect(obj)’ and ‘R_inspect3(obj, deep, pvec)’ are (hidden) C-level entry points to the internal ‘inspect’ function and can be used for C-level debugging (e.g., in conjunction with the ‘p’ command in ‘gdb’).
‘R_inspect(obj)’ and ‘R_inspect3(obj, deep, pvec)’ are (hidden) C-level entry points to the internal ‘inspect’ function and can be used for C-level debugging (e.g., in conjunction with ‘p’ command in ‘gdb’).
‘R CMD check’ now also checks for filenames that are case-insensitive matches to Windows' reserved file names with extensions, such as ‘nul.Rd’, as these have caused problems on some Windows systems.
It checks for inefficiently saved ‘data/*.rda’ and ‘data/*.RData’ 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 ‘_R_CHECK_COMPACT_DATA2_’ to ‘TRUE’.
The types of files in the ‘data’ directory are now checked, as packages are _still_ misusing it for non-R data files.
It now extracts and runs the R code for each vignette in a separate directory and R process: this is done in the package's declared encoding. Rather than call ‘tools::checkVignettes()’, it calls ‘tool::buildVignettes()’ to see if the vignettes can be re-built as they would be by ‘R CMD build’. Option ‘--use-valgrind’ 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.
The ‘00check.log’ file is a more complete record of what is output to ‘stdout’: in particular contains more details of the tests.
It now check all syntactically valid Rd usage entries, and warns about assignments (unless these give the usage of replacement functions).
‘.tar.xz’ compressed tarballs are now allowed, if ‘tar’ supports them (and setting environment variable ‘TAR’ to ‘internal’ ensures so on all platforms).
‘inspect(obj)’ and ‘inspect3(obj, deep, pvec)’ are (hidden) C-level entry points to the internal ‘inspect’ function and can be used for C-level debugging (e.g., in conjunction with ‘p’ command in ‘gdb’).
Packages with names ending in ‘.’ are not portable since Windows does not work correctly with such directory names. This is now warned about in ‘R CMD check’, and will not be allowed in R 2.14.x.
Single-character package names are deprecated (and ‘R’ is already disallowed to avoid confusion in ‘Depends:’ fields).
The rank-correlation methods for ‘cor()’ and ‘cov()’ with ‘use = "complete.obs"’ computed the ranks before removing missing values, whereas the documentation implied incomplete cases were removed first. (PR#14488)
They also failed for 1-row matrices.
The perpendicular adjustment used in placing text and expressions in the margins of plots was not scaled by ‘par("mex")’. (Part of PR#14532.)
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.
The browser (invoked by ‘debug()’, ‘browser()’ or otherwise) would display attributes such as ‘"wholeSrcref"’ that were intended for internal use only.
‘R CMD check’ now also checks for filenames that are case-insensitive matches to Windows' reserved file names with extensions, such as ‘nul.Rd’, as these have caused problems on some Windows systems.
It checks for inefficiently saved ‘data/*.rda’ and ‘data/*.RData’ 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 ‘_R_CHECK_COMPACT_DATA2_’ to ‘TRUE’.
The types of files in the ‘data’ directory are now checked, as packages are _still_ misusing it for non-R data files.
It now extracts and runs the R code for each vignette in a separate directory and R process. Rather than call ‘tools::checkVignettes()’, it calls ‘tool::buildVignettes()’ to see if the vignettes can be re-built as they would be by ‘R CMD build’. Option ‘--use-valgrind’ 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.
The ‘00check.log’ file is a more complete record of what is output to ‘stdout’: in particular contains more details of the tests.
It now check all syntactically valid Rd usage entries, and warns about assignments (unless these give the usage of replacement functions).
‘.tar.xz’ compressed tarballs are now allowed, if ‘tar’ supports them (and setting environment variable ‘TAR’ to ‘internal’ does on all platforms).
‘R CMD build --binary’ is now formally deprecated: ‘R CMD INSTALL --build’ has long been the preferred alternative.
‘scan(sep= , strip.white=TRUE)’ sometimes stripped trailing spaces from within quoted strings. (The real bug in PR#14522.)