# Change Log ## 8.0.0 * Require Dart >= 3.0 ## 7.2.0-beta.1 * Require Dart >= 2.19 * Fixed `topMap` incorrect return ## 7.1.0 * Require Dart >= 2.18 * Upgraded to `analyzer` 5.x.x * Replaced deprecated `element2` with `element` ## 7.0.0 * Require Dart >= 2.17 * Fixed enum test cases * Resolved deprecated methods ## 6.1.1 * Fixed issue #68: Support for non-nullable type ## 6.1.0 * Updated to `analyzer` 4.x.x ## 6.0.0 * Require Dart >= 2.16 * Updated to `analyzer` 3.x.x * Fixed default value for `List` and `Enum` ## 5.0.0 * Skipped release ## 4.3.0 * Updated to use `package:belatuk_code_buffer` ## 4.2.0 * Fixed `toMap` method generation for non nullable Map * Fixed `fromMap` method generation for non nullable Map * Updated linter to `package:lints` ## 4.1.2 * Fixed `toMap` method generation * Fixed `fromMape` method generation * Fixed `TypescriptBuilder` * Updated generator to add `const []` to `List` type args in the contructor * Updated generator to product non nullable aware code * Refactored away nullable code * Added logging to facilitate tracing the code generation via `-verbose` flag * Removed redudant null checking in the generated code ## 4.1.1 * Fixed `SerializerGenerator` to recognize nullable class ## 4.1.0 * Upgraded to support `analyzer` 2.0.0 major release ## 4.0.3 * Added `useNullSafetySyntax: true` to DartEmitter * Fixed `JsonModelGenerator` class to produce correct NNBD code * Replaced `@required` with `required` * Fixed all none nullable field to be `required` in the constructor * Fixed generated methods to return the correct type * Fixed generated methods to be annnotated with `override` where applicable * Removed redundant null checking in the generated code ## 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 >= 2.12 NNBD * Importing `Optional` package is required for the ORM model ## 3.0.0 * Migrated to work with Dart >= 2.12 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`.