https://pub.dev/api/packages/meta/feed.atomRecently published versions of package meta on pub.dev2026-03-17T13:33:04.834526Zdart.devPub Feed GeneratorAnnotations used to express developer intentions that can't otherwise be deduced by statically analyzing source code.urn:uuid:5186efd8-7014-4800-a8a8-704c9e70937fv1.18.2 of meta2026-03-17T13:33:04.834526Z1.18.2 was published on Mar 17, 2026.
Changelog excerpt:
- Change private types in the public API signatures to `Object`.
- Update documentation to follow the "single line first paragraph" style.
- Make `visibleForTesting`documentation match actual behavior: The annotated member *can*be used in the `test/`directory of other packages.urn:uuid:867a1dc1-097a-4805-b0d7-89727d21f9fev1.18.1 of meta2026-01-27T20:05:47.005713Z1.18.1 was published on Jan 27, 2026.
Changelog excerpt:
- Allow `@awaitNotRequired`to annotate a typedef.urn:uuid:270c481c-8f89-474e-9f9c-7281a7f30d93v1.18.0 of meta2026-01-15T23:20:11.713398Z1.18.0 was published on Jan 15, 2026.
Changelog excerpt:
- The `@redeclare`annotation is no longer considered experimental.
- Two new TargetKinds are introduced: `TargetKind.exportDirective`, which indicates an annotation is valid on an export directive, and `TargetKind.partOfDirective`, which indicates an annnotation is valid on a "part of" directive.
- The `TargetKind.directive`value is deprecated in favor of the above new TargetKinds and the existing `TargetKind.library`.urn:uuid:78518929-9257-4808-90c9-61da8ad28d53v1.17.0 of meta2025-05-14T22:14:21.904911Z1.17.0 was published on May 14, 2025.
Changelog excerpt:
- Introduce `@awaitNotRequired`to annotate `Future`-returning functions and `Future`-typed fields and top-level variables whose value does not necessarily need to be awaited. This annotation can be used to suppress `unawaited_futures`and `discarded_futures`lint diagnostics at call sites.
For example, this `log`function returns a `Future`, but maybe the return value is typically not important, and is only useful in tests or while debugging:
```
`@awaitNotRequired Future<LogMessage> log(String message) { ... } void fn() { log('Message'); // Not important to wait for logging to complete. }````
Without the annotation on `log`, the analyzer may report a lint diagnostic at the call to `log`, such as `unawaited_futures`or `discarded_futures`regarding the danger of not awaiting the function call, depending on what lint rules are enabled.
- Mark `Required`and `required`as `@Deprecated`.
- Update SDK constraints to `^3.5.0`.urn:uuid:60d6b270-486b-4b7e-9c7e-8a0b18a6d444v1.16.0 of meta2024-09-19T20:22:46.879597Z1.16.0 was published on Sep 19, 2024.
Changelog excerpt:
- Add `TargetKind`s to a few annotations to match custom-wired behavior that the Dart analyzer has been providing:
- Require that `@factory`is only used on methods.
- Require that `@Immutable`is only used on classes, extensions, and mixins.
- Require that `@mustBeOverridden`and `@mustCallSuper`are only used on overridable members.
- Require that `@sealed`is only used on classes.
- Updated `@doNotSubmit`to (1) disallow same-library access (unlike other visibility annotation), (2) allow parameters marked with `@doNotSubmit`to be used in nested functions, and (3) disallowed `@doNotSubmit`on required parameters:
```
`import 'package:meta/meta.dart'; @doNotSubmit void a() {} void b() { // HINT: invalid_use_of_do_not_submit: ... a(); }````
```
`import 'package:meta/meta.dart'; void test({ @doNotSubmit bool solo = false }) { void nested() { // OK if (solo) { /*...*/ } } }````
```
`import 'package:meta/meta.dart'; void test({ // HINT: Cannot use on required parameters. @doN[...]urn:uuid:49dd9ed3-a24a-455f-a14f-f6c02acecc28v1.15.0 of meta2024-05-07T15:58:58.517731Z1.15.0 was published on May 7, 2024.
Changelog excerpt:
- Updated `@mustBeOverridden`to only flag missing overrides in concrete classes; in other words, abstract classes (including implicitly abstract, i.e `sealed`) and mixin declarations are *no longer required*to provide an implementation:
```
`import 'package:meta/meta.dart'; abstract class Base { @mustBeOverridden void foo() {} } class Derived extends Base { // ERROR: Missing implementation of `foo`. } abstract class Abstract extends Base { // No error. } sealed class Sealed extends Base { // No error. } mixin Mixin on Base { // No error. }````
See [https://github.com/dart-lang/sdk/issues/52965](https://github.com/dart-lang/sdk/issues/52965)for more information.
- Introduce `TargetKind.optionalParameter`, to indicate that an annotation is valid on any optional parameter declaration.
- Introduce `TargetKind.overridableMember`, to indicate that an annotation is valid on any instance member declaration.urn:uuid:62052f89-89d7-4d06-805b-a778cbc5eb5dv1.14.0 of meta2024-04-04T15:24:53.867533Z1.14.0 was published on Apr 4, 2024.
Changelog excerpt:
- Introduce `TargetKind.constructor`, to indicate that an annotation is valid on any constructor declaration.
- Introduce `TargetKind.directive`, to indicate that an annotation is valid on any directive.
- Introduce `TargetKind.enumValue`, to indicate that an annotation is valid on any enum value declaration.
- Introduce `TargetKind.typeParameter`, to indicate that an annotation is valid on any type parameter declaration.
- Introduce `@doNotSubmit`to annotate members that should not be submitted to source control, typically because they are intended to be used ephemerally during development.
One example is `package:test`'s `solo: ...`parameter, which skips all other tests in a test suite when set to `true`. This parameter is useful during development, but should be prevented from being submitted:
```
`import 'package:meta/meta.dart'; void test( String name, void Function() body, { @doNotSubmit bool solo = false }) { // ... }````
```
`import 'package:test/test.dart'; [...]urn:uuid:009ee2d4-63bd-469a-abf0-ef94856fc421v1.12.0 of meta2024-02-06T16:00:09.868490Z1.12.0 was published on Feb 6, 2024.
Changelog excerpt:
- Introduce the `@ResourceIdentifier`experimental annotation for static methods whose constant literal arguments should be collected during compilation.
- Indicate that `@required`and `@Required`are set to be deprecated for later removal.urn:uuid:414ef622-81f2-4d25-86de-d6942b68e10bv1.11.0 of meta2023-10-10T22:33:42.660447Z1.11.0 was published on Oct 10, 2023.
Changelog excerpt:
- Introduce `TargetKind.extensionType`to indicate that an annotation is valid on any extension type declaration.urn:uuid:45db6203-f056-4c6e-9df4-6fbbcd006e99v1.10.0 of meta2023-09-06T17:14:28.033524Z1.10.0 was published on Sep 6, 2023.
Changelog excerpt:
- Introduce `@redeclare`to annotate extension type members that redeclare members from a superinterface.
- Migrate the `TargetKind`enum to a class to ease the addition of new kinds.