-
Notifications
You must be signed in to change notification settings - Fork 535
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
tools: add Breaking Change issue template #23326
base: main
Are you sure you want to change the base?
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
--- | ||
name: Breaking Change | ||
about: Track plans for a breaking change | ||
title: "Removal of ? in v2." | ||
jason-ha marked this conversation as resolved.
Show resolved
Hide resolved
|
||
labels: "breaking change" | ||
assignees: "" | ||
--- | ||
|
||
## Broken API or pattern | ||
|
||
<!-- Name the APIs involved specifically, etc. --> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Recommendation for format here? Commented-out examples for these sections (expected to be removed) might be useful. |
||
|
||
**Preparation References** | ||
|
||
<!-- A URL to the deprecation release notes. Alternatively, describe actions required where broken API or pattern is in use. --> | ||
|
||
**Packages** | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this seems duplicative of what will be in the change set for the break itself There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. can we reuse that changeset for much of this, it feels quite redundant to repeat the same things in different places and formats There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The release notes URL is the way to avoid redundancy. There should already be a changeset from deprecation changes that have made it to a release. ...unless you are really pushing the envelope. In the envelope pushing case, it would be okay to edit the issue after release or copy the content from the changeset. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. +1 on this section in particular - typing out the list of packages feels very tedious, when it's already captured in the changeset. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think I misread the initial comment. I don't know how to get GitHub to reference a single line. I focused on the deprecation notes section, but I suspect this is for packages. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
I see 3 different information sources here:
Stepping back to discuss the value prop of (2) as a whole -- During what time period would a consumer review this issue, and learn something new or do something different, compared to existing workflows around (1)? In other words, I expect that a highly engaged partner is reading all release notes for every minor, and taking action to prepare for the future. In that case, this issue will be a checksum, ideally a no-op. Same with (3). So the value prop seems to be -- we're putting in extra work to distill and refactor (1) as a way to peer into the future and see what (3) will be - while there's still time to do something about it without delaying the bump.
I see that, but I also feel the resistance to it. When do I ever type a package name? I don't - Imports happen automatically, the changeset tool gives me a list to choose from, etc. Hopefully that helps clarify what I'm seeing / bringing to this, for whatever it's worth.
Not sure how this would be accomplished without updatine changeset semantics to include the future version where a break will happen (in the changeset announcing it). But then what if plans change? Seems tricky. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. (@markfields - so that maybe you get a notification) I feel the resistance. It is hard to measure the needs of customers until we do something more uniform. It is also hard to see how hard it is to handle this request without trying. I feel like per the prior section the release notes / change set should be on-hand and you just need a little copy-paste. Part of the point of suggesting automation is that if it is hard to figure out, then (assuming the information is useful in the first place) it we should make it easy. Is the information useful?When I see a random API name, I don't know what package it is from often. As a consumer with API name and package name I can make enough links in my brain to have a really good guess if my stuff is impacted. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Definitely willing to try it! As long as we are collecting feedback from those who use this workflow (or that don't!) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah - I don't think I can get the feedback until 2.30+ since there is a lot of variety in 2.20 without this simplified template in place. |
||
|
||
<!-- A simple list of impacted packages --> | ||
|
||
**Expected Timeline** | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is implicit? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is probably the most annoying block for us to fill out. But should be good for clarity to reader. Might come to issue directly and not see the parent issue (or one wasn't linked) or maybe title doesn't have it. But never implicit. |
||
|
||
<!-- When you expect this API/pattern will be fully removed/unsupported. If possible, give a release version. --> | ||
|
||
**Reminders** | ||
|
||
<!-- Reminder: Assign this issue to somebody, if you are unsure who, assign it to yourself. --> | ||
|
||
<!-- Associate PR: link a PR from test/... branch in this repo (not in a fork). --> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What's the reason for the PR from test/ in upstream and not from a fork? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So that we can run our integration pipelines. For the legacy-alpha breaks we'll want to run Loop integration for sure. So far that means use a branch under test/ in the microsoft/FluidFramework repository. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I get the point, but I bet this is going to be a spot where people continually miss it. I have spent time thinking through these steps a lot recently, and I still (due to muscle memory) created my branch in my fork the first time. An alternative workflow is to push to a test branch ad hoc when it's time to run the pipeline, like Also, who do you expect to be running the CI pipeline? Each breaking change author? I haven't seen that called out as a requirement or recommendation. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is not the only instructions. I have process pending for the wiki, but I want to say use the breaking change template; so, I need this first. This is more or a reminder because yes people will miss things. |
||
|
||
<!-- By filing an Issue, you are expected to comply with the Code of Conduct: https://github.com/microsoft/FluidFramework/blob/main/CODE_OF_CONDUCT.md --> | ||
|
||
<!-- Lastly, be sure to preview your issue before saving, then remove this section. Thanks! --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does yaml front-matter in Markdown support yaml comments? If so, probably worth documenting these properties.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No idea. I just copied exiting template and edited.
Example at https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms doesn't have comments.
I also don't know how to test this before putting it out there - docs suggest there isn't.