[analyzer/meta] Proposal: Work towards package:meta
next major release
#54389
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
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
^2.12.0
SDK constraint for now1.x
release with these changes, likely1.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.0.0
as language versions before 2.12 are no longer supported at that point.@sealed
(Deprecate@sealed
annotation #53310)@required
and@Required
(Should pkg/meta's @required be deprecated for Dart v3? #49568)@required
in null-safe code as a deprecation notice. #49066). This could be part of this release if determined as essential.meta_dart2js
annotations if they aren't providing the value they hoped for.1.x
release, perhaps will be1.13.0
with these deprecations.3. Update to next major version and begin implementing breaking changes
3.0.0-wip
to begin work on the breaking changes.3.0.0
is needed instead of2.0.0
due to an accidental release of2.0.0
previously.@alwaysThrows
,@checked
,@virtual
, and likely@required
,@Required
,@sealed
.final
as the classes inpackage:meta
are not intended to be subclassed.The text was updated successfully, but these errors were encountered: