[Rcpp-devel] [ANN] Rcpp 0.11.3
Dirk Eddelbuettel
edd at debian.org
Tue Sep 30 03:56:50 CEST 2014
A new release Rcpp 0.11.3 is now on CRAN.
A short blog post about it is at
http://dirk.eddelbuettel.com/blog/
http://dirk.eddelbuettel.com/blog/2014/09/29#rcpp_0.11.3
and included as text (without links) below.
This release represents contributions from seven different people, which is a
new high. So as always, thanks for everybody for testing, suggestions and input.
See below, however, for one minor black eye. Code using Rcpp Modules seems
to require a rebuild as we missed an API/ABI change. We will try harder to
avoid this for future release. Our apologies for any inconveniences.
On behalf of Rcpp Core, Dirk
Rcpp 0.11.3
A new release 0.11.3 of Rcpp is now on the CRAN network for GNU R,
and an updated Debian package has been uploaded too.
Rcpp has become the most popular way of enhancing GNU R with C++
code. As of today, 273 packages on CRAN depend on Rcpp for making
analyses go faster and further.
This release brings a fairly large number of continued enhancements,
fixes and polishing to Rcpp. These were provided by a total of seven
different contributors---which is a new record as well.
See below for a detailed list of changes extracted from the NEWS
file, but some highlights included in this release are
* Several API cleanups, polishes and a pre-announced code removal
* New InternalFunction interface, and new Timer functionality.
* More robust functionality of Rcpp Attributes as well as a new
dryRun option.
* The Rcpp FAQ was updated, as was the main Description: in the
DESCRIPTION file.
* Rcpp.package.skeleton() can now deploy functionality from
pkgKitten to create Rcpp packages that purr.
One sore point, however, is that we missed that packages using Rcpp
Modules appear to require a rebuild. We are sorry for the
inconvenience; this has highlighted a shortcoming in our fairly
robust and extensive tests. While we test our packages against all
known CRAN dependents, such tests check for the ability to compile
and run freshly and not whether previously built packages still run.
We intend to augment our testing in this direction to avoid a repeat
occurrence of such a misfeature.
Changes in Rcpp version 0.11.3 (2014-09-27)
* Changes in Rcpp API:
* The deprecation of RCPP_FUNCTION_* which was announced
with release 0.10.5 last year is proceeding as planned,
and the file macros/preprocessor_generated.h has been
removed.
* Timer no longer records time between steps, but times from
the origin. It also gains a get_timers(int) methods that
creates a vector of Timer that have the same origin. This
is modelled on the Rcpp11 implementation and is more
useful for situations where we use timers in several
threads. Timer also gains a constructor taking a
nanotime_t to use as its origin, and a origin method. This
can be useful for situations where the number of threads
is not known in advance but we still want to track what
goes on in each thread.
* A cast to bool was removed in the vector proxy code as
inconsistent behaviour between clang and g++ compilations
was noticed.
* A missing update(SEXP) method was added thanks to pull
request by Omar Andres Zapata Mesa.
* A proxy for DimNames was added.
* A no_init option was added for Matrices and Vectors.
* The InternalFunction class was updated to work with
std::function (provided a suitable C++11 compiler is
available) via a pull request by Christian Authmann.
* A new_env() function was added to Environment.h
* The return value of range eraser for Vectors was fixed in
a pull request by Yixuan Qiu.
* Changes in Rcpp Sugar:
* In ifelse(), the returned NA type was corrected for
operator[].
* Changes in Rcpp Attributes:
* Include LinkingTo in DESCRIPTION fields scanned to confirm
that C++ dependencies are referenced by package.
* Add dryRun parameter to sourceCpp.
* Corrected issue with relative path and R chunk use for
sourceCpp.
* Changes in Rcpp Documentation:
* The Rcpp-FAQ vignette was updated with respect to OS X
issues.
* A new entry in the Rcpp-FAQ clarifies the use of licenses.
* Vignettes build results no longer copied to /tmp to please
CRAN.
* The Description in DESCRIPTION has been shortened.
* Changes in Rcpp support functions:
* The Rcpp.package.skeleton() function will now use
pkgKitten package, if available, to create a package which
passes R CMD check without warnings. A new Suggests: has
been added for pkgKitten.
* The modules=TRUE case for Rcpp.package.skeleton() has been
improved and now runs without complaints from R CMD check
as well.
* Changes in Rcpp unit test functions:
* Functions from the RUnit package are now prefixed with
RUnit::
* The testRcppModule and testRcppClass sample packages now
pass R CMD check --as-cran cleanly with NOTES or WARNINGS
Thanks to CRANberries, you can also look at a diff to the previous
release As always, even fuller details are on the Rcpp Changelog page
and the Rcpp page which also leads to the downloads page, 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.
This post by Dirk Eddelbuettel originated on his Thinking inside the
box blog. Please report excessive re-aggregation in third-party
for-profit settings.
/code/rcpp | permanent link
--
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
More information about the Rcpp-devel
mailing list