-
Notifications
You must be signed in to change notification settings - Fork 700
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 Breaking changes page #5048
Comments
I'm going to revise the initial proposal and my questions based on some context I've gained:
So, new questions are:
TODO:
|
I do think this is useful as it gives users a chance to prepare and make preparatory changes for breaking changes, potentially avoiding issues completely, or at the very least to be aware of it so it doesn't come out of nowhere.
Edit: Thinking about it more, perhaps keeping it in the issues and linking to them is easier while reducing duplication. We would just need to make sure the issues are clear about migration path. |
So, I just asked some of the Dart team leads and they said this is what they were imagining. I was previously imagining what you described, the way Flutter does it, because I think that's a really useful kind of documentation. But my question was more along the lines of "do you see your engineers writing that kind of documentation and will that be part of the official breaking change process" and the answer was basically no, along the lines of:
They did say they might consider an optional step in the release process that would ask whether a page dedicated to the topic would be useful. I think that could even be something I could circle back with engineers on, if I see a breaking change added that I think could use a long-form page but maybe they opted against it, I can ask them to do so anyway.
Definitely, and that's something we could call out in the index page intro too, e.g. "Click on the change link for migration steps, etc." If we find that's often not enough for users, or users are following those links but still have questions, we should revisit making the dedicated pages part of the official process |
Thanks for the clarification. That makes sense and sounds great to me! Especially with a clear question during the process if a dedicated page is necessary. |
@leafpetersen do we want to do something like Flutter's "Deprecated APIs removed after..." entries in Dart's breaking changes list too (e.g.)? |
IMHO, GitHub/Gerrit PRs and issues are not really suitable for user-facing documentation. They're appropriate for people who want to become part of the team and contribute. It's like giving someone galley proofs instead of a bound volume when buying a book. Or having theatre crew wear jeans and a t-shirt and walk onto the stage to move the set between acts. It's just uncouth. :-) Another reason I would avoid sharing issue links in user-facing documentation is that we have literally millions of users and if even 0.01% of our users comment on each issue we link to, that's still >100 comments per issue. FWIW, part of the reason Flutter has the rule about writing migration guides (which are expensive to write) is to discourage us from making breaking changes. The more expensive we make breaking changes for us, the more careful we are about making them. The overhead is intentional. |
@MaryaBelanger This is great, thanks! I left a number of smaller comments. My main feedback is that I think we should include deprecations in the list. For deprecations, there are two steps.
|
I hear the concern about getting overwhelmed by comments, but I feel fairly strongly that at least for the time being we should link to the breaking change issue somewhere in the documentation. There should be a path for users to comment and provide feedback. If and when we reach the point where the volume of comments is too high, we can reconsider.
This is fair. We have in general on the Dart side adopted a bit more of a "close to the metal" approach than Flutter has, but I'm open to making this a bit more polished (i.e. have a dedicated subpage). My main concerns are 1) not making people do to much pointless busywork writing up the same text in two different places (the issue, and then the doc page), and 2) ensuring that we have a process in place to keep things in sync and up to date. For 1) - I'm not interested in imposing busy work on people just to discourage them from doing breaking changes. Doing a breaking change is already highly punitive, it usually requires some poor soul to propose, document, and make the change, break flutter, revert the change, try to fix flutter, repeat for a while; then do the same for google3, etc etc. Adding busy work is a non-goal, and writing the same text twice in two different places feels like busywork (proposers of breaking changes already have to fill out an issue with details, mitigation, etc). So if we do this, I'd like it to be quite low overhead. @MaryaBelanger would it be easy to just provide a simple template and a quick workflow, so that when a change is approved, the proposer could just take the already written text from the github issue and fairly quickly fill in a template and upload it as a PR? An alternative would be to just create that page at the start and have the github issue just link to the web page, but I'm concerned about losing history on proposals that get rejected. For 2), @itsjustkevin thoughts on this? |
Updating remaining ToDo for me (7/24):
|
Part of dart-lang/sdk#52828:
Plan:
The goal is just to have a breaking changes page that's easily accessible/discoverable for users (currently, the change log is the only place that info is collected). We don't need to recreate Flutter's whole implementation.
The CHANGELOG will stay in the sdk repo, and won't be duplicated on the site in any way.
The new page will be modeled after Flutter's:
Past breaking changes per release will need to be pulled in to the new page to populate past release sections.
For now, we've decided to link to the change's corresponding issue (like the change log does now).
The text was updated successfully, but these errors were encountered: