Skip to content

Implement Serde 0.10.0 serialization API#9

Merged
agocke merged 2 commits intodependabot/nuget/Serde-0.10.0from
copilot/sub-pr-8
Jan 8, 2026
Merged

Implement Serde 0.10.0 serialization API#9
agocke merged 2 commits intodependabot/nuget/Serde-0.10.0from
copilot/sub-pr-8

Conversation

Copy link
Contributor

Copilot AI commented Jan 8, 2026

Serde 0.10.0 introduces 5 new serialization methods that must be implemented by all ISerializer and ITypeSerializer implementations.

Changes

  • XmlSerializer (ISerializer): Implemented WriteI128, WriteU128, WriteDateTime, WriteDateTimeOffset, and WriteBytes

    • Int128/UInt128 serialized as strings via ToString()
    • DateTime/DateTimeOffset use XmlWriter native support
    • Bytes serialized as Base64
  • SerializeCollectionImpl (ITypeSerializer): Forward calls to underlying serializer for all 5 methods

  • EnumSerializer (ITypeSerializer):

    • Int128/UInt128 write enum name (consistent with other integer types)
    • DateTime/DateTimeOffset/Bytes throw InvalidOperationException (invalid for enums)
  • XmlTypeSerializer (ITypeSerializer): Use standard proxy pattern (I128Proxy, U128Proxy, DateTimeProxy, DateTimeOffsetProxy) for field serialization; custom implementation for bytes to support XML attributes and elements

Generated Files

Source generator output updated from .cs to .g.cs extension per Serde 0.10.0 conventions.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: agocke <515774+agocke@users.noreply.github.com>
Copilot AI changed the title [WIP] Update Serde to version 0.10.0 Implement Serde 0.10.0 serialization API Jan 8, 2026
Copilot AI requested a review from agocke January 8, 2026 00:56
@agocke agocke marked this pull request as ready for review January 8, 2026 01:21
@agocke agocke merged commit fd51e2e into dependabot/nuget/Serde-0.10.0 Jan 8, 2026
@agocke agocke deleted the copilot/sub-pr-8 branch January 8, 2026 01:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants