The fourth maintenance release 1.0.4 of Rcpp, following up on the 10th anniversary and the 1.0.0. release sixteen months ago, arrived on CRAN this morning. This follows a few days of gestation at CRAN. To help during the wait we provided this release via drat last Friday. And it followed a pre-release via drat a week earlier. But now that the release is official, Windows and macOS binaries will be built by CRAN over the next few days. The corresponding Debian package will be uploaded as a source package shortly after which binaries can be built.
As with the previous releases Rcpp 1.0.1, Rcpp 1.0.2 and Rcpp 1.0.3, we have the predictable and expected four month gap between releases which seems appropriate given both the changes still being made (see below) and the relative stability of Rcpp. It still takes work to release this as we run multiple extensive sets of reverse dependency checks so maybe one day we will switch to six month cycle. For now, four months still seem like a good pace.
Rcpp has become the most popular way of enhancing R with C or C++ code. As of today, 1873 packages on CRAN depend on Rcpp for making analytical code go faster and further, along with 191 in BioConductor. And per the (partial) logs of CRAN downloads, we are running steasy at one millions downloads per month.
This release features quite a number of different pull requests by seven different contributors as detailed below. One (personal) highlight is the switch to tinytest.
Changes in Rcpp version 1.0.4 (2020-03-13)
Changes in Rcpp API:
Finalizer calls clear external pointer first (Kirill Müller and Dirk in #1038).
Rcpp::stopare now more thread-safe (Joshua Pritikin in #1043).
Changes in Rcpp Attributes:
Changes in Rcpp Documentation:
.github/directory now has more explicit guidance on contributing, issues, and pull requests (Dirk).
The Rcpp Attributes vignette describe the new invisible return object option (Kun Ren in #1025).
Vignettes are now included as pre-made pdf files (Dirk in #1029)
The bib file for the vignette was once again updated to current package versions (Dirk).
Changes in Rcpp Deployment:
Please note that the change to execptions and
Rcpp::stop() in pr #1043 has been seen to have a minor side effect on macOS issue #1046 which has already been fixed by Kevin in pr #1047 for which I may prepare a 188.8.131.52 release for the Rcpp drat repo in a day or two.
Thanks to CRANberries, you can also look at a diff to the previous release. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page. Bugs reports are welcome at the GitHub issue tracker as well (where one can also search among open or closed issues); questions are also welcome under
rcpp tag at StackOverflow which also allows searching among the (currently) 2356 previous questions.