Another bi-monthly update in the 0.12.* series of Rcpp landed on CRAN early this morning following less than two weekend in the incoming/
directory of CRAN. As always, thanks to CRAN for all the work they do so well.
So once more, this release follows the 0.12.0 release from July 2016, the 0.12.1 release in September 2016, the 0.12.2 release in November 2016, the 0.12.3 release in January 2017, the 0.12.4 release in March 2016, the 0.12.5 release in May 2016, the 0.12.6 release in July 2016, the 0.12.7 release in September 2016, the 0.12.8 release in November 2016, the 0.12.9 release in January 2017, the 0.12.10.release in March 2017, the 0.12.11.release in May 2017, the 0.12.12 release in July 2017, the 0.12.13.release in late September 2017, the 0.12.14.release in November 2017, the 0.12.15.release in January 2018, the 0.12.16.release in March 2018, and the 0.12.17 release in May 2018 making it the twenty-second release at the steady and predictable bi-montly release frequency (which started with the 0.11.* series).
Rcpp has become the most popular way of enhancing GNU R with C or C++ code. As of today, 1403 packages on CRAN depend on Rcpp for making analytical code go faster and further, along with another 138 in the current BioConductor release 3.7.
A pretty decent number of changes, contributed by a number of Rcpp core team members as well as Rcpp user, went into this. Full details are below.
Changes in Rcpp version 0.12.18 (2018-07-21)
Changes in Rcpp API:
The
StringProxy::operator==
is nowconst
correct (Romain in #855 fixing #854).The
Environment::new_child()
is nowconst
(Romain in #858 fixing #854).Next
eval
codes now properly unwind (Lionel in the large and careful #859 fixing #807).In debugging mode, more type information is shown on
abort()
(Jack Wasey in #860 and #882 fixing #857).A new class was added which allow suspension of the RNG synchronisation to address an issue seen in RcppDE (Kevin in #862).
Evaluation calls now happen in the
base
environment (which may fix an issue seen between conflicted and some BioConductor packages) (Kevin in #863 fixing #861).Call stack display on error can now be controlled more finely (Romain in #868).
The new
Rcpp_fast_eval
is used instead ofRcpp_eval
though this still requires settingRCPP_USE_UNWIND_PROTECT
before includingRcpp.h
(Qiang Kou in #867 closing #866).The
Rcpp::unwindProtect()
function extracts the unwinding from theRcpp_fast_eval()
function and makes it more generally available. (Lionel in #873 and #877).The
tm_gmtoff
part is skipped on AIX too (#876).Changes in Rcpp Attributes:
Changes in Rcpp Sugar:
Thanks to CRANberries, you can also look at a diff to the previous release. As always, 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. 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.