Skip to content

Releases: xoofx/SharpYaml

3.7.0

29 Mar 17:50
6ef7504

Choose a tag to compare

Changes

🐛 Bug Fixes

  • Apply UnknownDerivedTypeHandling.Fail to tag-based polymorphism (PR #133) by @fdcastel
  • Suppress SHARPYAML002 when a converter handles the type (PR #140) by @fdcastel

🚀 Enhancements

  • Clarify tag-only YamlDerivedType does not set default derived type (PR #134) by @fdcastel
  • Add YamlSerializerContext.CreateOptions for per-call option overrides (PR #138) by @fdcastel

📚 Documentation

  • Expand converter documentation with registration methods and priority (PR #137) by @fdcastel

🧰 Misc

  • Support C# required keyword in source generation and reflection (PR #139) by @fdcastel

Full Changelog: 3.6.0...3.7.0

Published with dotnet-releaser

3.6.0

29 Mar 07:59

Choose a tag to compare

Changes

🚀 Enhancements

  • Add support for OrderedDictionary<TKey, TValue> (.NET 9+) (PR #131) by @fdcastel
  • feat: add runtime derived type registration for cross-project polymorphism (PR #132) by @fdcastel

🧰 Misc

  • Avoid materializing dictionaries when serializing (0d973b5)
  • Deduplicate dictionary converter helpers (ebe1f70)
  • Eliminate source generator build warnings (e1b7f24)
  • Implement cross-project polymorphism (07592b2)

Full Changelog: 3.5.0...3.6.0

Published with dotnet-releaser

3.5.0

24 Mar 08:04

Choose a tag to compare

Changes

✨ New Features

  • Add object creation handling support (66710da)

Full Changelog: 3.4.0...3.5.0

Published with dotnet-releaser

3.4.0

11 Mar 18:41

Choose a tag to compare

Changes

✨ New Features

  • Add YAML max depth guard (1535fb0)

Full Changelog: 3.3.0...3.4.0

Published with dotnet-releaser

3.3.0

10 Mar 19:40

Choose a tag to compare

Changes

✨ New Features

  • Add unmapped-member handling migration support (681a2de)

🐛 Bug Fixes

  • Fix schema-aware scalar resolution (1e6500b)

🧰 Misc

  • Harden nullable generator regression tests (bc51718)

Full Changelog: 3.2.0...3.3.0

Published with dotnet-releaser

3.2.0

06 Mar 20:10

Choose a tag to compare

Changes

✨ New Features

  • Add back link to Tomlyn (98f6bd6)

🐛 Bug Fixes

  • Fix YAML source-generation root attributes (32e3336)

🧰 Misc

  • Support constructor attributes across serializers (84911d5)

Full Changelog: 3.1.0...3.2.0

Published with dotnet-releaser

3.1.0

04 Mar 18:09

Choose a tag to compare

Changes

🚀 Enhancements

🧰 Misc

  • Use TryGetValue to avoid double dictionary lookup (PR #126) by @SimonCropp
  • Use file scope namespace (21f6dac)
  • Docs: convert API references to xref (7a0b9ea)
  • Support default derived type without discriminator for polymorphic deserialization (8575ff6)
  • Support UnknownDerivedTypeHandling on YamlPolymorphicAttribute (b34654c)
  • Support integer discriminators and ensure Json/Yaml attribute parity for polymorphism (93c1b76)

Full Changelog: 3.0.0...3.1.0

Published with dotnet-releaser

3.0.0

01 Mar 20:28

Choose a tag to compare

Changes

✨ New Features

  • Add instructions (bb5669e)
  • Add SharpYaml3 specification (719972b)
  • Add v3 serializer API skeleton and docs (a420749)
  • Add source generator baseline and JSON attribute support (b0d00f3)
  • Add lossless syntax tree API with spans and tests (dc9c8be)
  • Add v3 golden-file serializer coverage (5fdb8d6)
  • Add NativeAOT smoke sample project (63eb9a9)
  • Add YAML converter API surface (e9920ba)
  • Add polymorphism via discriminator and tags (4ff9f17)
  • Add net10 benchmark suite vs YamlDotNet (f44b8b1)
  • Add core YAML scalar and mapping serializer tests (3d5a406)
  • Add parser/scanner error-path coverage tests (3c24a48)
  • Add Emitter edge-case tests (4b2971f)
  • Add comprehensive YAML 1.2 spec edge case tests (713efcb)
  • Add YamlAttribute base class (5c12b35)
  • Add lifecycle callbacks for YAML serialization (2ea55f2)
  • Add YamlExtensionData support for overflow properties (15aae5c)
  • Add YamlConverterAttribute for custom converters (289a4d8)
  • Add svg logo (a322980)
  • Add benchmark results (7d4373b)
  • Add netstandard2.0 target (PolySharp + conditional System.Text.Json) (32f3d46)
  • Add built-in DateTime/Guid/TimeSpan converters (0fe7790)
  • Add site.yml workflow (0996915)
  • Add IBufferWriter serialization overloads (7cf50ce)
  • Add collection and non-string dictionary support (reflection) (8dcf195)
  • Add merge key (<<) support for Core/Extended (cef01b1)
  • Add net8.0 target framework (4e4c41b)

🐛 Bug Fixes

  • Fix YAML writer escaping for control chars (9361d1f)
  • Fix warnings in YamlSerializerOptions (ab23407)
  • Fix: accept YAML 1.2 %YAML directives (ef0c913)
  • Fix: improve EventReader.Expect exception message (59b0f63)
  • Fix: allow ':' in flow plain scalars (5653576)
  • Fix: stream TextReader deserialization (9366fe8)
  • Fix: make InsertionQueue internal (4c758ce)
  • Fix anchor handling for immutable collections (40cb729)
  • Fix site readme.md (4dd6c7b)
  • Fix icons (ec9e039)
  • Fix package readme inclusion (da9f3c5)

🚀 Enhancements

  • Refactor typeinfo IO protocol and optimize YAML writing (05ad66f)
  • Refactor reader/writer base, options record, JsonNamingPolicy (5bac535)

🧰 Maintenance

🏭 Tests

  • Fix tests for MSTest v4 (b5f6df8)
  • Add tests for EventReader and option validation (055b14f)
  • Add tests for YamlException formatting (6e764c2)

🧰 Misc

  • Migrate solution to net10 and MSTest (756d7be)
  • Migrate YamlNode object mapping to YamlSerializer (f6ac965)
  • Retire legacy serializer surface and tests (01c96d9)
  • Document v3 API and harden serializer tests (c2fe606)
  • Generate default context options from JSON metadata (b10e9b7)
  • Implement token reader and YAML writer (34859c1)
  • Implement v3 reflection serializer pipeline (5db7315)
  • Implement reference preservation with anchors (78a4db8)
  • Expose YamlReader.Create and scalar parsing (48d7298)
  • Generate reflection-free YAML type metadata (8693b35)
  • Source-gen: primitives, enums, nullable scalars (d6e2509)
  • Source-gen: support arrays, lists, dictionaries (488cb8d)
  • Source-gen: honor custom converters (3c7a9f2)
  • Source-gen: preserve object references (d4ac345)
  • Use YamlException with location in generated and reflection paths (0a64284)
  • Migrate to new sln and central package management (9712ab6)
  • Eliminate warnings and document public APIs (645db54)
  • Make YamlSerializerOptions immutable (8ba8221)
  • Align serializer API with Json source-gen context patterns (6c79916)
  • Generate Json-style named type info properties (62a52b9)
  • Embed source generator into SharpYaml package (bb25192)
  • Embed source generator analyzer via project reference (5c11de5)
  • Remove legacy object serializer infrastructure (8545ddf)
  • Improve reflection object converter error context (2ec0798)
  • Update AOT smoke model with JsonPropertyName (e3a2342)
  • Remove unused TypeExtensions helper (89a9819)
  • Support required members via YamlRequired/JsonRequired (9d7ea72)
  • Support parameterized constructors via YamlConstructor/JsonConstructor (a4f9eef)
  • SourceGen: serialize get-only properties; ignore on read (36a33c9)
  • SourceGen: required/extension data/lifecycle support (f331ce8)
  • SourceGen: support YamlConstructor/JsonConstructor (5714751)
  • Benchmarks: join summary output (f71eea9)
  • Benchmarks: group ratios by scenario (08b9be0)
  • Modernize csproj with embedded icon, readme, and AOT settings (ecf4875)
  • Rewrite README with features, icon, and documentation link (a425407)
  • Docs: add Lunet site skeleton (3038b26)
  • Docs: expand core guides (61ceede)
  • SourceGen: add YamlSourceGenerationOptions (324fede)
  • Trimming: add feature switch for reflection serialization (e7274a6)
  • Extension data: support nullable Dictionary<string, object?> (3ec447d)
  • Docs site: move migration/benchmarks/specs under Docs menu (bf0c54c)
  • Source generation: bake naming policy into generated member names (e176762)
  • Docs site: flatten migration/benchmarks and discard specs (24122ec)
  • Docs: make migration a single page (dbc1725)
  • Docs: make benchmarks a single page (2570a1d)
  • Docs: add API namespace pages (6169c46)
  • Cleanup: remove dead emitter code (d38c843)
  • Perf: make InsertionQueue dequeue O(1) (68f56b9)
  • Add: Stream overloads for YamlSerializer (cd10ee6)
  • Add: TryDeserialize overloads (88e9efc)
  • Add: DateOnly/TimeOnly/Half/Int128 converters (998c17c)
  • Docs: add 3.0 release notes and review (a07790c)
  • SourceGen: support more collections and non-string keys (6b96bf4)
  • SourceGen: support merge key (<<) for Core/Extended (ee7b53c)
  • API: hide context options and remove GetTypeInfo() (c5d77b3)
  • Tests: add serializer error/overflow coverage (cf6f535)
  • Model: resolve anchor aliases when loading (e3ccf27)
  • Restore YamlSerializerContext.Options (89e8860)
  • Docs: remove redundant API overview page (97291dd)
  • Docs: add benchmark headline vs YamlDotNet (6c9e785)
  • Pack source generator DLL as analyzer (1408009)

Full Changelog: 2.1.4...3.0.0

Published with dotnet-releaser

2.1.4

24 Oct 21:17
bd054ef

Choose a tag to compare

Changes

🧰 Misc

Full Changelog: 2.1.3...2.1.4

Published with dotnet-releaser

2.1.3

12 Jun 06:00
d7fa32f

Choose a tag to compare

Changes

🐛 Bug Fixes

  • fix: ci to use windows so signing of the package works (PR #122) by @baywet

Full Changelog: 2.1.2...2.1.3

Published with dotnet-releaser