Releases: aaubry/YamlDotNet
Release 12.0.1
Release 12.0.0
-
Merge pull request #623 from jairbubbles/add-tostring-on-yamlexception
Do not include the Start / End in the YamlException message- Make sure the constructors are consistant so that Message only contains the original message
- Add ToString to include Start / End
-
Merge pull request #624 from jairbubbles/include-start-end-in-exceptions-thrown-by-type-in
Include start / end in exceptions thrown by type inspector -
Merge pull request #626 from willson556/bugfix/extra-newline
Fix #361 - Extra Windows newline in folded scalar. -
Adapt the code and project structure to easuly build with Unity
-
Merge pull request #646 from lahma/string-builder-pool
Introduce StringBuilderPool -
Merge pull request #648 from lahma/avoid-params-array-in-hash-code
Avoid extra allocations in YamlScalarNode GetHashCode -
Merge pull request #647 from lahma/struct-mark
Change Mark to be readonly struct -
Merge pull request #649 from lahma/add-benchmark
Add YamlDotNet.Benchmark -
Update NuGet API key
-
Link to the discussion about the status of the project
-
Update README.md
-
Merge pull request #693 from EdwardCooke/ec-updates
VS 2022, Unit Tests and fixes -
Merge pull request #696 from aaubry/JG-update-readme
Remove the hint that this project is on hold -
Merge pull request #695 from EdwardCooke/ec-fix637-numberformat
G17 was creating issues with doubles and floats -
Merge pull request #659 from dmitry-ra/fix-issue-638
Fix #638: Parser hangs on stream of%Y
-
Merge pull request #698 from EdwardCooke/ec-643-setonlyproperties
Allow set only properties during deserialization -
Merge pull request #697 from EdwardCooke/ec-fix658-releasenotes
Change the release notes link to use github releases -
Merge pull request #699 from EdwardCooke/ec-roundtripnulls
Allow quoting of specialized strings like null/true/false/numbers etc -
Merge pull request #701 from JoC0de/fix-nuget-package-spec
fixup nuget package spec -
Merge pull request #664 from krisrok/fix/comment-indents
Fix/comment indents (and other comment-related issues) -
Merge pull request #700 from EdwardCooke/ec-fix684-blockscalarkeys
Block scalars can be keys too -
Merge pull request #702 from EdwardCooke/ec-fix673-longminvaluedeserialize
Make long.minvalue deserialize -
Merge pull request #704 from aaubry/fix-prereleases-on-artifactory
Ensure that pre-releases are always in lower case
Release 11.2.1
Release 11.2.0
Release 11.1.1
Release 11.1.0
New features
- #604 Support for deserialization of interface types (Fixes #601)
This allows to register a concrete class for a given interface. When deserializing a value of that interface type, the concrete class will be deserialized instead.Check this test for a more complete examplevar sut = new DeserializerBuilder() .WithNamingConvention(CamelCaseNamingConvention.Instance) .WithTypeMapping<ICar, Car>() .WithTypeMapping<IModelSpec, ModelSpec>() .Build();
Other fixes
Release 11.0.1
Release 10.1.0
- #584 Add support for adding comments to properties.
TheYamlMember
attribute now has aDescription
property. When set, a comment is emitted when serializing that property:class Person { public string Name { get; set; } [YamlMember(Description = "This is the age")] public int Age { get; set; } [YamlMember(Description = "male or female")] public string Sex { get; set; } }
Name: PandaTea # This is the age Age: 100 # male or female Sex: male
Release 10.0.0
New features
- #592 adds the ability specify additional indentation for lists. By default, the emitter emits:
By using this option, the emitter will output:
list: - item1 - item2
list: - item1 - item2
Bug fixes
- #598 Fixed
AnchorNotFoundException
if there is a reference to an anchor of a node which is being deserialized. This happens in cyclic references.
Other changes
-
Breaking - Binary serialization support has been removed as there was no practical use-case for it.
-
Refactor
Portability.cs
into conditionally included files to improve maintainability.
There is now a set of directories underYamlDotNet/Helpers/Portability
. Each directory's name contains a list of target platforms, separated by+
. Each of those files is included only when building for one of those target platforms. Each directory may also contain a subsirectory namedothers
. The files in this directory are included only when building for one target platform that is not in it's parent name. -
Make the type Nothing a ValueType
There's no need for it to be a reference type. -
Use a custom type to represent anchor names
This enables the compiler to detect when we pass something else
where an anchor name is expected. -
Use a custom type to represent tag names
This enables the compiler to detect when we pass something else
where a tag name is expected. -
Release notes are no longer stored in the repository, because this forced a new meaningless commit to be created for each release.
Release 9.1.4
- Fix LookAheadBuffer trying to read from the stream after reaching its end