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

Provide a new deprecation policy that provide stronger guarantees for users #16547

Open
jriddy opened this issue Aug 16, 2022 · 0 comments
Open
Assignees

Comments

@jriddy
Copy link
Contributor

jriddy commented Aug 16, 2022

Is your feature request related to a problem? Please describe.
The current deprecation policy provides very little guarantee of stability across versions and time, even for elements of the public-facing API. This results in a considerable amount of churn for users.

Although this can be somewhat helped by tooling to help upgrade, tooling doesn't help with:

  • scripting outside of Pants
  • reverting to past versions
  • muscle memory learned by typing things

The rapid change can also give the impression that Pants is unstable, unpolished, or otherwise not ready for game time. Though many of the features being provided are really interesting, they could also hinder adoption if care is not taken in how they are presented or conserved across versions.

Describe the solution you'd like
We need a deprecation policy that does allow for some churn, and pushes us to have good defaults, but also doesn't break existing users, or does so as sparingly as possible.

To do this we'll have a design doc that we can discuss on, and then we can write a formal deprecation policy based on that.

Describe alternatives you've considered
n/a

Additional context
This was discussed in the Pants contributor meeting on Aug 15, 2022

Eric-Arellano added a commit that referenced this issue Aug 19, 2022
…].repos` (#16582)

`find_links` matches the Python ecosystem with pip and Pex. This would have been a better name from the start. 

At the same time, we are trying to give stronger backward compatibility for users: #16547. It's relatively cheap for us to support both option names ~indefinitely.

Note that #15627 took away the ability to give multiple flag names for the same option, which we could have used here. I debated reviving that, but I think this is preferable because it makes clear which option is preferred. Users will get a deprecation message when using `[python-repos].repos`, although they can silence it with `--ignore-warnings`.

[ci skip-rust]
cczona pushed a commit to cczona/pants that referenced this issue Sep 1, 2022
…].repos` (pantsbuild#16582)

`find_links` matches the Python ecosystem with pip and Pex. This would have been a better name from the start. 

At the same time, we are trying to give stronger backward compatibility for users: pantsbuild#16547. It's relatively cheap for us to support both option names ~indefinitely.

Note that pantsbuild#15627 took away the ability to give multiple flag names for the same option, which we could have used here. I debated reviving that, but I think this is preferable because it makes clear which option is preferred. Users will get a deprecation message when using `[python-repos].repos`, although they can silence it with `--ignore-warnings`.

[ci skip-rust]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant