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

Add a deprecation section to the Contributing notes #2248

Merged
merged 7 commits into from
Dec 12, 2023
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,3 +158,9 @@ will run the tests for the specified rust version and specified image
If you're member of **paritytech** org - you can use command-bot to run various of common commands in CI:

Start with comment in PR: `bot help` to see the list of available commands.


## Deprecating code

When deprecating and removing code you need to be mindful of how this could impact downstream developers. In order to
mitigate this impact, it is recommended to adhere to the steps outlined in the [Deprecation Checklist](./DEPRECATION_CHECKLIST.md).
14 changes: 10 additions & 4 deletions docs/DEPRECATION_CHECKLIST.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
# Deprecation Checklist

This deprecation checklist makes sense while we don’t use [SemVer](https://semver.org/).
After that, this document will most likely change.
As deprecation and removal of existing code can happen on any release, we need to be mindful that external builders
could be impacted by the changes we make.
Polkadot SDK is under constant development and improvement, thus deprecation and removal of existing code happen often.
When creating a breaking change we need to be mindful that external builders could be impacted by this.
The deprecation checklist tries to mitigate this impact, while still keeping the developer experience, the DevEx, as
smooth as possible.

Expand Down Expand Up @@ -64,6 +62,13 @@ with the Release team.
The deprecated code finally gets removed.
Don’t forget to [announce this accordingly](#announce-the-deprecation-and-removal).

## Update the crate's version

Inline with [SemVer's guidelines](https://semver.org/#spec-item-4), update the major/minor version in `Cargo.toml`
depending on the following:
- bump the major version when the crate's version >= 1.0.0
- bump the minor version when the crate's version < 1.0.0
juangirini marked this conversation as resolved.
Show resolved Hide resolved

✅ In order to not forget any of these steps, consider using this template in your deprecation issue:

```markdown
Expand All @@ -76,4 +81,5 @@ Don’t forget to [announce this accordingly](#announce-the-deprecation-and-remo
- [ ] Plan removal version
- [ ] Announce code removal
- [ ] Remove deprecated code
- [ ] Update the crate's version
```
Loading