Skip to content
YamlDotNet is a .NET library for YAML
C# Other
  1. C# 99.1%
  2. Other 0.9%
Branch: master
Clone or download

Latest commit

Latest commit bd37fab May 28, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
BuildUtils.UnityPrerequisites @ 0db1240 Fix the build Sep 27, 2017
PerformanceTests Make CachedTypeInspector thread safe Oct 27, 2019
YamlDotNet.AotTest Enable nullable references and modernize some code Sep 7, 2019
YamlDotNet.Samples Update the remaining projects to netcoreapp3.0 Sep 27, 2019
YamlDotNet.Test Merge #491 - Disallow usage of alias before anchor declaration May 28, 2020
YamlDotNet Merge #491 - Disallow usage of alias before anchor declaration May 28, 2020
build Ensure that the project builds on Linux May 19, 2019
docker Adapt to the .NET Core 3.0 release Sep 27, 2019
releases Prepare release 8.1.2 May 28, 2020
tools Ensure that the project builds on Linux May 19, 2019
.gitignore Fix missing assembly version Sep 21, 2018
.gitmodules Fix some error cases Feb 16, 2020
.travis.yml Fix PR builds on Travis Sep 28, 2019
CONTRIBUTING.md Merge branch 'nullable-references' Sep 28, 2019
GitVersion.yml Setup a release task to make it easier to release a new version Mar 15, 2019
LICENSE-libyaml Initial import. Jul 31, 2008
LICENSE.txt Add license file to nupkg to fix NU5125 warning Jul 17, 2019
README.md Allow values after DocumentStart token Apr 27, 2020
RELEASE_NOTES.md Prepare release 8.1.2 May 28, 2020
YamlDotNet.sln Switch to C# classlib GUIDs for all projects in SLN Feb 18, 2020
YamlDotNet.snk Configure the project assembly signing. Nov 9, 2014
appveyor.yml [skip ci] Fix pull requests not being built Apr 19, 2020
build.cake Make CachedTypeInspector thread safe Oct 27, 2019
build.ps1 Merge signed and non-signed packages Mar 11, 2019
build.sh Switch to C# classlib GUIDs for all projects in SLN Feb 18, 2020
docker-build.sh Ensure that tagged values are properly converted to the destination type Jun 13, 2018

README.md

YamlDotNet

Travis Appveyor NuGet
Travis CI Build status NuGet

YamlDotNet is a YAML library for netstandard and other .NET runtimes.

YamlDotNet provides low level parsing and emitting of YAML as well as a high level object model similar to XmlDocument. A serialization library is also included that allows to read and write objects from and to YAML streams.

YamlDotNet's conformance with YAML specifications:

YAML Spec YDN Parser YDN Emitter
v1.1
v1.2

What is YAML?

YAML, which stands for "YAML Ain't Markup Language", is described as "a human friendly data serialization standard for all programming languages". Like XML, it allows to represent about any kind of data in a portable, platform-independent format. Unlike XML, it is "human friendly", which means that it is easy for a human to read or produce a valid YAML document.

The YamlDotNet library

The library has now been successfully used in multiple projects and is considered fairly stable. It is compatible with the following runtimes:

  • netstandard 2.1
  • netstandard 1.3
  • .NET Framework 4.5
  • Unity Subset v3.5

The following runtimes are also supported, with a few features missing:

  • .NET Framework 3.5
  • .NET Framework 2.0

The library is compatible with mono's Ahead-of-Time compilation (AOT), and should work correctly on platforms that depend on it, such as Unity.

More information

More information can be found in the project's wiki.

Installing

Just install the YamlDotNet NuGet package:

PM> Install-Package YamlDotNet

If you do not want to use NuGet, you can download binaries here.

YamlDotNet is also available on the Unity Asset Store.

Contributing

Please read CONTRIBUTING.md for guidelines.

Release notes

Release notes for the latest version

You can’t perform that action at this time.