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

Deprecation policy #1575

Closed
fafhrd91 opened this issue Feb 1, 2017 · 12 comments
Closed

Deprecation policy #1575

fafhrd91 opened this issue Feb 1, 2017 · 12 comments
Labels

Comments

@fafhrd91
Copy link
Member

fafhrd91 commented Feb 1, 2017

we need some formal way to deprecate api/features/etc.

my suggestion, lets create DEPRECATIONS.txt, and whenever we add deprecation warning to code, we add entry to this file with links to code, reasons, and removal date.

@fafhrd91
Copy link
Member Author

fafhrd91 commented Feb 1, 2017

@kxepal
Copy link
Member

kxepal commented Feb 1, 2017

@fafhrd91
I fear it will make too complicated procedure of understanding what to expect in a new release since unlikely people will read DEPRECATIONS.txt or else file after CHANGES.txt.

How about to pick keepchangelog way and describe all the things in a CHANGES.txt as more verbose as they deserve? Having one single place that describes all the changes, deprecations, migrations and mitigations for a specific release is a good idea.

@fafhrd91
Copy link
Member Author

fafhrd91 commented Feb 1, 2017

this file is not for people, it is for us. for example i have no idea when to remove some deprecated api. and we have a lot.

@kxepal
Copy link
Member

kxepal commented Feb 1, 2017

That sounds like warning.warn('will be removed in X.Y.Z, use method foo() instead. See also #123 on GH', DeprecationWarning) and a related issue here for speciifed milestone would be enough. As a bonus, there would be a place to discuss surrounding problems, compatibility issues and the rest things. Once you decide to cut X.Y.Z. release, you'll have to close those tickets/PRs anyway so you wouldn't miss them and they wouldn't bloat a single text file.

@fafhrd91
Copy link
Member Author

fafhrd91 commented Feb 1, 2017

i still prefer one file, which i can just read and not browse gh.
sometimes we can not show deprecation warning, for example cookies back port for python3.4.2

@fafhrd91
Copy link
Member Author

fafhrd91 commented Feb 1, 2017

sure we will need to include info to changes about upcoming deprecations and removal of apis. but we can source it from one place.

@kxepal
Copy link
Member

kxepal commented Feb 1, 2017

Well, it's up to you, I just see DEPRECATIONS.txt as an another source of manual work: you'll have to not forget apply those deprecations in time. The tagged/milestoned issues are better reminders with a little bit more features like discussion and feedback accumulation.

@AlJohri
Copy link

AlJohri commented Feb 1, 2017

Maybe you can automatically generate deprecations.txt from running the test suite and capturing warnings or static code analysis for all deprecation warnings.

@fafhrd91
Copy link
Member Author

fafhrd91 commented Feb 1, 2017

we not always have deprecation warnings in-place, sometimes it is set of apis, for example wsgi.

@popravich
Copy link
Member

I'm agree with @kxepal — properly tagged issues should work better.
In my opinion DEPRECATIONS.txt would look like issues filtered by that tag...
Anyway I'm ok with any choice.

@fafhrd91
Copy link
Member Author

fafhrd91 commented Feb 2, 2017

i hate open issues.

@lock
Copy link

lock bot commented Oct 29, 2019

This thread has been automatically locked since there has not been
any recent activity after it was closed. Please open a new issue for
related bugs.

If you feel like there's important points made in this discussion,
please include those exceprts into that new issue.

@lock lock bot added the outdated label Oct 29, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Oct 29, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

4 participants