Boost is a very large and comprehensive set of (peer-reviewed) libraries for the C++ programming language, containing well over one hundred individual libraries. The BH package provides a sizeable subset of header-only libraries for (easier, no linking required) use by R. It is fairly widely used: the (partial) CRAN mirror logs (aggregated from the cloud mirrors) show over 35.7 million package downloads.
Version 1.84.0 of Boost was released in December following the regular Boost release schedule of April, August and December releases. As the commits and changelog show, we packaged it almost immediately and started testing following our annual update cycle which strives to balance being close enough to upstream and not stressing CRAN and the user base too much. The reverse depends check revealed five packages requiring changes or adjustments which is a pretty good outcome given the over three hundred direct reverse dependencies. So we opened issue #100 to coordinate the issue over the winter break during which CRAN also closes (just as we did in previous years). Our sincere thanks to the two packages that already updated before, and to the one that updated today within hours (!!) of the BH uploaded it needed.
There are very few actual changes. We honoured one request (in issue #97) to
QVM bringing quarternion support to R. No other new changes needed to
be made. A number of changes I have to make each time in BH, and it is worth
mentioning them. Because CRAN cares about backwards compatibility and
the ability to be used on minimal or older systems, we still
adjust the filenames of a few files to fit a jurassic constraints of
just over a 100 characters per filepath present in some long-outdated
tar. Not a big deal. We also, and that is more
controversial, silence a number of
clang++ because CRAN
insists on it. I have no choice in that matter. One warning we
suppressed last year, but no longer do, concerns the C++14 standard that
some Boost libraries now default to.
Packages setting C++11 explicitly will likely get a note from CRAN
changing this; in most cases that should be trivial to remove as we only
had to opt into (then) newer standards under old compilers. These days
newer defaults help; R itself now defaults to C++17.
Changes in version 1.84.0-0 (2024-01-09)
If you like this or other open-source work I do, you can now sponsor me at GitHub.