A new major release 0.11.0 of Rcpp is now on the CRAN network for GNU R and binaries for Debian have been uploaded as well. Before you read on, please note that this release will most likely require a reinstallation of all your packages using Rcpp as it now works without a user-facing shared library. The biggest change in this version is that it is now effectively headers-only. Before you wonder, there is still compiled code provided by Rcpp for use by packages. But this uses the function registration mechanism of GNU R instead via instantiation at package startup. This does make package building easier, will remove the need to query GNU R for the Rcpp library file in
src/Makevars when compiling, and should generally avoid building issues such
as the dreaded fails on paths with spaces still annoying users of a
There are a number of other fixes, upgrades and other extensions detailed in
NEWS file extract below, in the ChangeLog file in the package and on the
Rcpp Changelog page
as well as in a release announcement I’ll post later.
Thanks to CRANberries, you can also look at a diff to the previous release 0.10.6. As always, even fuller details are on the Rcpp Changelog page and the Rcpp page which also leads to the downloads, the browseable doxygen docs and zip files of doxygen output for the standard formats. A local directory has source and documentation too. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page
Changes in Rcpp version 0.11.0 (2014-02-02)
Changes in Rcpp API:
Functions provided/used by Rcpp are now registered with R and instantiated by client package alleviating the need for explicit linking against
libRcppwhich is therefore no longer created.
StretchyListfor pair lists with fast addition of elements at the front and back. This abstracts the 3 functions
Insertused in various packages and in parsers in R.
qntsugar functions were incorrectly expanding to the no-degree-of-freedoms variant.
Unit tests for
The sugar table function did not handle NAs and NaNs properly for numeric vectors. Fixed and tests added.
The internal coercion mechanism mapping numerics to strings has been updated to better match R (specifically with
Applied two bug fixes to Vector
RObjectdefinition spotted and corrected by Kevin Ushey
checkUserInterrupt()function that provides a C++ friendly implementation of
Changes in Rcpp attributes:
Embedded R code chunks in sourceCpp are now executed within the working directory of the C++ source file.
Embedded R code chunks in sourceCpp can now be disabled.
Changes in Rcpp documentation:
The Rcpp-FAQ and Rcpp-package vignettes have been updated and expanded.
Vignettes are now typeset with grey background for code boxes.
The bibtex reference file has been update to reflexct current package versions.
Changes in Rcpp unit tests:
tests/doRUnit.Rwas rewritten following the pattern deployed in RProtoBuf which is due to Murray Stokely
test()was rewritten; it provides an easy entry point to running unit tests of the installed package