Skip to content
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

[R] Change behavior around renamed / removed arguments #11095

Merged
merged 3 commits into from
Dec 28, 2024

Conversation

david-cortes
Copy link
Contributor

@david-cortes david-cortes commented Dec 12, 2024

ref #9810

In a previous PR (#11074), many function arguments were removed.

Currently, the logic is that passing parameters through ... results in errors, which is the behavior we want to have for functions like xgb.train. But to make a potential CRAN release easier, perhaps a first release of the new interface could be more lenient.

This PR changes the default behavior to instead accept arguments that were present in the latest CRAN release of xgboost, but issuing a warning. It adds an option xgboost.strict_mode that would turn these warnings into errors as a workaround, without needing to keep them in signatures.

Ideally we could remove this whole system soon after we land a new release on CRAN.

Note: it assumes that this other PR #11077 should have been merged

@trivialfis
Copy link
Member

trivialfis commented Dec 13, 2024

We will have a new cran package named something like xgboost3 instead of reusing the existing package. So, a clean break is preferable.

Note: it assumes that this other PR #11077 should have been merged

Would you like to merge that PR first?

@david-cortes
Copy link
Contributor Author

Would you like to merge that PR first?

Yes, would be ideal to merge that PR.

We will have a new cran package named something like xgboost3 instead of reusing the existing package. So, a clean break is preferable.

I nervetheless think a warning with option to turn into error could be a good trade off for the very first release for reverse dependencies.

@david-cortes
Copy link
Contributor Author

In particular, if one a user ends up with parallel installs of xgboost and xgboost3, there might be name clashes on dependencies that use xgboost functions as they adapt; and if released under the same name xgboost, it'd give a much longer time period for dependencies to adapt.

@trivialfis
Copy link
Member

We weren't able to publish the 2.0 release because someone libraries have hard coded accuracy in their tests. We changed the default tree method in addition to the new init estimation. It's unlikely that we can publish under the same name

@trivialfis trivialfis merged commit 198c3e1 into dmlc:master Dec 28, 2024
57 of 58 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants