Skip to content

Releases: google/built_value.dart

Upgrade to build 0.10.0, build_runner 0.4.0

06 Sep 15:34
Compare
Choose a tag to compare

This release requires minor tweaks to your build.dart and watcher.dart, hence the major version bump. Please follow the examples:

https://github.com/google/built_value.dart/blob/master/example/tool/build.dart
https://github.com/google/built_value.dart/blob/master/example/tool/watch.dart

Breaking changes to serialization

06 Sep 12:20
Compare
Choose a tag to compare

This release contains two breaking changes to serialization.

First, DateTime serialization is fixed. Previously, it discarded microseconds. This is an incompatible change to the data format. If you need help adapting data using the old format, please file an issue.

Second, the way classes to serialize are discovered has changed. Previously, they were found by searching all available Dart libraries. This was slow and hard to control. Instead, there is a new annotation, @SerializersFor, which needs to be added to your serializers declaration. See the example.

Configurable nested builders

04 Aug 11:24
Compare
Choose a tag to compare
  • Add "nestedBuilders" setting. Defaults to true; set to false to stop using nested builders by default in fully generated builders.
  • Allow fields to be called 'result'.
  • Fix generation when a field is a noninstantiable built value: don't try to instantiate the abstract builder

Update to source_gen 0.7.0

02 Aug 09:38
Compare
Choose a tag to compare
  • Update to source_gen 0.7.0.
  • Please make the following trivial update to your build.dart and
    watch.dart: replace the string GeneratorBuilder with PartBuilder.

Fix generated code when implementing generic non-instantiable Built class

10 Jul 13:27
Compare
Choose a tag to compare
Merge pull request #191 from davidmorgan/release-1-2-1

Release 1.2.1.

Improved polymorphism support

06 Jul 09:36
Compare
Choose a tag to compare
  • Fix depending on a fully generated builder from a manually maintained builder.
  • Pick up fields on implemented interfaces, so you don't have to @override them.
  • Add BuiltValue annotation for specifying settings.
  • Add "instantiable" setting. When false, no implementation is generated, only a builder interface.
  • Polymorphism support: you can now "implement" a non-instantiable Built class. The generated builder will implement its builder, so the types all work.

Restore non-comment generic syntax

26 Jun 11:25
Compare
Choose a tag to compare

Add a dependency on SDK 1.21 so the non-comment generic syntax is allowed.

Cleanup and comment syntax generics

26 Jun 11:16
Compare
Choose a tag to compare
  • Removed dependency on now-unneeded package:meta.
  • Fixed a few lints/hints in enum generated code.
  • Use comment syntax for generics; using the non-comment syntax requires SDK 1.21 which is not specified in pubspec.yaml.

1.1.4 will be released next, restoring the non-comment syntax for generics and adding a dependency on SDK 1.21.

Significantly improve build performance by using @memoized instead of precomputed fields.

29 May 11:25
Compare
Choose a tag to compare

Prior to this release, the built_value code generator did unnecessary work for non-built_value files.

It should now be much faster when generating code for large projects containing many non-built_value files.

The actual code generated and runtime are the same.

Update analyzer and build dependencies

22 May 12:40
Compare
Choose a tag to compare
Merge pull request #167 from davidmorgan/release-1-1-1

Release 1.1.1