Skip to content

Releases: Agash/ObsWebSocket

v0.2.0-beta1 — Native AOT Serialization Overhaul (JSON + MsgPack)

24 Feb 16:13

Choose a tag to compare

v0.2.0-beta1

This beta focuses on making ObsWebSocket substantially more Native AOT-friendly while improving transport
validation, generated protocol coverage, and MessagePack behavior.

Highlights

  • Added generated System.Text.Json serializer context usage across the runtime path.
  • Reworked JSON serialization/deserialization paths to use context-backed options consistently.
  • Improved AOT safety in request-data serialization paths (especially object-based request payload handling).
  • Added/generated MessagePack metadata support for protocol DTOs.
  • Reworked MessagePack resolver/serializer flow to avoid hot-path object roundtrips and improve static typing.

I'm not that well versed in MessaegPack so I hope for others to confirm whether or not this works as intended and is implemented in a at least somewhat ok manner.

Serialization & AOT

JSON

  • Runtime now relies on generated context options for serializer operations.
  • Improved compatibility with trimming and Native AOT scenarios.
  • Added stricter error behavior for unsupported runtime object shapes in AOT-sensitive paths.

MessagePack

  • Resolver chain and serializer behavior updated to better support AOT constraints.
  • Improved handling for envelope/payload flow and stub extension data interoperability.
  • Added/expanded tests and transport checks around complex payload shapes.

Example App Improvements

Aligned with all the new changes and added Spectre.Console for better displaying.

CI / Build

  • Native AOT smoke publish flow updated to reduce restore/publish mismatch issues.
  • Improved handling of known external MessagePack assembly-level analysis warning behavior in CI.

Notes

  • This is a beta release. APIs and internal behavior may still evolve before stable.
  • If you are validating Native AOT, prefer testing with the Example app transport suite in your target runtime
    environment.

Feedback Requested

Please report:

  • Native AOT publish/runtime issues (including runtime IDs and SDK versions)
  • MsgPack payload edge cases (especially extension data / unknown fields)
  • Any transport parity differences between JSON and MsgPack

Full Changelog: v0.1.5...v0.2.0-beta1

v0.1.5

08 May 11:29

Choose a tag to compare

v0.1.4

06 May 09:41

Choose a tag to compare

Full Changelog: v0.1.3...v0.1.4

v0.1.3

30 Apr 17:17

Choose a tag to compare