platform/packages/serialize/angel_serialize_generator/CHANGELOG.md
2021-08-15 16:04:21 +08:00

4.5 KiB

Change Log

4.1.2

  • Fixed toMap method generator

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 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<Map> to .cast<Map>.

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 Lists and Maps 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 /// <reference path="..." /> to TypeScript models.

2.0.6

  • Support for using abstract to create immutable model classes.
  • Add support for custom constructor parameters.
  • Closed ##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.