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.
You can see that the edges are still not straight, because that's how they came out of the sawmill.
Once that was done I visited a family member that had a crosscut saw, a table saw and a band saw; all that I would need. First we trimmed the edges of the 2m planks
with the table saw so they were somewhat straight; then they were flipped and the other edge was cut straight, and their width cut down to 20 cm.
After moving them over to the crosscut saw dividing them into two 60 cm and one 80 cm was fairly easy. When cutting the 2m planks from the 4m ones I calculated with
extra offcuts, so I got little waste overall and could use the whole length to get my desired board.
This is what the cut pieces looked like:
Assembly
I packed up my planks, now nicely cut to size, and I went to a hardware shop and bought hinges and screws.
Assembly was fairly easy and fast: screw a hinge to a corner, hold the other plank onto the hinge so that the corners of both boards touch, and affix the hinge.
When this was done, the frame looked like this:
As last step I drilled 10mm holes more or less random in the middle of the box. This is where the mushrooms will grow out of later and can be harvested.
Closing thoughts
This was a fun project I finished in a day. The hinges have the benefit that they allow the box to
be folded up lenght-wise:
This allows for convenient storage. Since it's too cold outside right now, cultivation will have to wait
until spring. This also just needs mycelium one can just buy, and some material fungus digests.
They can also be fed coffee grounds, and harvest of the fruit body is possible circa every two weeks.

KDE
Like my work? Consider a donation. Thank you!











. I am an intern at Outreachy and contributing to the Debian Images Testing project since October 2025. This project is Open Source and everyone can contribute to it in any way. The project uses Open QA to automatically install Operating System Images and test them . We have a community 

About 95% of my Debian contributions this month were
Debian continues participating in Outreachy, and as you might have already
noticed, Debian has selected two interns for the Outreachy December 2025 - March
2026 round.
After a busy contribution phase and a competitive selection process,
Given we ve entered a new year it s time for my annual recap of my Free Software activities for the previous calendar year. For previous years see