Dirk Eddelbuettel: Rcpp 1.1.1 on CRAN: Many Improvements in Semi-Annual Update
Team Rcpp is thrilled to share that an exciting new version 1.1.1 of
Rcpp is now on CRAN (and also
uploaded to Debian and already
built for r2u).
Having switchted to C++11 as the minimum standard in the
previous 1.1.0 release, this version takes full advantage of it and
removes a lot of conditional code catering to older standards
that no longer need to be supported. Consequently, the source tarball
shrinks by 39% from 3.11 mb to 1.88 mb. That is a big deal. (Size peaked
with Rcpp 1.0.12 two years ago at 3.43 mb; relative to its size we are
down 45% !!) Removing unused code also makes maintenance easier, and
quickens both compilation and installation in general.
This release continues as usual with the six-months January-July
cycle started with release
1.0.5 in July 2020. Interim snapshots are always available via the
r-universe page and
repo. We continue to strongly encourage the use of these development
released and their testing we tend to run our systems with them too.
Rcpp has long established itself
as the most popular way of enhancing R with C or C++ code. Right now,
3020 packages on CRAN depend on
Rcpp for making analytical code go
faster and further. On CRAN, 13.1% of all packages depend (directly) on
Rcpp, and 60.9% of all compiled
packages do. From the cloud mirror of CRAN (which is but a subset of all
CRAN downloads), Rcpp has been
downloaded 109.8 million times. The two published papers (also included
in the package as preprint vignettes) have, respectively, 2151 (JSS, 2011) and 405 (TAS, 2018)
citations, while the the book (Springer useR!,
2013) has another 715.
This time, I am not attempting to summarize the different changes.
The full list follows below and details all these changes, their
respective PRs and, if applicable, issue tickets. Big thanks from all of
us to all contributors!
Thanks to my CRANberries, you can also look at a diff to the previous interim release along with pre-releaseds 1.1.0.8, 1.1.0.8.1 and 1.1.0.8.2 that were needed because R-devel all of a sudden decided to move fast and break things. Not our doing. Questions, comments etc should go to the GitHub discussion section list]rcppdevellist off the R-Forge page. Bugs reports are welcome at the GitHub issue tracker as well. Both sections can be searched as well.Changes in Rcpp release version 1.1.1 (2026-01-08)
- Changes in Rcpp API:
- An unused old R function for a compiler version check has been removed after checking no known package uses it (Dirk in #1395)
- A narrowing warning is avoided via a cast (Dirk in #1398)
- Demangling checks have been simplified (I aki in #1401 addressing #1400)
- The treatment of signed zeros is now improved in the Sugar code (I aki in #1404)
- Preparations for phasing out use of
Rf_errorhave been made (I aki in #1407)- The long-deprecated function
loadRcppModules()has been removed (Dirk in #1416 closing #1415)- Some non-API includes from R were refactored to accommodate R-devel changes (I aki in #1418 addressing #1417)
- An accessor to
Rf_rnbetahas been removed (Dirk in #1419 also addressing #1420)- Code accessing non-API
Rf_findVarInFramenow usesR_getVarEx(Dirk in #1423 fixing #1421)- Code conditional on the R version now expects at least R 3.5.0; older code has been removed (Dirk in #1426 fixing #1425)
- The non-API
ATTRIBentry point to the R API is no longer used (Dirk in #1430 addressing #1429)- The unwind-protect mechanism is now used unconditionally (Dirk in #1437 closing #1436)
- Changes in Rcpp Attributes:
- The OpenMP plugin has been generalized for different macOS compiler installations (Kevin in #1414)
- Changes in Rcpp Documentation:
- Vignettes are now processed via a new "asis" processor adopted from R.rsp (Dirk in #1394 fixing #1393)
- R is now cited via its DOI (Dirk)
- A (very) stale help page has been removed (Dirk in #1428 fixing #1427)
- The main README.md was updated emphasizing r-universe in favor of the local drat repos (Dirk in #1431)
- Changes in Rcpp Deployment:
- A temporary change in R-devel concerning NA part in complex variables was accommodated, and then reverted (Dirk in #1399 fixing #1397)
- The macOS CI runners now use macos-14 (Dirk in #1405)
- A message is shown if
R.his included before Rcpp headers as this can lead to errors (Dirk in #1411 closing #1410)- Old helper functions use
message()to signal they are not used, deprecation and removal to follow (Dirk in #1413 closing #1412)- Three tests were being silenced following #1413 (Dirk in #1422)
- The heuristic whether to run all available tests was refined (Dirk in #1434 addressing #1433)
- Coverage has been tweaked via additional
#nocovtags (Dirk in #1435)- Non-release Changes:
- Two interim non-releases 1.1.0.8.1 and .2 were made in order to unblock CRAN due to changes in R-devel rather than Rcpp
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. If you like this or other open-source work I do, you can sponsor me at GitHub.
Most of my Debian contributions this month were


Our new proposal with Kevin s super awesome management company has been submitted and we will hopefully hear back next week.
Thanks for stopping by! Till next week.
If you can spare some change, consider a donation
Thank you!











