Skip to content

Releases: dart-lang/source_gen

package:source_gen v2.0.0

17 Dec 17:41
947a0e2
Compare
Choose a tag to compare
  • Breaking Change: Change formatOutput function to accept a language
    version parameter.
  • Formatting Change: Generated code will no longer apply any fixes by
    default (previously it would apply the single cascades statements fix). The
    new formatter does not support applying fixes.
  • Document deduplication behavior for the output of
    GeneratorForAnnotation.generateForAnnotatedElement.
  • Support all the glob quotes.
  • Require analyzer: '>=6.9.0 <8.0.0'
  • Support the latest package:dart_style
  • LibraryBuilder, PartBuilder, and SharedPartBuilder now take an optional
    writeDescriptions boolean. When set to false, headers and generator
    descriptions for the files will not be included in the builder output.
  • Include //dart format width=80 comments in files generated by a
    LibraryBuilder or PartBuilder and formatted with the default callback.
  • Require Dart 3.6.0

package:source_gen v1.5.0

13 Dec 22:52
241e050
Compare
Choose a tag to compare
  • Add throwOnUnresolved configuration to the GeneratorForAnnotation
    constructor.
  • Rename InvalidGenerationSourceError to InvalidGenerationSource. Change
    from a subtype of Error to a subtype of Exception. This may be breaking if
    a builder relies on a on Exception catch to ignore this error.

package:source_gen v1.4.0

29 Jun 18:47
8e53b9d
Compare
Choose a tag to compare
  • Require Dart 3.0
  • Support the latest package:analyzer.
  • Add a node argument to InvalidGenerationSourceError to allow finding the source location from an AstNode over an Element.

source_gen version 1.3.1

09 May 16:34
3d1f86b
Compare
Choose a tag to compare
always use a Uri in `part of` directives (#665)

Closes google/json_serializable.dart#1313

v0.9.1

10 Sep 19:29
1e87e13
Compare
Choose a tag to compare

0.9.1

  • The result of ConstantReader.revive() now returns a Revivable that assumes
    access to a private class, constructor, or function instead of null where
    possible. This allows generators that use part files to still use this
    functionality and allows generators that use separate libraries to emit more
    actionable error messages (i.e. "cannot use private class _X").

  • Revivable.isPrivate now returns true when the underyling class was public
    but the constructor was private, or the Revivable was pointing to a
    top-level or static private field or method. Previously it was only true
    when referencing a private class.

0.8.2

14 Jun 19:09
76c6345
Compare
Choose a tag to compare
  • Simplification to the output of generator names in header sections.

  • Update handling of whitespace in generator outputs.

    • If the output from a generator has wrapping whitespace, it is trimmed.
    • If the output from a generator is empty or whitespace-only, it is ignored.
    • These changes will likely have no effect on output, unless you customize
      the code formatter.

v0.8.1

16 Apr 17:36
5b2a8a9
Compare
Choose a tag to compare
  • Cleanup logging output that duplicates headers provided by
    package:build_runner.

  • InvalidGenerationSourceError added an optional element
    parameter to support more helpful error messages.

v0.8.0

29 Mar 16:54
8bf5d08
Compare
Choose a tag to compare
  • BREAKING removed the deprecated requireLibraryDirective parameter in
    PartBuilder.

  • Revivable no longer throws a type error when attempting to revive a
    reference to a top-level function or static-class method. Now is returns a
    reference to that function or method, as expected.

v0.7.6

07 Mar 21:42
e856173
Compare
Choose a tag to compare

0.7.6

  • TypeChecker now throws an UnresolvedAnnotationException with a more
    detailed exception body (and properties useful for further debugging) instead
    of Could not resolve @null.

v0.7.5+1

15 Feb 17:56
4219ddd
Compare
Choose a tag to compare
  • LibraryBuilder and PartBuilder now have a more readable toString(),
    which is useful when emitting a warning or error in a build system. For
    example you may see Generating .g.dart: MyBuilder instead of
    Instance of LibraryBuilder in your build logs.