Releases: xoofx/SharpYaml
Releases · xoofx/SharpYaml
3.7.0
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
🧰 Misc
Full Changelog: 3.6.0...3.7.0
Published with dotnet-releaser
3.6.0
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
Changes
✨ New Features
- Add object creation handling support (66710da)
Full Changelog: 3.4.0...3.5.0
Published with dotnet-releaser
3.4.0
Changes
✨ New Features
- Add YAML max depth guard (1535fb0)
Full Changelog: 3.3.0...3.4.0
Published with dotnet-releaser
3.3.0
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
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
Changes
🚀 Enhancements
- Preallocate dictionaries with expected capacity (PR #125) by @SimonCropp
🧰 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
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