Skip to content

Release 16.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 14 Jul 17:22
8808c6f
  • Merge pull request #938 from MetaFight/array-cycles
    ArrayNodeDeserializer can now deserialize circular references.

  • Merge pull request #935 from MrLuje/fsharp-collection
    feat: properly handle FSharp List deserialization

  • Merge pull request #927 from lahma/optimize-scalar-load
    Optimize YamlScalarNode.Load and YamlMappingNode.Load

  • Merge pull request #941 from EdwardCooke/ec-nullability
    Fix bugs and add features


Breaking change notes

  • The ITypeConverter object is now passed to many methods and is expected when some are called. You can get the typeconverter by calling BuildTypeConverter on the serializerbuilder and deserializerbuilder. This typeconverter should be treated as a singleton and injected into the constructor of your class.

  • The IPropertyDescriptor is now passed into a lot of methods. It can be safely disregarded if you don't need it. It contains information about the property containing the object being deserialized.

  • The delegates ObjectSerializer and ObjectDeserializer are also being passed around. They can be disregarded if you don't need them.

  • To revert to the old date/time formats for JsonCompatable remove the DateTime8601Converter and add the DateTimeConverter with the doubleQuotes constructor parameter set to true. Example:

    new SerializerBuilder()
        .WithoutTypeConverter<YamlDotNet.Serialization.Converters.DateTime8601Converter>()
        .WithTypeConverter(new YamlDotNet.Serialization.Converters.DateTimeConverter(doubleQuotes: true))
    .Build();
  • on Mark, Cursor, SimpleKey the position property data types changed from int to long