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

Deprecated functionality #1349

Merged
merged 3 commits into from
Sep 26, 2020
Merged

Conversation

shadowspawn
Copy link
Collaborator

@shadowspawn shadowspawn commented Sep 8, 2020

Pull Request

We keep functionality around to avoid breaking backwards compatibility for as long as reasonable.

How should we talk about old functionality, especially that we might delete one day? How do people find out about the new/better ways of doing things?

The semver pattern is to explicitly deprecate functionality before it can be removed in a future major version. We can do this early, or just-in-time with a minor release to deprecate some functionality and then remove it immediately in the next major version.

Problem

  • how do we discourage use of old functionality?
  • how do people with old code find out what it does?
  • how to people with old code find out new approach?

Solution

Explicitly deprecate old functionality:

  • remove from README (so new people don't see it)
  • remove descriptions from JSDoc and TSDoc if does not break code
  • mark as @deprecated if possible for IDE feedback
  • add to separate documentation for deprecated routines
    • what it did
    • version it was deprecated
    • replacement
    • version it was deleted, if/when it is deleted

@shadowspawn
Copy link
Collaborator Author

(Previously started in #1314 but that included undocumented features, which was somewhat a contradiction. 😄 )

@shadowspawn shadowspawn added the semver: major Releasing requires a major version bump, not backwards compatible label Sep 8, 2020
@shadowspawn shadowspawn changed the base branch from master to release/7.x September 8, 2020 09:23
@shadowspawn shadowspawn changed the title Deprecated routines Legacy routines Sep 12, 2020
@shadowspawn

This comment has been minimized.

@shadowspawn shadowspawn changed the title Legacy routines WIP: Legacy routines Sep 12, 2020
@shadowspawn shadowspawn changed the title WIP: Legacy routines WIP: Legacy code Sep 12, 2020
@shadowspawn shadowspawn changed the title WIP: Legacy code WIP: Legacy functionality Sep 12, 2020
@shadowspawn shadowspawn changed the title WIP: Legacy functionality WIP: Deprecated functionality Sep 12, 2020
@shadowspawn shadowspawn removed the semver: major Releasing requires a major version bump, not backwards compatible label Sep 13, 2020
@shadowspawn shadowspawn added this to the v7.0.0 milestone Sep 13, 2020
@shadowspawn shadowspawn changed the title WIP: Deprecated functionality Deprecated functionality Sep 26, 2020
@shadowspawn shadowspawn marked this pull request as ready for review September 26, 2020 00:26
Copy link
Collaborator

@abetomo abetomo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's very easy to understand.

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.

2 participants