Releases: Agash/ObsWebSocket
Releases · Agash/ObsWebSocket
v0.2.0-beta1 — Native AOT Serialization Overhaul (JSON + MsgPack)
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
v0.1.4
Full Changelog: v0.1.3...v0.1.4