Skip to content

Conversation

@mwbrooks
Copy link
Member

@mwbrooks mwbrooks commented May 1, 2025

Summary

This pull request is a follow-up from PR #70 that adds documentation around deprecating a feature in code:

  • Updates MAINTAINERS_GUIDE.md explaining how to deprecate a public and internal feature
  • Updates // TODO(semver:major): to // DEPRECATED(semver:major):

We're aligning on // DEPRECATED: and // DEPRECATED(semver:major): because Golang appears to use a similar convention. If anyone thinks we should use a different convention, happy to hear it! 👂🏻

Requirements

@mwbrooks mwbrooks added docs M-T: Documentation work only semver:patch Use on pull requests to describe the release version increment labels May 1, 2025
@mwbrooks mwbrooks added this to the Next Release milestone May 1, 2025
@mwbrooks mwbrooks self-assigned this May 1, 2025
@mwbrooks mwbrooks requested a review from a team as a code owner May 1, 2025 21:01
@codecov
Copy link

codecov bot commented May 1, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 63.18%. Comparing base (eac66e3) to head (5edb487).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #74   +/-   ##
=======================================
  Coverage   63.18%   63.18%           
=======================================
  Files         210      210           
  Lines       22187    22187           
=======================================
  Hits        14018    14018           
  Misses       7082     7082           
  Partials     1087     1087           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@mwbrooks mwbrooks modified the milestones: v3.1.0, Next Release May 2, 2025
Copy link
Member

@zimeg zimeg left a comment

Choose a reason for hiding this comment

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

@mwbrooks Thank you for putting these steps into writing and matching what's now noted in code!

A process around deprecations is so nice to allow useful changes that might not be backwards compatible, and I am glad we can be encouraging in these updates to latest 🎁

One comment I left adds a word but the meanings are so good.


- Public functionality should be deprecated on the next `semver:major` version
- Add the comment `// DEPRECATED(semver:major): Description about the deprecation and migration path`
- Print a warning `PrintWarning("DEPRECATED: Description about the deprecation and migration path")`
Copy link
Member

Choose a reason for hiding this comment

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

This will be so helpful in moving to the next major versions! I am a big fan of this pattern, even if it causes noise after an update 📚 ✨


// Fallback check for slack.json and .slack/slack.json file
// TODO(semver:major): remove both fallbacks next major release
// DEPRECATED(semver:major): remove both fallbacks next major release
Copy link
Member

Choose a reason for hiding this comment

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

This is so much more obvious! 🙏

I find searches for TODO raised false positives and I'm so glad to align on the go conventions you note 📝

Also, thanks for finding these instances in code!

Copy link
Member Author

Choose a reason for hiding this comment

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

I agree, so far this makes assessing the effort involved in removing a deprecation a lot easier!

@mwbrooks
Copy link
Member Author

mwbrooks commented May 5, 2025

@zimeg Thanks for catching my grammar mistake! 📝 🐝 Looks like we can go ahead and merge this one!

@mwbrooks mwbrooks merged commit 249fb52 into main May 5, 2025
6 checks passed
@mwbrooks mwbrooks deleted the mwbrooks-maintainers-guide-deprecation branch May 5, 2025 20:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs M-T: Documentation work only semver:patch Use on pull requests to describe the release version increment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants