-
Notifications
You must be signed in to change notification settings - Fork 80
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
Update SDK constraints for Dart 3.0 and 3.1 stable releases #2207
Update SDK constraints for Dart 3.0 and 3.1 stable releases #2207
Conversation
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.
@parlough Could you please clarify why the update is necessary? Technically using any SDK that currently satisfies the constraint we have is ok, so why do we want to make the constraint stricter? Generally we try to keep it a wide as possible to prevent integration problems. Unless something is breaking currently, I think it makes sense to keep the constraints as is until 3.2.0 is released, and then change them all at once, for all pubspec files that we have.
I apologize for not being super clear. Open for an example I just reproduced when just trying to evaluate a function.
Perhaps this is caused by a different issue as I'm not very familiar with these packages. However, reverting to webdev v3.0.6 or using a 3.2.0-dev SDK (with the new runtime debugger API) does fix the issue, so it seems to be at least partially related. As for the few other constraints, I thought it would be best to more closely standardize them, but I'd be happy to pull them back :) Edit: Updated incorrectly pasted constraint :) |
As a note, this doesn't fully fix the issue for Dart 3.1.X users, just prevents it from happening in potential next webdev releases as well. Even with a new release with these updated constraints, package resolution will still pull down |
@parlough This is indeed weird, as I remeber updating the constraints for the new debugger API... looks like the constraints are correct? (db1f552)
as the change I mentioned above shows they are >=3.1.0-340.0.dev <4.0.0, so i am not really sure what is happening. I'll investigate, will keep this thread updated |
Oops, I meant There's been some other similar issues with the 3.1.0 release, since the dev tags weren't updated to 3.2.0 until quite a bit after the final stable commits. If you check the 3.1.0 tag(https://github.com/dart-lang/sdk/commits/3.1.0), it looks like the last dev release to make it in without cherry picks was |
Hmm all stable 3.1.0 versions should have new debugger API... I could not repro this - I installed the sdk previous to the constraint and run |
Resolution will work correctly with The core issue is not a mistake on the side of webdev as the constraint should usually work, but due to the reality of the Dart 3.1.0 stable release which doesn't include all I will create a new issue with reproduction steps, but the reproduction requires using a stable release. Edit: Created an issue with reproduction steps dart-lang/sdk#53459 |
That seems like a bug! Thanks for creating an issue. 3.1.0 > 3.1.0-x semantically so the SDK should follow that versioning scheme... I will follow up on that. In the meanwhile, the current change is LGTM but you might need to rerun the failed tests (due to a bug in the SDK that is already fixed) |
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.
LGTM!
Hi @parlough, thanks for bringing this to our attention! Making sure I understand what the issue is:
If this is the case, I wonder if we could instead update the constraints to |
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.
Use the latest stable 3.1.1
Thank you both for taking a look at this. Sorry I didn't properly explain in the beginning.
Yeah I think it's been the source of confusion for a few issues. I opened and commented in dart-lang/sdk#53298 (comment) with some further context.
Your understanding is correct. Thanks for the summary.
As for using 3.1.1 as the lower SDK constraint. I don't think that will work either, as it still does not contain the debugger changes. In this PR I went with the first 3.2.0 dev release as that should be guaranteed to include it. |
Got it, thanks for the explanation. This looks good to me once the CHANGELOGS are updated to include the PR link. Thanks! |
@elliette Looks after this PR is in we need to remove the https://pub.dev/packages/webdev/versions/3.0.7 and release a new one. @nshahan - FYI: The new constraint should not block the new type system changes AFAIK, as both flutter and internal usage are already on some SDK past 3.2.0-0 |
I updated the changelog entries with a link to the PR :)
I think that sounds like the best course of action if it's possible. Default retraction only supports within 7 days so you may need to ask someone with administrative access to pub. I filed #2218 so that the follow-up release work isn't lost. |
Update SDK constraints for most packages to the first
dev
release of 3.2.0 since the stable 3.1.0 release doesn't actually include the DDC debugger runtime API changes, but will allow for package resolution with the3.1.0-...-dev
constraint and a 3.1.0 SDK. This will prevent that.Others are updated to stable releases.
Issue reference: dart-lang/sdk#53459