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

[analyzer/meta] Proposal: Work towards package:meta next major release #54389

Open
parlough opened this issue Dec 16, 2023 · 0 comments
Open
Labels
analyzer-pkg-meta Issues related to package:meta area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion. P3 A lower priority bug or feature request type-task A well-defined stand-alone task

Comments

@parlough
Copy link
Member

parlough commented Dec 16, 2023

There are a few annotations that exist in package:meta that don't make sense in either a Dart 2 or Dart 3 world. To reduce API surface area and potentially misleading or confusing suggestions, work towards the next breaking major release (3.x.x) should be made.

To reduce any potential impact on the ecosystem which is used quite widely, a three step plan similar to the following could be used to get there:

1. Prepare for deprecation

  • Keep the ^2.12.0 SDK constraint for now
  • Indicate through API comments and changelog expected deprecations, to give another chance to adapt.
  • Make a 1.x release with these changes, likely 1.12.0 unless a new release is made before this point.

https://dart-review.googlesource.com/c/sdk/+/342281

2. Increase SDK constraint and deprecate

3. Update to next major version and begin implementing breaking changes

  • Update pubspec version to 3.0.0-wip to begin work on the breaking changes.
    • 3.0.0 is needed instead of 2.0.0 due to an accidental release of 2.0.0 previously.
  • Remove all deprecated annotations
    • This currently includes: @alwaysThrows, @checked, @virtual, and likely @required, @Required, @sealed.
  • Mark all classes as final as the classes in package:meta are not intended to be subclassed.
  • Clearly document all breaking changes in the package in the changelog.
  • Publish the major release :)
@parlough parlough added area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion. analyzer-pkg-meta Issues related to package:meta labels Dec 16, 2023
@parlough parlough changed the title [analyzer/meta] Work towards package:meta next major release [analyzer/meta] Proposal: Work towards package:meta next major release Dec 17, 2023
@srawlins srawlins added type-task A well-defined stand-alone task P3 A lower priority bug or feature request labels Dec 18, 2023
copybara-service bot pushed a commit that referenced this issue Jan 10, 2024
This CL standardizes some comment formats, adds a few missing doc comments, and updates a few others.

It also adds text to a few annotations indicating they are likely to be deprecated in a future release and what the migration path is.

Contributes to #54389

Change-Id: I4fc6d9767378b855a1ab2a1978747fbe18850605
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/342281
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Auto-Submit: Parker Lougheed <parlough@gmail.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
analyzer-pkg-meta Issues related to package:meta area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion. P3 A lower priority bug or feature request type-task A well-defined stand-alone task
Projects
None yet
Development

No branches or pull requests

2 participants