-
Notifications
You must be signed in to change notification settings - Fork 98
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
CRAN release & adonis deprecation: Request for Comments #523
Comments
Thanks for the heads up @jarioksa! I'm happy to go with either option (i.e. the release in between with |
Hi Jari,
Thank you so much for this email and an opportunity to provide feedback on this issue. I apologize for the late response, but I have been on vacation and it has taken me some time to get through my emails.
I was also planning a new QFASA CRAN release and aiming towards the end of the summer or early fall. I will plan to simply switch the adonis function calls to adonis2 in the new version - hoping that this can be done without any major issues. As such, it should not make too much of a difference for QFASA how you decide to proceed.
I do have one question, if you don’t mind. I am by no means an expert on R packages and I’m wondering if you could elaborate on your comment: In addition, QFASA passes tests without WARNING, but uses adonis without explicit import as vegan::adonis(). In particular, I was wondering if the QFASA R package is doing something unusual that should be fixed?
Thanks again!
Connie
Dr. Connie Stewart
Professor • Department of Mathematics and Statistics
Ganong Hall, Room 200 • Saint John
T 506 648-5725
[University of New Brunswick]
[Facebook]/uofnb<https://www.facebook.com/uofnb> [Twitter] @unb<https://twitter.com/UNB> [Instagram] @discoverunb<https://instagram.com/discoverunb/> UNB.ca<http://www.unb.ca/>
Confidentiality Note: This email and the information contained in it is confidential, may be privileged and is intended for the exclusive use of the addressee(s). Any other person is strictly prohibited from using, disclosing, distributing or reproducing it. If you have received this communication in error, please reply by email to the sender and delete or destroy all copies of this message.
From: Jari Oksanen ***@***.***>
Sent: August 8, 2022 7:58 AM
To: vegandevs/vegan ***@***.***>
Cc: Connie Stewart ***@***.***>; Mention ***@***.***>
Subject: [vegandevs/vegan] CRAN release & adonis deprecation: Request for Comments (Issue #523)
✉External message: Use caution.
I am planning a new CRAN release of vegan in the latter half of August. There are quite a few changes, although nothing very dramatic. For most users the main thing may be wider and robuster support for tidy dialect and ggplot graphics. See inst/NEWS.Rd for details of the numerous other changes.
For release the main thing may be that I had planned to deprecate adonis in favour of adonis2 in this release. adonis2 was released in vegan 2.4-0 on Jun-15 2016 or more than six years ago, but it seems that most dependent packages still use adonis. I ran reverse dependence tests, and found out that six packages will issue a WARNING if adonis is deprecated: betaper, GUniFrac, microbial, RVAideMemoire, SigTree and smartsnp. In addition, QFASA passes tests without WARNING, but uses adonis without explicit import as vegan::adonis(). Similar test is performed in CRAN and new WARNINGs are flagged as changes to "worse", and may cause ripples in the smooth submission process. Therefore I'd like to avoid those changes to "worse". I planned to deprecate adonis already in the current release 2.6-2, but just to avoid problems I changed warning() to message("'adonis' will be deprecated: use 'adonis2' instead") which is not flagged in the CRAN process. I also emailed to those package authors on 15-Apr 2022. My dependence tests were less complete then, and did not include many packages dependent on BioConductor, and I only found five "worse" cases. Two of these were fixed promptly (dispRity and microeco), but three are still in the current list of regressions.
I'm still uncertain what to do or what should be the deprecation policy. My initial plan was just to phase out and remove adonis and leave only adonis2. However, dispRity defines an S3 method for adonis (and correctly handles adonis2), and obviously prefers to keep the name. One choice is to keep the name adonis in vegan, but eventually synonymize it with adonis2. The API is similar in both and if the function is just used via vegan API, users should see no difference (adonis2 offers more choices, but default is similar as old adonis). However, if packages try to access the internal structures of the result object, they will fail because intestines of adonis and adonis2 are completely different.
One way to proceed is:
1. Keep the 2.6-2 behaviour in the next release: print message() of future deprecation, but run adonis.
2. In a future release, print message, but run adonis2. That is, to remove adonis code and make commands adonis and adonis2 synonyms. This will give an error if there is a package that tries to access internals of the result object, but normal use should see no difference.
I just wonder, if there should be one release in between with warning to alert those package authors that access the adonis2 result object directly.
CC: @cstewartGH<https://github.com/cstewartGH> @ChristianHuber<https://github.com/ChristianHuber> @TGuillerme<https://github.com/TGuillerme> @ChiLiubio<https://github.com/ChiLiubio>
—
Reply to this email directly, view it on GitHub<#523>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AEUC2MAUJXP52EFNLNM4D43VYDR2JANCNFSM554VYPIA>.
You are receiving this because you were mentioned.Message ID: ***@***.******@***.***>>
|
Discussed in github issue #523. Step 1 is to keep here 2.6-2 behaviour and print a message.
I've done a PR on QFASA to add an I think a recent commit (23f6833) from you @jarioksa has loosened the deprecation warnings to just a message. So I assume you are going with something like your wondering "if there should be one release in between with warning to alert those package authors that access the My personal opinion would be that we eventually make I appreciate this will cause some CRAN headaches but so long as we follow the approved route of contacting maintainers, then deprecating |
Thank you for this! I have updated the QFASA package with adonis2() (which required a few changes to my code) but I am still in the process of making other changes to the package and haven't submitted it to CRAN yet. |
The failing packages still using adonis after release of adonis2 on June 15, 2016 (vegan 2.4-0) are betaper, GUniFrac, microbial, RVAideMemoire, SigTree and smartsnp.
vegan 2.6-4 is now on CRAN. It will extend the mercy period and only print a message of future |
Hello, dear friends. I would like to know how I can get the pdf. file to learn how to use vegan. |
I am about to publish next version of vegan (finally) with deprecation of RVAideMemoire is actively maintained, and one of its core functions switched to Packages betaper, microbial, SigTree and smartsnp have not been fixed. I emailed to maintainers in 2022, but none of them answered. The latest CRAN versions of these are from 2017 to 2021, and the packages may be forgotten and unmaintained. I'll mail these maintainers again, but I do not expect responses now (I did not get any responses in 2022). I have not looked at the source code of these four packages, and I do not know how |
Thank you for the notification! I had previously changed adonis to adonis2 in a past QFASA package update. 😊
Connie
CONNIE STEWART (She/Her/Hers)<http://www.unb.ca/pronouns>
On Sabbatical Leave
Professor and Department Chair • Mathematics and Statistics, Department of
T 506 648-5725
[University of New Brunswick]
[Facebook]/uofnb<https://www.facebook.com/uofnb> [Twitter] @unb<https://twitter.com/UNB> [Instagram] @discoverunb<httpss://instagram.com/discoverunb/> UNB.ca<https://www.unb.ca/>
UNB stands on the unsurrendered and unceded traditional Wolastoqey land as established in a series of Peace and Friendship Treaties.
Confidentiality Note: This email and the information contained in it is confidential, may be privileged and is intended for the exclusive use of the addressee(s). Any other person is strictly prohibited from using, disclosing, distributing or reproducing it. If you have received this communication in error, please reply by email to the sender and delete or destroy all copies of this message.
From: Jari Oksanen ***@***.***>
Sent: November 21, 2024 8:10 AM
To: vegandevs/vegan ***@***.***>
Cc: Connie Stewart ***@***.***>; Mention ***@***.***>
Subject: Re: [vegandevs/vegan] CRAN release & adonis deprecation: Request for Comments (Issue #523)
❗External message: Use caution.
adonis was deprecated in CRAN release 2.6-6 and is defunct in github version 2.7-0. This breaks some CRAN packages. Issue #647<#647> monitors the breaking packages, and Announcement #641<#641> gives instructions of adapting your packages and scripts to the changes.
—
Reply to this email directly, view it on GitHub<#523 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AEUC2MEX3YECXA6VLT6R57T2BXETBAVCNFSM6AAAAABSG3CNPSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOJQHE3DOOJYGE>.
You are receiving this because you were mentioned.Message ID: ***@***.******@***.***>>
|
@cstewartGH , yes I know your package is OK. I was closing some old and solved issues, and github automatically sent messages to people involved in those issues. This was an unfortunate flashback. My apologies. |
That’s great! I appreciate the confirmation that I hadn’t missed something. 😊
Connie
From: Jari Oksanen ***@***.***>
Sent: November 21, 2024 5:13 PM
To: vegandevs/vegan ***@***.***>
Cc: Connie Stewart ***@***.***>; Mention ***@***.***>
Subject: Re: [vegandevs/vegan] CRAN release & adonis deprecation: Request for Comments (Issue #523)
❗External message: Use caution.
@cstewartGH<https://github.com/cstewartGH> , yes I know your package is OK. I was closing some old and solved issues, and github automatically sent messages to people involved in those issues. This was an unfortunate flashback. My apologies.
—
Reply to this email directly, view it on GitHub<#523 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AEUC2MBMVZD7GZA7ZZR4C2D2BZEEHAVCNFSM6AAAAABSG3CNPSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOJSGM2DINZXGE>.
You are receiving this because you were mentioned.Message ID: ***@***.******@***.***>>
|
I am planning a new CRAN release of vegan in the latter half of August. There are quite a few changes, although nothing very dramatic. For most users the main thing may be wider and robuster support for tidy dialect and ggplot graphics. See NEWS for details of the numerous other changes.
For release the main thing may be that I had planned to deprecate
adonis
in favour ofadonis2
in this release.adonis2
was released in vegan 2.4-0 on Jun-15 2016 or more than six years ago, but it seems that most dependent packages still useadonis
. I ran reverse dependence tests, and found out that six packages will issue a WARNING ifadonis
is deprecated: betaper, GUniFrac, microbial, RVAideMemoire, SigTree and smartsnp. In addition, QFASA passes tests without WARNING, but usesadonis
without explicit import asvegan::adonis()
. Similar test is performed in CRAN and new WARNINGs are flagged as changes to "worse", and may cause ripples in the smooth submission process. Therefore I'd like to avoid those changes to "worse". I planned to deprecateadonis
already in the current release 2.6-2, but just to avoid problems I changedwarning()
tomessage("'adonis' will be deprecated: use 'adonis2' instead")
which is not flagged in the CRAN process. I also emailed to those package authors on 15-Apr 2022. My dependence tests were less complete then, and did not include many packages dependent on BioConductor, and I only found five "worse" cases. Two of these were fixed promptly (dispRity and microeco), but three are still in the current list of regressions.I'm still uncertain what to do or what should be the deprecation policy. My initial plan was just to phase out and remove
adonis
and leave onlyadonis2
. However, dispRity defines an S3 method foradonis
(and correctly handlesadonis2
), and obviously prefers to keep the name. One choice is to keep the nameadonis
in vegan, but eventually synonymize it withadonis2
. The API is similar in both and if the function is just used via vegan API, users should see no difference (adonis2
offers more choices, but default is similar as oldadonis
). However, if packages try to access the internal structures of the result object, they will fail because intestines ofadonis
andadonis2
are completely different.One way to proceed is:
message()
of future deprecation, but runadonis
.message
, but runadonis2
. That is, to removeadonis
code and make commandsadonis
andadonis2
synonyms. This will give an error if there is a package that tries to access internals of the result object, but normal use should see no difference.I just wonder, if there should be one release in between with
warning
to alert those package authors that access theadonis2
result object directly.CC: @cstewartGH @ChristianHuber @TGuillerme @ChiLiubio
The text was updated successfully, but these errors were encountered: