<p><div><div><div><div data-width="100" data-show-faces="false" data-send="true" data-layout="button_count" data-height="21" data-href="https://www.r-bloggers.com/rcpp-0-12-11-loads-of-goodies/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="http://dirk.eddelbuettel.com/blog/2017/05/23#rcpp_0.12.11"> Thinking inside the box </a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<p>The elevent update in the 0.12.* series of <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/code/rcpp.html">Rcpp</a> landed on <a target="_blank" rel="nofollow" href="http://cran.r-project.org/">CRAN</a> yesterday following the initial upload on the weekend, and the <a target="_blank" rel="nofollow" href="https:/www.debian.org">Debian</a> package and Windows binaries should follow as usual. The 0.12.11 release follows the <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2015/07/25#rcpp_0.12.0">0.12.0 release</a> from late July, the <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2015/09/10#rcpp_0.12.1">0.12.1 release</a> in September, the <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2015/11/15#rcpp_0.12.2">0.12.2 release</a> in November, the <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2016/01/10#rcpp_0.12.3">0.12.3 release</a> in January, the <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2016/03/26#rcpp_0.12.4">0.12.4 release</a> in March, the <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2016/05/14#rcpp_0.12.5">0.12.5 release</a> in May, the <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2016/07/19#rcpp_0.12.6">0.12.6 release</a> in July, the <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2016/09/04#rcpp_0.12.7">0.12.7 release</a> in September, the <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2016/11/18#rcpp_0.12.8">0.12.8 release</a> in November, the <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2017/01/15#rcpp_0.12.9">0.12.9 release</a> in January, and the <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2017/03/19#rcpp_0.12.10">0.12.10.release</a> in March — making it the fifteenth release at the steady and predictable bi-montly release frequency.</p>
<p><a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/code/rcpp.html">Rcpp</a> has become <em>the</em> most popular way of enhancing <a target="_blank" rel="nofollow" href="http://www.r-project.org/">GNU R</a> with C or C++ code. As of today, 1026 packages on <a target="_blank" rel="nofollow" href="http://cran.r-project.org/">CRAN</a> depend on <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/code/rcpp.html">Rcpp</a> for making analytical code go faster and further, along with another 91 in <a target="_blank" rel="nofollow" href="https://www.bioconductor.org/">BioConductor</a>.</p>
<p>This releases follows on the heels of R’s 3.4.0 release and addresses on or two issues from the transition, along with a literal boatload of other fixes and enhancements. <a target="_blank" rel="nofollow" href="http://thecoatlessprofessor.com/">James &quot;coatless&quot; Balamuta</a> was once restless in making the documentation better, <a target="_blank" rel="nofollow" href="https://github.com/krlmlr">Kirill Mueller</a> addressed a number of more obscure compiler warnings (triggered under under <code>-Wextra</code> and the like), <a target="_blank" rel="nofollow" href="http://jimhester.com/">Jim Hester</a> improved excecption handling, and much more mostly by the Rcpp Core team. All changes are listed below in some detail.</p>
<p>One big change that JJ made is that Rcpp Attributes also generate the now-almost-required package registration. (For background, I blogged about this <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2017/03/29#001_easy_package_registration">one</a>, <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2017/03/30#002_even_easier_package_registration">two</a>, <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2017/04/30#006_easiest_package_registration">three</a> times.) We tested this, and do not expect it to throw curveballs. If you have an existing <code>src/init.c</code>, or if you do not have registration set in your <code>NAMESPACE</code>. It should cover most cases. But one never knows, and one first post-release buglet related to how devtools tests things has already been fixed <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/697">in this PR</a> by JJ.</p>
<blockquote>
<h3>Changes in Rcpp version 0.12.11 (2017-05-20)</h3>
<ul>
<li>
<p>Changes in Rcpp API:</p>
<ul>
<li>
<p>Rcpp::exceptions can now be constructed without a call stack (Jim Hester in <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/663">#663</a> addressing <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/issues/664">#664</a>).</p>
</li>
<li>
<p>Somewhat spurious compiler messages under very verbose settings are now suppressed (Kirill Mueller in <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/670">#670</a>, <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/671">#671</a>, <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/672">#672</a>, <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/687">#687</a>, <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/688">#688</a>, <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/691">#691</a>).</p>
</li>
<li>
<p>Refreshed the included <code>tinyformat</code> template library (James Balamuta in <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/674">#674</a> addressing <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/issues/673">#673</a>).</p>
</li>
<li>
<p>Added <code>printf</code>-like syntax support for exception classes and variadic templating for <code>Rcpp::stop</code> and <code>Rcpp::warning</code> (James Balamuta in <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/676">#676</a>).</p>
</li>
<li>
<p>Exception messages have been rewritten to provide additional information. (James Balamuta in <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/676">#676</a> and <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/677">#677</a> addressing <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/issues/184">#184</a>).</p>
</li>
<li>
<p>One more instance of <code>Rf_mkString</code> is protected from garbage collection (Dirk in <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/686">#686</a> addressing <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/issues/685">#685</a>).</p>
</li>
<li>
<p>Two exception specification that are no longer tolerated by <code>g++-7.1</code> or later were removed (Dirk in <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/690">#690</a> addressing <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/issues/689">#689</a>)</p>
</li>
</ul>
</li>
<li>
<p>Changes in Rcpp Documentation:</p>
<ul>
<li>Added a Known Issues section to the Rcpp FAQ vignette (James Balamuta in <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/661">#661</a> addressing <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/issues/628">#628</a>, <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/issues/563">#563</a>, <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/issues/552">#552</a>, <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/issues/460">#460</a>, <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/issues/419">#419</a>, and <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/issues/251">#251</a>).</li>
</ul>
</li>
<li>
<p>Changes in Rcpp Sugar:</p>
<ul>
<li>Added sugar function <code>trimws</code> (Nathan Russell in <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/680">#680</a> addressing <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/issues/679">#679</a>).</li>
</ul>
</li>
<li>
<p>Changes in Rcpp Attributes:</p>
<ul>
<li>
<p>Automatically generate native routine registrations (JJ in <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/694">#694</a>)</p>
</li>
<li>
<p>The plugins for C++11, C++14, C++17 now set the values R 3.4.0 or later expects; a plugin for C++98 was added (Dirk in <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/684">#684</a> addressing <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/issues/683">#683</a>).</p>
</li>
</ul>
</li>
<li>
<p>Changes in Rcpp support functions:</p>
<ul>
<li>The <code>Rcpp.package.skeleton()</code> function now creates a package registration file provided R 3.4.0 or later is used (Dirk in <a target="_blank" rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/692">#692</a>)</li>
</ul>
</li>
</ul>
</blockquote>
<p>Thanks to <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/cranberries/">CRANberries</a>, you can also look at a <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/cranberries/2017/05/22#Rcpp_0.12.11">diff to the previous release</a>. As always, even fuller details are on the <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/code/rcpp.changelog.html">Rcpp Changelog page</a> and the <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/code/rcpp.html">Rcpp page</a> which also leads to the downloads page, the <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/code/rcpp/html/index.html">browseable doxygen docs</a> and zip files of doxygen output for the standard formats. A <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/code/rcpp/">local directory</a> has source and documentation too. Questions, comments etc should go to the <a target="_blank" rel="nofollow" href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel">rcpp-devel mailing list</a> off the <a target="_blank" rel="nofollow" href="http://r-forge.r-project.org/projects/rcpp/">R-Forge page</a>.</p>
<p>
This post by <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/">Dirk Eddelbuettel</a> originated on his <a target="_blank" rel="nofollow" href="http://dirk.eddelbuettel.com/blog/">Thinking inside the box</a> blog. Please report excessive re-aggregation in third-party for-profit settings.</p>
<p>
<p>
<div>
<div>To <strong>leave a comment</strong> for the author, please follow the link and comment on their blog: <strong><a href="http://dirk.eddelbuettel.com/blog/2017/05/23#rcpp_0.12.11"> Thinking inside the box </a></strong>.</div>
<hr>
<a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers.com</a> offers <strong><a rel="nofollow" href="https://feedburner.google.com/fb/a/mailverify?uri=RBloggers">daily e-mail updates</a></strong> about <a title="The R Project for Statistical Computing" rel="nofollow" href="https://www.r-project.org/">R</a> news and <a title="R tutorials" rel="nofollow" href="https://www.r-bloggers.com/search/tutorial">tutorials</a> on topics such as: <a title="Data science" rel="nofollow" href="https://www.r-bloggers.com/search/data%20science">Data science</a>, <a title="Big Data" rel="nofollow" href="https://www.r-bloggers.com/search/Big%20Data">Big Data, <a title="R jobs" rel="nofollow" href="https://www.r-users.com/">R jobs</a>, visualization (<a title="ggplot and ggplot2 tutorials" rel="nofollow" href="https://www.r-bloggers.com/search/ggplot2">ggplot2</a>, <a title="Boxplots using lattice and ggplot2 tutorials" rel="nofollow" href="https://www.r-bloggers.com/search/boxplot">Boxplots</a>, <a title="Maps and gis" rel="nofollow" href="https://www.r-bloggers.com/search/map">maps</a>, <a title="Animation in R" rel="nofollow" href="https://www.r-bloggers.com/search/animation">animation</a>), programming (<a title="RStudio IDE for R" rel="nofollow" href="https://www.r-bloggers.com/search/RStudio">RStudio</a>, <a title="Sweave and literate programming" rel="nofollow" href="https://www.r-bloggers.com/search/sweave">Sweave</a>, <a title="LaTeX in R" rel="nofollow" href="https://www.r-bloggers.com/search/LaTeX">LaTeX</a>, <a title="SQL and databases" rel="nofollow" href="https://www.r-bloggers.com/search/SQL">SQL</a>, <a title="Eclipse IDE for R" rel="nofollow" href="https://www.r-bloggers.com/search/eclipse">Eclipse</a>, <a title="git and github, Version Control System" rel="nofollow" href="https://www.r-bloggers.com/search/git">git</a>, <a title="Large data in R using Hadoop" rel="nofollow" href="https://www.r-bloggers.com/search/hadoop">hadoop</a>, <a title="Web Scraping of google, facebook, yahoo, twitter and more using R" rel="nofollow" href="https://www.r-bloggers.com/search/Web+Scraping">Web Scraping</a>) statistics (<a title="Regressions and ANOVA analysis tutorials" rel="nofollow" href="https://www.r-bloggers.com/search/regression">regression</a>, <a title="principal component analysis tutorial" rel="nofollow" href="https://www.r-bloggers.com/search/PCA">PCA</a>, <a title="Time series" rel="nofollow" href="https://www.r-bloggers.com/search/time+series">time series</a>, <a title="finance trading" rel="nofollow" href="https://www.r-bloggers.com/search/trading">trading</a>) and more...
<img height="1" alt="" width="1" src="http://feeds.feedburner.com/~r/RBloggers/~4/yLz70rdi5ag"></a></div>