Release notes
*Sourced from [YamlDotNet's releases](https://github.com/aaubry/YamlDotNet/releases).*
> ## Security issues and dropping legacy behaviors
> /!\ This release fixes a security issue. It is strongly recommended to upgrade,
> mainly if you are parsing documents from sources that you do not trust.
>
> **Many thanks to [Kurt Boberg](https://github.com/aaubry/YamlDotNet/blob/HEAD/mailto:kurt.boberg@docusign.com), from the DocuSign Application Security Team, who identified this issue and provided feedback on mitigation strategies.**
>
> * **Remove the legacy backwards-compatibe syntax that enabled to create
> `Serializer` and `Deserializer` directly then changing their configutation.**
> In most cases, the calls to the constructors should be replaced by
> instantiations of `SerializerBuilder` and `DeserializerBuilder`.
> These can be configured at will, then used to create instances of
> (De)serializer.
> It is still possible to use the default constructors, if no configuration is needed.
>
> * **Drop support for specifying arbitrary type names in tags.**
> Support for automatically resolving a fully qualified type name
> from a tag has been discontinued. That feature was poorly designed
> and not standard.
> During deserialization, each tag mapping must be explicitly registered.
> During serialization, when using the `EnsureRoundtrip` method, it is necessary to
> register tag mappings for each type that will require a tag, that is, any type that
> is used as the value of a property with a different declared type.
>
> * Fix bug where deserialized values were not being converted to the destination type.
> ```c#
> var sut = new DeserializerBuilder()
> .WithTagMapping("!dbl", typeof(DoublyConverted))
> .Build();
>
> // The scalar "hello" will first be converted to DoublyConverted
> // then that value will be converted to int.
> var result = sut.Deserialize("!dbl hello");
>
> Assert.Equal(5, result);
> ```
>
> ## Add support for (de)serialization of System.Type
> No release notes provided.
>
> ## Cleanup the project
> * Refactored the project and solution so that they load and build cleanly in VS2017.
> * Reviewed the target platforms.
> * **The currently supported platforms are now:**
> * .NET Framework 4.5
> * .NET Framework 3.5
> * .NET Framework 2.0 (**experimental**)
> * .NET Standard 1.3
> * Unity Subset v3.5
> * **The following platforms are no longer supported:**
> * Profile259 (please upgrade to netstandard)
> ... (truncated)
Changelog
*Sourced from [YamlDotNet's changelog](https://github.com/aaubry/YamlDotNet/blob/master/RELEASE_NOTES.md).*
> # Release notes
> ## Release 7.0.0
>
> Added support for **nullable references** and **netstandard 2.1**.
>
> Enabling nullable references exposed many potential bugs where the code assumed
> that a reference would not be null, but where it was possible for it to be null.
> In most cases this did not cause an error because of the way the code was being used.
>
> Because fixing these problems required some breaking changes, a few improvements were made to the code base to take advantage of modern C# constructs.
>
> Overall, the following **breaking changes** were made:
>
> - **Removed the default constructor from most exceptions**, because that would cause some uninitialized properties.
>
> - Made the **`ParsingEvent` concretizations sealed**. There is no point in inheriting from these because the library assumes that they form a closed set.
>
> - **Made many classes sealed**, since they are not intended to be extended.
>
> - **`YamlDocument` now throws an exception** if is has no root node after loading. This should only happen when loading from an `IParser` that returns invalid data or is in an invalid state.
>
> The following APIs were made **obsolete** (but still work as before):
>
> - Refactored the **extension methods to `IParser`** to have better names with a more sensible semantic. The previous extension methods, `Expect`, `Allow`, `Peek` and `Accept` are still available but have been deprecated. The new extension methods are:
>
> - `T Consume() where T : ParsingEvent`
> Ensures that the current event is of the specified type, returns it and moves to the next event. Throws an exception if the next event is not of the expected type.
>
> - `bool TryConsume(out T @event) where T : ParsingEvent`
> If the event is of the specified type, returns it and moves to the next event, otherwise returns null.
>
> - `T Require() where T : ParsingEvent`
> Enforces that the current event is of the specified type.
>
> - `bool Accept(out T @event) where T : ParsingEvent`
> Checks whether the current event is of the specified type.
>
> - Made the **constructor of all naming conventions obsolete**. Instead each has a static property named `Instance`. There was no point in creating multiple instances of those classes.
> Instead of:
> ```c#
> new SerializerBuilder()
> .WithNamingConvention(new CamelCaseNamingConvention());
> ```
> Use:
> ```c#
> new SerializerBuilder()
> .WithNamingConvention(CamelCaseNamingConvention.Instance);
> ```
>
>
> ... (truncated)
Commits
- [`e024a32`](https://github.com/aaubry/YamlDotNet/commit/e024a3247c88c71d02419fb18fe3b66f43f4d17d) Prepare release 5.0.0
- [`0ce8ac1`](https://github.com/aaubry/YamlDotNet/commit/0ce8ac1c508c5b36bec665da83932f5be134cdcb) Drop support for specifying arbitrary type names in tags
- [`c8df563`](https://github.com/aaubry/YamlDotNet/commit/c8df563a4dd11b7c41c526cb6fd326683f75d72a) Remove legacy backwards compatibility
- [`f96b7cc`](https://github.com/aaubry/YamlDotNet/commit/f96b7cc40a0498f8bafdeb49df3aa23aa2c60993) Ensure that tagged values are properly converted to the destination type
- [`8f20a18`](https://github.com/aaubry/YamlDotNet/commit/8f20a18bb8a8c026bef7ce5ad66e7d8e198426df) Prepare release 4.3.2
- [`857192d`](https://github.com/aaubry/YamlDotNet/commit/857192d7b4b8f37ff7de6b4ab6c1f629906e505c) Fix bug whe TypeConverter was being ignored on all platforms
- [`145477a`](https://github.com/aaubry/YamlDotNet/commit/145477a8065214813898bbe75fb58d3a503d3d73) Remove serialization support from exceptions
- [`113261c`](https://github.com/aaubry/YamlDotNet/commit/113261c33823fa0e38982ec2fa72cc1b916074a7) Add quick build task
- [`837f61a`](https://github.com/aaubry/YamlDotNet/commit/837f61a4d9e0d041755330a3c73ee2b87c6526f1) Pin Cake version
- [`667778b`](https://github.com/aaubry/YamlDotNet/commit/667778b21b9f6501dcbf96d034786cf83cea0d6a) Merge pull request [#313](https://github-redirect.dependabot.com/aaubry/YamlDotNet/issues/313) from thoughtcroft/patch-1
- Additional commits viewable in [compare view](https://github.com/aaubry/YamlDotNet/compare/v3.3.0...v5.0.0)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot ignore this [patch|minor|major] version` will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/hfinkel/llvm-project-cxxjit/network/alerts).
Bumps YamlDotNet from 3.3.0 to 5.0.0.
Release notes
*Sourced from [YamlDotNet's releases](https://github.com/aaubry/YamlDotNet/releases).* > ## Security issues and dropping legacy behaviors > /!\ This release fixes a security issue. It is strongly recommended to upgrade, > mainly if you are parsing documents from sources that you do not trust. > > **Many thanks to [Kurt Boberg](https://github.com/aaubry/YamlDotNet/blob/HEAD/mailto:kurt.boberg@docusign.com), from the DocuSign Application Security Team, who identified this issue and provided feedback on mitigation strategies.** > > * **Remove the legacy backwards-compatibe syntax that enabled to create > `Serializer` and `Deserializer` directly then changing their configutation.** > In most cases, the calls to the constructors should be replaced by > instantiations of `SerializerBuilder` and `DeserializerBuilder`. > These can be configured at will, then used to create instances of > (De)serializer. > It is still possible to use the default constructors, if no configuration is needed. > > * **Drop support for specifying arbitrary type names in tags.** > Support for automatically resolving a fully qualified type name > from a tag has been discontinued. That feature was poorly designed > and not standard. > During deserialization, each tag mapping must be explicitly registered. > During serialization, when using the `EnsureRoundtrip` method, it is necessary to > register tag mappings for each type that will require a tag, that is, any type that > is used as the value of a property with a different declared type. > > * Fix bug where deserialized values were not being converted to the destination type. > ```c# > var sut = new DeserializerBuilder() > .WithTagMapping("!dbl", typeof(DoublyConverted)) > .Build(); > > // The scalar "hello" will first be converted to DoublyConverted > // then that value will be converted to int. > var result = sut.DeserializeChangelog
*Sourced from [YamlDotNet's changelog](https://github.com/aaubry/YamlDotNet/blob/master/RELEASE_NOTES.md).* > # Release notes > ## Release 7.0.0 > > Added support for **nullable references** and **netstandard 2.1**. > > Enabling nullable references exposed many potential bugs where the code assumed > that a reference would not be null, but where it was possible for it to be null. > In most cases this did not cause an error because of the way the code was being used. > > Because fixing these problems required some breaking changes, a few improvements were made to the code base to take advantage of modern C# constructs. > > Overall, the following **breaking changes** were made: > > - **Removed the default constructor from most exceptions**, because that would cause some uninitialized properties. > > - Made the **`ParsingEvent` concretizations sealed**. There is no point in inheriting from these because the library assumes that they form a closed set. > > - **Made many classes sealed**, since they are not intended to be extended. > > - **`YamlDocument` now throws an exception** if is has no root node after loading. This should only happen when loading from an `IParser` that returns invalid data or is in an invalid state. > > The following APIs were made **obsolete** (but still work as before): > > - Refactored the **extension methods to `IParser`** to have better names with a more sensible semantic. The previous extension methods, `ExpectCommits
- [`e024a32`](https://github.com/aaubry/YamlDotNet/commit/e024a3247c88c71d02419fb18fe3b66f43f4d17d) Prepare release 5.0.0 - [`0ce8ac1`](https://github.com/aaubry/YamlDotNet/commit/0ce8ac1c508c5b36bec665da83932f5be134cdcb) Drop support for specifying arbitrary type names in tags - [`c8df563`](https://github.com/aaubry/YamlDotNet/commit/c8df563a4dd11b7c41c526cb6fd326683f75d72a) Remove legacy backwards compatibility - [`f96b7cc`](https://github.com/aaubry/YamlDotNet/commit/f96b7cc40a0498f8bafdeb49df3aa23aa2c60993) Ensure that tagged values are properly converted to the destination type - [`8f20a18`](https://github.com/aaubry/YamlDotNet/commit/8f20a18bb8a8c026bef7ce5ad66e7d8e198426df) Prepare release 4.3.2 - [`857192d`](https://github.com/aaubry/YamlDotNet/commit/857192d7b4b8f37ff7de6b4ab6c1f629906e505c) Fix bug whe TypeConverter was being ignored on all platforms - [`145477a`](https://github.com/aaubry/YamlDotNet/commit/145477a8065214813898bbe75fb58d3a503d3d73) Remove serialization support from exceptions - [`113261c`](https://github.com/aaubry/YamlDotNet/commit/113261c33823fa0e38982ec2fa72cc1b916074a7) Add quick build task - [`837f61a`](https://github.com/aaubry/YamlDotNet/commit/837f61a4d9e0d041755330a3c73ee2b87c6526f1) Pin Cake version - [`667778b`](https://github.com/aaubry/YamlDotNet/commit/667778b21b9f6501dcbf96d034786cf83cea0d6a) Merge pull request [#313](https://github-redirect.dependabot.com/aaubry/YamlDotNet/issues/313) from thoughtcroft/patch-1 - Additional commits viewable in [compare view](https://github.com/aaubry/YamlDotNet/compare/v3.3.0...v5.0.0)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot ignore this [patch|minor|major] version` will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/hfinkel/llvm-project-cxxjit/network/alerts).