<p><div><div><div><div data-show-faces="false" data-height="21" data-width="100" data-layout="button_count" data-send="true" data-href="https://www.r-bloggers.com/rcpp-0-12-19-and-more-updates/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="http://dirk.eddelbuettel.com/blog/2018/10/01#rcpp_0.12.19"> 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 next bi-monthly update in the 0.12.* series of <a rel="nofollow" href="http://dirk.eddelbuettel.com/code/rcpp.html" target="_blank">Rcpp</a> releases landed on <a rel="nofollow" href="http://cran.r-project.org/" target="_blank">CRAN</a> early this morning. It was actually released on September 20, but I made a first cut (see <code>#887</code> below) at a deprecation which <a rel="nofollow" href="http://cran.r-project.org/" target="_blank">CRAN</a> and I decided to reverted for now, then <a rel="nofollow" href="http://cran.r-project.org/" target="_blank">CRAN</a> was unusually busy and under an onslaught of false positives of a new checker, and finally we ran into a change in R-devel from the last two days. It is not easy as <a rel="nofollow" href="http://dirk.eddelbuettel.com/code/rcpp.html" target="_blank">Rcpp</a> is complex with over 1400 direct reverse dependencies so releases can take a moment. Hence, also releasing to the <a rel="nofollow" href="https://rcppcore.github.io/drat/" target="_blank">Rcpp drat repo</a> as I did this time too may become the norm. In any event, and as usual, a big <em>Thank You!</em> to <a rel="nofollow" href="http://cran.r-project.org/" target="_blank">CRAN</a> for all the work they do so well.</p>
<p>So once more, this release follows the <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2015/07/25#rcpp_0.12.0" target="_blank">0.12.0 release</a> from July 2016, the <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2015/09/10#rcpp_0.12.1" target="_blank">0.12.1 release</a> in September 2016, the <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2015/11/15#rcpp_0.12.2" target="_blank">0.12.2 release</a> in November 2016, the <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2016/01/10#rcpp_0.12.3" target="_blank">0.12.3 release</a> in January 2017, the <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2016/03/26#rcpp_0.12.4" target="_blank">0.12.4 release</a> in March 2016, the <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2016/05/14#rcpp_0.12.5" target="_blank">0.12.5 release</a> in May 2016, the <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2016/07/19#rcpp_0.12.6" target="_blank">0.12.6 release</a> in July 2016, the <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2016/09/04#rcpp_0.12.7" target="_blank">0.12.7 release</a> in September 2016, the <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2016/11/18#rcpp_0.12.8" target="_blank">0.12.8 release</a> in November 2016, the <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2017/01/15#rcpp_0.12.9" target="_blank">0.12.9 release</a> in January 2017, the <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2017/03/19#rcpp_0.12.10" target="_blank">0.12.10.release</a> in March 2017, the <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2017/05/23#rcpp_0.12.11" target="_blank">0.12.11.release</a> in May 2017, the <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2017/07/15#rcpp_0.12.12" target="_blank">0.12.12 release</a> in July 2017, the <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2017/09/28#rcpp_0.12.13" target="_blank">0.12.13.release</a> in late September 2017, the <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2017/11/24#rcpp_0.12.14" target="_blank">0.12.14.release</a> in November 2017, the <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2018/01/20#rcpp_0.12.15" target="_blank">0.12.15.release</a> in January 2018, the <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2018/03/13#rcpp_0.12.16" target="_blank">0.12.16.release</a> in March 2018, the <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2018/05/20#rcpp_0.12.17" target="_blank">0.12.17 release</a> in May 2018, and the <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2018/07/23#rcpp_0.12.18" target="_blank">0.12.18 release</a> in July 2018 making it the twenty-third release at the steady and predictable bi-montly release frequency (which started with the 0.11.* series).</p>
<p><a rel="nofollow" href="http://dirk.eddelbuettel.com/code/rcpp.html" target="_blank">Rcpp</a> has become <em>the</em> most popular way of enhancing <a rel="nofollow" href="http://www.r-project.org/" target="_blank">GNU R</a> with C or C++ code. As of today, 1452 packages on <a rel="nofollow" href="http://cran.r-project.org/" target="_blank">CRAN</a> depend on <a rel="nofollow" href="http://dirk.eddelbuettel.com/code/rcpp.html" target="_blank">Rcpp</a> for making analytical code go faster and further, along with another 138 in the current <a rel="nofollow" href="https://www.bioconductor.org/" target="_blank">BioConductor</a> release 3.7.</p>
<p>A decent number of changes, contributed by a number of Rcpp core team members as well as Rcpp users, went into this. Full details are below.</p>
<blockquote>
<h4>Changes in Rcpp version 0.12.19 (2018-09-20)</h4>
<ul>
<li>
<p>Changes in Rcpp API:</p>
<ul>
<li>
<p>The <code>no_init()</code> accessor for vectors and matrices is now wrapped in <code>Shield&lt;>()</code> to not trigger <code>rchk</code> warnings (Kirill Mueller in <a rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/893" target="_blank">#893</a> addressing <a rel="nofollow" href="https://github.com/RcppCore/Rcpp/issues/892" target="_blank">#892</a>).</p>
</li>
<li>
<p><code>STRICT_R_HEADERS</code> will be defined twelve months from now; until then we protect it via <code>RCPP_NO_STRICT_HEADERS</code> which can then be used to avoid the definition; downstream maintainers are encouraged to update their packages as needed (Dirk in <a rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/900" target="_blank">#900</a> beginning to address <a rel="nofollow" href="https://github.com/RcppCore/Rcpp/issues/898" target="_blank">#898</a>).</p>
</li>
</ul>
</li>
<li>
<p>Changes in Rcpp Attributes:</p>
<ul>
<li>Added <code>[[Rcpp::init]]</code> attribute for registering C++ functions to run during package initialization (JJ in <a rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/903" target="_blank">#903</a> addressing <a rel="nofollow" href="https://github.com/RcppCore/Rcpp/issues/902" target="_blank">#902</a>).</li>
</ul>
</li>
<li>
<p>Changes in Rcpp Modules:</p>
<ul>
<li>Improved <code>exposeClass</code> functionality along with added test (Martin Lysy in <a rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/886" target="_blank">#886</a> fixing <a rel="nofollow" href="https://github.com/RcppCore/Rcpp/issues/879" target="_blank">#879</a>).</li>
</ul>
</li>
<li>
<p>Changes in Rcpp Documentation:</p>
<ul>
<li>
<p>Two typos were fixed in the Rcpp Sugar vignette (Patrick Miller in <a rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/895" target="_blank">#895</a>).</p>
</li>
<li>
<p>Several vignettes now use the <code>collapse</code> argument to show output in the corresponding code block.</p>
</li>
</ul>
</li>
<li>
<p>Changes in Rcpp Deployment:</p>
<ul>
<li>
<p>The old <code>LdFlags()</code> build helper was marked as deprecated [but removed for release] (Dirk in <a rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/887" target="_blank">#887</a>).</p>
</li>
<li>
<p>Dockerfiles for continuous integration, standard deployment and ‘plus sized’ deployment are provided along with builds (Dirk in <a rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/894" target="_blank">#894</a>).</p>
</li>
<li>
<p>Travis CI now use the <code>rcpp/ci</code> container for tests (Dirk in <a rel="nofollow" href="https://github.com/RcppCore/Rcpp/pull/896" target="_blank">#896</a>).</p>
</li>
</ul>
</li>
</ul>
</blockquote>
<p>This contains one new deprecation for using stricter R headers. I already emailed around sixty maintainers who need to either make (very small) changes, or set a new <code>#define</code> to skip this. Right now you can test by adding <code>#define STRICT_R_HEADERS</code> before including <code>Rcpp.h</code>, we want to make this the default come September 2019. See <a rel="nofollow" href="http://lists.r-forge.r-project.org/pipermail/rcpp-devel/2018-September/010096.html" target="_blank">my email to Rcpp-devel</a> for more.</p>
<p>A second deprecation may get started with the next release. A lot of packages still needlessly call <code>Rcpp:::LdFlags()</code> even though we have not needed linker options for five years now. I will try assess what the damage may be and hopefully activate the <code>.Deprecated()</code> function in a good year.</p>
<p>Thanks to <a rel="nofollow" href="http://dirk.eddelbuettel.com/cranberries/" target="_blank">CRANberries</a>, you can also look at a <a rel="nofollow" href="http://dirk.eddelbuettel.com/cranberries/2018/10/01#Rcpp_0.12.19" target="_blank">diff to the previous release</a>. Questions, comments etc should go to the <a rel="nofollow" href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" target="_blank">rcpp-devel mailing list</a> off the <a rel="nofollow" href="http://r-forge.r-project.org/projects/rcpp/" target="_blank">R-Forge page</a>.</p>
<p>
This post by <a rel="nofollow" href="http://dirk.eddelbuettel.com/" target="_blank">Dirk Eddelbuettel</a> originated on his <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/" target="_blank">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/2018/10/01#rcpp_0.12.19"> 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 rel="nofollow" href="https://www.r-project.org/" title="The R Project for Statistical Computing">R</a> news and <a rel="nofollow" href="https://www.r-bloggers.com/search/tutorial" title="R tutorials">tutorials</a> on topics such as: <a rel="nofollow" href="https://www.r-bloggers.com/search/data%20science" title="Data science">Data science</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/Big%20Data" title="Big Data">Big Data, <a rel="nofollow" href="https://www.r-users.com/" title="R jobs">R jobs</a>, visualization (<a rel="nofollow" href="https://www.r-bloggers.com/search/ggplot2" title="ggplot and ggplot2 tutorials">ggplot2</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/boxplot" title="Boxplots using lattice and ggplot2 tutorials">Boxplots</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/map" title="Maps and gis">maps</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/animation" title="Animation in R">animation</a>), programming (<a rel="nofollow" href="https://www.r-bloggers.com/search/RStudio" title="RStudio IDE for R">RStudio</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/sweave" title="Sweave and literate programming">Sweave</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/LaTeX" title="LaTeX in R">LaTeX</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/SQL" title="SQL and databases">SQL</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/eclipse" title="Eclipse IDE for R">Eclipse</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/git" title="git and github, Version Control System">git</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/hadoop" title="Large data in R using Hadoop">hadoop</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/Web+Scraping" title="Web Scraping of google, facebook, yahoo, twitter and more using R">Web Scraping</a>) statistics (<a rel="nofollow" href="https://www.r-bloggers.com/search/regression" title="Regressions and ANOVA analysis tutorials">regression</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/PCA" title="principal component analysis tutorial">PCA</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/time+series" title="Time series">time series</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/trading" title="finance trading">trading</a>) and more...
<img width="1" alt="" src="http://feeds.feedburner.com/~r/RBloggers/~4/Tr8K9RLwB3Q" height="1"></a></div>