-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deprecating old initialization code in packages using RcppArmadillo #391
Comments
This one-line change updates RcppArmadillo from the now deprecated `<<` initialization to brace initialization allowed since C++11 and long been minimal standard with R too. It would be great if you could merge this, and release and updated package "in the next little while" -- see the two prior emails I sent, and the transition log at RcppCore/RcppArmadillo#391
These six one-line changes update RcppArmadillo from the now deprecated `<<` initialization to brace initialization allowed since C++11 and long been the minimal standard with R too. It would be great if you could merge this, and release and updated package "in the next little while" -- see the two prior emails I sent, and the transition log at RcppCore/RcppArmadillo#391
This one-line change updates RcppArmadillo from the now deprecated << initialization to brace initialization allowed since C++11 and long been minimal standard with R too -- and which you already had, albeit commented out. It would be great if you could merge this, and release and updated package "in the next little while" -- see the two prior emails I sent, and the transition log at RcppCore/RcppArmadillo#391
These six two-line changes update RcppArmadillo from the now deprecated `<<` initialization to brace initialization allowed since C++11 and long been the minimal standard with R too. It would be great if you could merge this, and release and updated package "in the next little while" -- see the two prior emails I sent, and the transition log at RcppCore/RcppArmadillo#391
These two simple changes update RcppArmadillo from the now deprecated `<<` initialization to brace initialization allowed since C++11 and long been the minimal standard with R too. It would be great if you could merge this, and release and updated package "in the next little while" -- see the two prior emails I sent, and the transition log at RcppCore/RcppArmadillo#391
These simple changes update RcppArmadillo from the now deprecated `<<` initialization to brace initialization allowed since C++11 and long been the minimal standard with R too. It would be great if you could merge this, and release and updated package "in the next little while" -- see the two prior emails I sent, and the transition log at RcppCore/RcppArmadillo#391
This one-line change updates RcppArmadillo from the now deprecated `<<` initialization to brace initialization allowed since C++11 and long been the minimal standard with R too. It would be great if you could merge this, and release and updated package "in the next little while" -- see the two prior emails I sent, and the transition log at RcppCore/RcppArmadillo#391
These changes update RcppArmadillo from the now deprecated `<<` initialization to brace initialization allowed since C++11 and long been the minimal standard with R too. It would be great if you could merge this, and release and updated package "in the next little while" -- see the two prior emails I sent, and the transition log at RcppCore/RcppArmadillo#391
One simple change to update RcppArmadillo use from the now deprecated `<<` initialization to brace initialization allowed since C++11 and long been the minimal standard with R too. It would be great if you could merge this, and release and updated package "in the next little while" -- see the two prior emails I sent, and the transition log at RcppCore/RcppArmadillo#391
A second simple change to update RcppArmadillo use from the now deprecated `<<` initialization to brace initialization allowed since C++11 and long been the minimal standard with R too. It would be great if you could merge this, and release and updated package "in the next little while" -- see the two prior emails I sent, and the transition log at RcppCore/RcppArmadillo#391
Two simple changes to update RcppArmadillo use from the now deprecated `<<` initialization to brace initialization allowed since C++11 and long been the minimal standard with R too. It would be great if you could merge this, and release and updated package "in the next little while" -- see the two prior emails I sent, and the transition log at RcppCore/RcppArmadillo#391
One simple one-line change to update RcppArmadillo use from the now deprecated `<<` initialization to brace initialization allowed since C++11 and long been the minimal standard with R too. It would be great if you could merge this, and release and updated package "in the next little while" -- see the two prior emails I sent, and the transition log at RcppCore/RcppArmadillo#391
These changes update RcppArmadillo from the now deprecated << initialization to brace initialization allowed since C++11 and long been the minimal standard with R too. It would be great if you could merge this, and release and updated package "in the next little while" -- see the two prior emails I sent, and the transition log at RcppCore/RcppArmadillo#391
This one-line change updates RcppArmadillo from the now deprecated `<<` initialization to brace initialization allowed since C++11 and long been the minimal standard with R too. It would be great if you could merge this, and release and updated package "in the next little while" -- see the two prior emails I sent, and the transition log at RcppCore/RcppArmadillo#391
These three one-line change update RcppArmadillo from the now deprecated << initialization to brace initialization allowed since C++11 and long been the minimal standard with R too. It would be great if you could merge this, and release and updated package "in the next little while" -- see the two prior emails I sent, and the transition log at RcppCore/RcppArmadillo#391
As of 2022-09-26 status of open packages: library(data.table)
db <- as.data.table(tools::CRAN_package_db())
pkgs <- c("ACEt", "BayesPPD", "BNPMIXcluster", "finity", "greed","grove","handwriter","HARModel","minimaxdesign", "MRS", "nlmixr", "nlmixr2est", "smog","SparseFactorAnalysis","specs","UComp")
db[Package %in% pkgs,.(Package,Version,Date,Published)][order(-Published)] yields
|
As of 2022-10-10 status of open packages: library(data.table)
db <- as.data.table(tools::CRAN_package_db())
pkgs <- c("BayesPPD", "BNPMIXcluster", "finity", "grove","handwriter","HARModel","minimaxdesign", "MRS", "nlmixr2est", "smog","SparseFactorAnalysis","specs","UComp")
db[Package %in% pkgs,.(Package,Version,Date,Published)][order(-Published)] yields Package Version Date Published
<char> <char> <char> <char>
1: UComp 2.2.3 2022-08-17 2022-08-17
2: BayesPPD 1.0.7 2022-07-24 2022-08-12
3: nlmixr2est 2.0.8 <NA> 2022-06-22
4: handwriter 1.0.1 <NA> 2021-08-16
5: minimaxdesign 0.1.5 <NA> 2021-07-12
6: BNPMIXcluster 1.3 2020-11-28 2020-11-30
7: smog 2.1.0 2020-08-01 2020-08-10
8: specs 0.1.1 <NA> 2020-07-17
9: finity 0.1.4.1 2020-04-22 2020-04-23
10: HARModel 1.0 2019-08-30 2019-08-31
11: MRS 1.2.4 2018-01-13 2018-01-23
12: grove 1.1 2018-01-07 2018-01-07
13: SparseFactorAnalysis 1.0 2015-07-20 2015-07-23
> |
As of 2022-10-27: > db <- as.data.table(tools::CRAN_package_db())
> pkgs <- c("BayesPPD", "BNPMIXcluster", "finity", "grove","handwriter","HARModel","minimaxdesign", "MRS", "smog","SparseFactorAnalysis","specs","UComp")
> db[Package %in% pkgs,.(Package,Version,Date,Published)][order(-Published)]
Package Version Date Published
1: UComp 2.2.3 2022-08-17 2022-08-17
2: BayesPPD 1.0.7 2022-07-24 2022-08-12
3: handwriter 1.0.1 <NA> 2021-08-16
4: minimaxdesign 0.1.5 <NA> 2021-07-12
5: BNPMIXcluster 1.3 2020-11-28 2020-11-30
6: smog 2.1.0 2020-08-01 2020-08-10
7: specs 0.1.1 <NA> 2020-07-17
8: finity 0.1.4.1 2020-04-22 2020-04-23
9: HARModel 1.0 2019-08-30 2019-08-31
10: MRS 1.2.4 2018-01-13 2018-01-23
11: grove 1.1 2018-01-07 2018-01-07
12: SparseFactorAnalysis 1.0 2015-07-20 2015-07-23 |
As of 2022-11-18: > library(data.table)
> db <- as.data.table(tools::CRAN_package_db())
> pkgs <- c("BNPMIXcluster", "finity", "grove","handwriter","HARModel","minimaxdesign", "MRS", "smog","SparseFactorAnalysis","specs","UComp")
> db[Package %in% pkgs,.(Package,Version,Date,Published)][order(-Published)]
Package Version Date Published
1: UComp 2.2.3 2022-08-17 2022-08-17
2: handwriter 1.0.1 <NA> 2021-08-16
3: minimaxdesign 0.1.5 <NA> 2021-07-12
4: BNPMIXcluster 1.3 2020-11-28 2020-11-30
5: smog 2.1.0 2020-08-01 2020-08-10
6: specs 0.1.1 <NA> 2020-07-17
7: finity 0.1.4.1 2020-04-22 2020-04-23
8: HARModel 1.0 2019-08-30 2019-08-31
9: MRS 1.2.4 2018-01-13 2018-01-23
10: grove 1.1 2018-01-07 2018-01-07
11: SparseFactorAnalysis 1.0 2015-07-20 2015-07-23
> |
As of 2022-12-21 > library(data.table)
> db <- as.data.table(tools::CRAN_package_db())
> pkgs <- c("finity", "grove","handwriter","HARModel","minimaxdesign", "MRS", "smog","SparseFactorAnalysis","specs","UComp")
> db[Package %in% pkgs,.(Package,Version,Date,Published)][order(-Published)]
Package Version Date Published
<char> <char> <char> <char>
1: UComp 2.2.3 2022-08-17 2022-08-17
2: handwriter 1.0.1 <NA> 2021-08-16
3: minimaxdesign 0.1.5 <NA> 2021-07-12
4: smog 2.1.0 2020-08-01 2020-08-10
5: specs 0.1.1 <NA> 2020-07-17
6: finity 0.1.4.1 2020-04-22 2020-04-23
7: HARModel 1.0 2019-08-30 2019-08-31
8: MRS 1.2.4 2018-01-13 2018-01-23
9: grove 1.1 2018-01-07 2018-01-07
10: SparseFactorAnalysis 1.0 2015-07-20 2015-07-23
> |
As of 2023-01-07 > db <- as.data.table(tools::CRAN_package_db())
> pkgs <- c("finity", "grove","handwriter","HARModel","minimaxdesign", "MRS", "smog","SparseFactorAnalysis","specs","UComp")
> db[Package %in% pkgs,.(Package,Version,Date,Published)][order(-Published)]
Package Version Date Published
<char> <char> <char> <char>
1: UComp 2.2.3 2022-08-17 2022-08-17
2: handwriter 1.0.1 <NA> 2021-08-16
3: minimaxdesign 0.1.5 <NA> 2021-07-12
4: smog 2.1.0 2020-08-01 2020-08-10
5: specs 0.1.1 <NA> 2020-07-17
6: finity 0.1.4.1 2020-04-22 2020-04-23
7: HARModel 1.0 2019-08-30 2019-08-31
8: MRS 1.2.4 2018-01-13 2018-01-23
9: grove 1.1 2018-01-07 2018-01-07
10: SparseFactorAnalysis 1.0 2015-07-20 2015-07-23
> Another reminder email sent
|
Version 0.11.4.3.1 of RcppArmadillo has now been uploaded to CRAN, is pending inspection, and will trigger deprecation warnings for the two handful of packages that have not been updated as this issue urged them to. It revealed at least two packages where my patch or PR might have been incomplete (my bad), and a set of new packages where a new deprecation warning |
As of 2023-01-22, with the enlarged list following the 0.11.4.3.1 upload: > db <- as.data.table(tools::CRAN_package_db())
> pkgs <- c("BayesPPD", "cccp", "finity", "gren", "grove", "growfunctions", "handwriter", "HARModel", "minimaxdesign", "MRS", "smog", "SparseFactorAnalysis", "specs","UComp")
> db[Package %in% pkgs,.(Package,Version,Date,Published)][order(-Published)]
Package Version Date Published
<char> <char> <char> <char>
1: BayesPPD 1.1.0 2022-11-11 2022-11-12
2: cccp 0.2-9 2022-09-06 2022-09-09
3: UComp 2.2.3 2022-08-17 2022-08-17
4: handwriter 1.0.1 <NA> 2021-08-16
5: growfunctions 0.15 2021-06-23 2021-07-16
6: minimaxdesign 0.1.5 <NA> 2021-07-12
7: smog 2.1.0 2020-08-01 2020-08-10
8: specs 0.1.1 <NA> 2020-07-17
9: finity 0.1.4.1 2020-04-22 2020-04-23
10: HARModel 1.0 2019-08-30 2019-08-31
11: gren 0.0.1 2018-07-19 2018-07-30
12: MRS 1.2.4 2018-01-13 2018-01-23
13: grove 1.1 2018-01-07 2018-01-07
14: SparseFactorAnalysis 1.0 2015-07-20 2015-07-23
> |
Now without UComp, otherwise unchanged
|
> suppressMessages(library(data.table))
> db <- data.table(tools::CRAN_package_db())
> pkgs <- c("cccp", "finity", "gren", "grove", "growfunctions", "handwriter", "HARModel", "minimaxdesign", "MRS", "smog", "SparseFactorAnalysis", "specs")
> db[Package %in% pkgs,.(Package,Version,Date,Published)][order(-Published)]
Package Version Date Published
<char> <char> <char> <char>
1: cccp 0.2-9 2022-09-06 2022-09-09
2: handwriter 1.0.1 <NA> 2021-08-16
3: growfunctions 0.15 2021-06-23 2021-07-16
4: minimaxdesign 0.1.5 <NA> 2021-07-12
5: smog 2.1.0 2020-08-01 2020-08-10
6: specs 0.1.1 <NA> 2020-07-17
7: finity 0.1.4.1 2020-04-22 2020-04-23
8: HARModel 1.0 2019-08-30 2019-08-31
9: gren 0.0.1 2018-07-19 2018-07-30
10: MRS 1.2.4 2018-01-13 2018-01-23
11: grove 1.1 2018-01-07 2018-01-07
12: SparseFactorAnalysis 1.0 2015-07-20 2015-07-23
> |
> library(data.table)
> db <- data.table(tools::CRAN_package_db())
> pkgs <- c("cccp", "finity", "gren", "grove", "growfunctions", "HARModel", "minimaxdesign", "MRS", "smog", "SparseFactorAnalysis", "specs")
> db[Package %in% pkgs,.(Package,Version,Date,Published)][order(-Published)]
Package Version Date Published
<char> <char> <char> <char>
1: cccp 0.2-9 2022-09-06 2022-09-09
2: growfunctions 0.15 2021-06-23 2021-07-16
3: minimaxdesign 0.1.5 <NA> 2021-07-12
4: smog 2.1.0 2020-08-01 2020-08-10
5: specs 0.1.1 <NA> 2020-07-17
6: finity 0.1.4.1 2020-04-22 2020-04-23
7: HARModel 1.0 2019-08-30 2019-08-31
8: gren 0.0.1 2018-07-19 2018-07-30
9: MRS 1.2.4 2018-01-13 2018-01-23
10: grove 1.1 2018-01-07 2018-01-07
11: SparseFactorAnalysis 1.0 2015-07-20 2015-07-23
> PS Edit 2023-10-30: Apparently |
> suppressMessages(library(data.table))
> db <- data.table(tools::CRAN_package_db())
> pkgs <- c("cccp", "finity", "gren", "grove", "growfunctions", "handwriter", "HARModel", "minimaxdesign", "mixedClust", "ordinalClust", "MRS", "smog", "SparseFactorAnalysis", "specs")
!> db[Package %in% pkgs,.(Package,Version,Date,Published)][order(-Published)]
Package Version Date Published
<char> <char> <char> <char>
1: handwriter 2.0.2 <NA> 2023-10-13
2: cccp 0.2-9 2022-09-06 2022-09-09
3: growfunctions 0.15 2021-06-23 2021-07-16
4: minimaxdesign 0.1.5 <NA> 2021-07-12
5: mixedClust 1.0.2 2021-03-21 2021-03-29
6: ordinalClust 1.3.5 2020-10-26 2020-11-19
7: smog 2.1.0 2020-08-01 2020-08-10
8: specs 0.1.1 <NA> 2020-07-17
9: finity 0.1.4.1 2020-04-22 2020-04-23
10: HARModel 1.0 2019-08-30 2019-08-31
11: gren 0.0.1 2018-07-19 2018-07-30
12: MRS 1.2.4 2018-01-13 2018-01-23
13: grove 1.1 2018-01-07 2018-01-07
14: SparseFactorAnalysis 1.0 2015-07-20 2015-07-23
> |
For reasons related to issues discussed in RcppCore/RcppArmadillo#391 and RcppCore/RcppArmadillo#402, RcppArmadillo is building with deprecation warnings suppressed. I plan to change that ... and when I do r2sundials with create three warnings from your use of a three-argument form of `insert_cols` that is now deprecated. This is simple: use the two-argument form. I tested the change and R CMD check still passes. It would be great if you could update r2sundials in the next few weeks. I plan to update RcppArmadillo in about a month and then stop suppressing warnings.
RcppArmadillo release 0.12.6.6.1 is now on CRAN, and no longer defines |
As of 2023-12-10, > suppressMessages(library(data.table))
> db <- data.table(tools::CRAN_package_db())
> pkgs <- c("finity","growfunctions","HARModel","minimaxdesign","mixedClust","ordinalClust","smog","SparseFactorAnalysis")
> db[Package %in% pkgs,.(Package,Version,Date,Published)][order(-Published)]
Package Version Date Published
<char> <char> <char> <char>
1: growfunctions 0.15 2021-06-23 2021-07-16
2: minimaxdesign 0.1.5 <NA> 2021-07-12
3: mixedClust 1.0.2 2021-03-21 2021-03-29
4: ordinalClust 1.3.5 2020-10-26 2020-11-19
5: smog 2.1.0 2020-08-01 2020-08-10
6: finity 0.1.4.1 2020-04-22 2020-04-23
7: HARModel 1.0 2019-08-30 2019-08-31
8: SparseFactorAnalysis 1.0 2015-07-20 2015-07-23
> |
Remainder of #391 and #402 as of 2023-12-18: > suppressMessages(library(data.table))
> db <- data.table(tools::CRAN_package_db())
> pkgs <- c("Rphylopars","finity","HARModel","minimaxdesign","mixedClust","ordinalClust","smog","SparseFactorAnalysis")
> db[Package %in% pkgs,.(Package,Version,Date,Published)][order(-Published)]
Package Version Date Published
<char> <char> <char> <char>
1: Rphylopars 0.3.9 2022-05-08 2022-05-09
2: minimaxdesign 0.1.5 <NA> 2021-07-12
3: mixedClust 1.0.2 2021-03-21 2021-03-29
4: ordinalClust 1.3.5 2020-10-26 2020-11-19
5: smog 2.1.0 2020-08-01 2020-08-10
6: finity 0.1.4.1 2020-04-22 2020-04-23
7: HARModel 1.0 2019-08-30 2019-08-31
8: SparseFactorAnalysis 1.0 2015-07-20 2015-07-23
> Edit: As of 2023-12-20, |
As of 2023-12-28: > suppressMessages(library(data.table))
> db <- data.table(tools::CRAN_package_db())
> pkgs <- c("Rphylopars","minimaxdesign","mixedClust","ordinalClust","smog","SparseFactorAnalysis")
> db[Package %in% pkgs,.(Package,Version,Date,Published)][order(-Published)]
Package Version Date Published
<char> <char> <char> <char>
1: Rphylopars 0.3.9 2022-05-08 2022-05-09
2: minimaxdesign 0.1.5 <NA> 2021-07-12
3: mixedClust 1.0.2 2021-03-21 2021-03-29
4: ordinalClust 1.3.5 2020-10-26 2020-11-19
5: smog 2.1.0 2020-08-01 2020-08-10
6: SparseFactorAnalysis 1.0 2015-07-20 2015-07-23
> |
All packages still listed in the previous update are now off CRAN. So this concludes the transition: a really large number of packages helped along and update, while a much smaller number of packages could not or would not but is no longer at CRAN. The transition is complete and the issue can now be closed. |
When we updated RcppArmadillo recently to help package Matrix propagate a change, we encountered a small change in Armadillo made between the 11.2.0 and 11.2.3 releases that marked our previous and current release. A number of packages would now throw deprecation warnings as Armadillo upstream activated those.
CRAN of course frowns on this so we temporarily disabled the warning in RcppArmadillo. Going forward we should aim to patch this in all affected packages, and we will try to provide PRs. This affects these packages:
(PR created 2022-09-04) (merged 2022-09-09) (no longer on CRAN as of 2022-11-20)
insert_rows()
signature) (no longer on CRAN as of 2023-12-07)insert_rows()
signature created, tested and emailed 2023-01-15) (new version on CRAN 2023-12-12)insert_rows()
signature) (merged 2023-01-18) (version 0.7.4 on CRAN 2023-01-18)The full log from the CRAN check (before we amended the now-uploaded version 0.11.2.3.1 to no flag deprecation) follows
I have not looked at every one of these in detail but it seems that most if not all are from the change in Armadillo which deprecated the long-used form of initialization via
<<
(which we turned off unconditionally in the most recent CRAN release). What is in the mainline here now (soinstall_github()
works), and can also be installed from the drat repo viainstall.packages("RcppArmadillo", repos=c("https://RcppCore.github.io/drat"))
has a conditional toggle which a) defaults to no deprecation for now to permit CRAN use and b) permits to re-enable deprecation to test your code. The code in the next 'detail' snippet has a minimal example. You need the newer RcppArmadillo from this repo or the drat to make it work.You see the difference betweeb
oldCode()
andnewCode()
: initialization by<<
(which Conrad wants to deprecate, but which we still allow to not get your package at CRAN) and initialization by the newer and preferred brace initialization common since C++11.ChangeLog:
The text was updated successfully, but these errors were encountered: