Releases: google/built_value.dart
Upgrade to build 0.10.0, build_runner 0.4.0
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
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
- 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
- Update to source_gen 0.7.0.
- Please make the following trivial update to your
build.dart
and
watch.dart
: replace the stringGeneratorBuilder
withPartBuilder
.
Fix generated code when implementing generic non-instantiable Built class
Merge pull request #191 from davidmorgan/release-1-2-1 Release 1.2.1.
Improved polymorphism support
- 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
Add a dependency on SDK 1.21 so the non-comment generic syntax is allowed.
Cleanup and comment syntax generics
- 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.
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
Merge pull request #167 from davidmorgan/release-1-1-1 Release 1.1.1