pegeler / eddington2

Calculating your Eddington Number for Cycling 🚲📈

Home Page:https://eddington.bike

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Why R >=4.3?

mfansler opened this issue · comments

The minimum R >=4.3.0 is unusual. Why is it necessary?

Hi @mfansler,

Thank you for your interest in the R package!

It appears that I specified R >= 4.3.0 because I am using some C++17 features and R 4.3.0 is the first version that uses C++17 as the default standard. But after further consideration, this might have been overly cautious. If that version is too high for your uses, I could potentially drop back down to R >= 4.2.0; but that would be a hard minimum since the Eddington R6 class uses the hashtab function, which was introduced in that version.

Please let me know if I can be of further assistance. I am glad to make some modifications to accommodate your use-case. In addition, you can also consider the prior CRAN release eddington 2.1.1 which only requires R 3.4.0.

Paul

Thanks for the prompt reply!

I'm a maintainer on the Conda Forge R team, so this constraint stood out as atypical of most R packages right now. We usually try to build for release (4.3) and oldrel (4.2), similar to CRAN, and downloads of eddington since R 4.3 has been available have stayed evenly split between 4.2 and 4.3. I was just checking in to see the reasoning and suggest to leave the constraint looser if unnecessary.

FYI, to explicitly enforce C++17, you have the option of adding CXX_STD = CXX17 to a src/Makevars file. Otherwise, yes, sounds like you're locked for >=4.2.0.

Feel free to close this - you've answered my question and continuing R 4.2 support is at your discretion.

Thank you for the context. Based on your comments, it sounds like loosening requirements would have a demonstrable benefit. Since C++17 is supported since R 3.4.0, I can see that I was overly-conservative with the R 4.3.0 requirement. I will post an update to CRAN shortly.

Hi @mfansler,

I'm circling back to let you know that eddington 4.1.3 has been published on CRAN with a relaxed minimum R version requirement. It has been built for all supported platforms.

Thanks for your suggestion!

Thanks so much! I saw the new release downstream on Conda Forge and have re-enabled the R 4.2 builds. 🎉