Skip to content

Usability improvements

Compare
Choose a tag to compare
@aaubry aaubry released this 23 Jan 10:13
· 686 commits to master since this release

New features

  • 32bits Unicode code points in escape sequences and url-encoded tags are now properly handled.

  • Anchors can now be redefined in a document.
    This is to conform to the 1.1 spec as well as the 1.2 spec:

    3.2.2.2. Anchors and Aliases

    When composing a representation graph from serialized events, an alias node refers to the most recent node in the serialization having the specified anchor. Therefore, anchors need not be unique within a serialization.

  • Added support for tag mappings on the serializer.
    Use SerializerBuilder.WithTagMapping() to register a new tag mapping on the serializer.

  • Allow to unregister components from the SerializerBuilder and DeserializerBuilder.
    Use the Without... methods on SerializerBuilder and DeserializerBuilder for that.

  • New DateTimeConverter

    • It accepts DateTimeKind.Utc and Standard Date and Time Format Strings of "G" as its default parameters, if they are omitted.
    • For deserialisation, it accepts as many number of formats as we want. If a value doesn't match against provided formats, it will return FormatException. Please refer to my whole test cases.
    • For serialisation, it only considers the first format in the format list.
  • Improve the (de)serializer builders so that it is possible to wrap existing component registrations.

  • Added the ApplyNamingConventions property to YamlMemberAttribute.
    When this property is true, naming conventions are not applied to the associated member. This solves issue 228.

Bug fixes

Other

  • The samples have been added to the project as a new unit test project, to ensure that they stay up-to-date with the code.
    In the future, a documentation page will be generated from the samples, that will show the sample, its documentation and respective output.