# Change Log ## 4.0.2 * Fixed `build.yaml` to use `angel3` packages * Updated README ## 4.0.1 * Resolved static analysis warnings ## 4.0.0 * Migrated to support Dart SDK 2.12.x NNBD ## 3.0.0 * Migrated to work with Dart SDK 2.12.x Non NNBD ## 2.5.0 * Support mutable models (again). * Use `whereType()` instead of chaining `where()` and `cast()`. * Support pulling fields from parent classes and interfaces. * Only generate `const` constructors if *all* fields lack a setter. * Don't type-annotate initializing formals. ## 2.4.4 * Remove unnecessary `new` and `const`. ## 2.4.3 * Generate `Codec` and `Converter` classes. * Generate `toString` methods. * Include original documentation comments from the model. ## 2.4.2 * Fix bug where enums didn't support default values. * Stop emitting `@required` on items with default values. * Create default `@SerializableField` for fields without them. ## 2.4.1+1 * Change `as Iterable` to `.cast`. ## 2.4.1 * Support `serializesTo`. * Don't emit `@required` if there is a default value. * Deprecate `autoIdAndDateFields`. ## 2.4.0 * Introduce `@SerializableField`, and say goodbye to annotation hell. * Support custom (de)serializers. * Allow passing of annotations to the generated class. * Fixted TypeScript `ref` generator. ## 2.3.0 * Add `@DefaultValue` support. ## 2.2.2 * Split out TS def builder, to emit to source. ## 2.2.1 * Explicit changes for assisting `angel_orm_generator`. ## 2.2.0 * Build to `cache`. * Only generate one `.g.dart` file. * Support for `Uint8List`. * Use `.cast()` for `List`s and `Map`s of *non-`Model`* types. ## 2.1.2 * Add `declare module` to generated TypeScript files. ## 2.1.1 * Generate `hashCode`. ## 2.1.0 * Removed dependency on `package:id`. * Update dependencies for Dart2Stable. * `jsonModelBuilder` now uses `SharedPartBuilder`, rather than `PartBuilder`. ## 2.0.10 * Generate `XFields.allFields` constant. * No longer breaks in cases where `dynamic` is present. * Call `toJson` in `toMap` on nested models. * Never generate named parameters from private fields. * Use the new `@generatedSerializable` to *always* find generated models. ## 2.0.9+4 * Remove `defaults` in `build.yaml`. ## 2.0.9+3 * Fix a cast error when self-referencing nested list expressions. ## 2.0.9+2 * Fix previously unseen cast errors with enums. ## 2.0.9+1 * Fix a cast error when deserializing nested model classes. ## 2.0.9 * Upgrade to `source_gen@^0.8.0`. ## 2.0.8+3 * Don't fail on `null` in `toMap`. * Support self-referencing via `toJson()`. ## 2.0.8+2 * Better discern when custom methods disqualify classes from `const` protection. ## 2.0.8+1 * Fix generation of `const` constructors with iterables. ## 2.0.8 * Now supports de/serialization of `enum` types. * Generate `const` constructors when possible. * Remove `whereType`, perform manual coercion. * Generate a `fromMap` with typecasting, for Dart 2's sake. ## 2.0.7 * Create unmodifiable Lists and Maps. * Support `@required` on fields. * Affix an `@immutable` annotation to classes, if `package:meta` is imported. * Add `/// ` to TypeScript models. ## 2.0.6 * Support for using `abstract` to create immutable model classes. * Add support for custom constructor parameters. * Closed [##21](https://github.com/angel-dart/serialize/issues/21) - better naming of `Map` types. * Added overridden `==` operators. ## 2.0.5 * Deserialization now supports un-serialized `DateTime`. * Better support for regular typed Lists and Maps in TypeScript. ## 2.0.4 * Fields in TypeScript definitions are now nullable by default. ## 2.0.3 * Added a `TypeScriptDefinitionBuilder`. ## 2.0.2 * Generates an `XFields` class with the serialized names of all fields in a model class `X`. * Removed unnecessary named parameters from `XSerializer.fromMap`. ## 2.0.1 * Ensured that `List` is only transformed if it generically references a `Model`.