Skip to content

Releases: Agash/ObsWebSocket

v0.3.2-dev1

v0.3.2-dev1 Pre-release
Pre-release

Choose a tag to compare

@Agash Agash released this 23 Jun 09:42

Multi-target net11.0 (dev prerelease).

v0.3.1

Choose a tag to compare

@Agash Agash released this 21 Jun 15:09

Maintenance/stable release.

  • Security: MessagePack 3.1.4 -> 3.1.7 (GHSA-hv8m-jj95-wg3x).
  • Microsoft.Extensions.* 10.0.7 -> 10.0.8.
  • DotNet.ReproducibleBuilds 2.0.2 -> 2.0.5.
  • Protocol verified current against obs-websocket 5.7.4 (no surface change since 5.7.0).

v0.3.1-dev3

v0.3.1-dev3 Pre-release
Pre-release

Choose a tag to compare

@Agash Agash released this 08 May 21:15

What's new

  • Typed auth-failure surface. AuthenticationFailureException and ConnectionAttemptFailedException are now public top-level types. Consumers can catch them directly to distinguish auth failures from generic connection issues without inspecting the exception message string. The existing public AuthenticationFailure event continues to fire for callers that prefer the event-driven path.

This is a non-breaking change for the public API — both exception types were previously internal sealed and unreachable from outside the assembly, so no consumer can have been catching them by name before.

Why

Downstream consumers (StreamWeaver in particular) had to string-match Contains("auth") / Contains("credential") on ObsWebSocketException.Message to detect auth failures. Promoting the typed exceptions removes that fragility.

v0.3.0 - OBS Websocket Protocol 5.7.0

Choose a tag to compare

@Agash Agash released this 01 Apr 09:54

v0.3.0

v0.3.0 updates protocol to 5.7.0 for new Canvas functionality within OBS, v0.2.0 stable release is being skipped

Highlights (from 0.2.0)

  • 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.

Full Changelog: v0.1.5...v0.3.0

v0.3.0-dev2

v0.3.0-dev2 Pre-release
Pre-release

Choose a tag to compare

@Agash Agash released this 27 Mar 22:40

Protocol refresh from OBS WebSocket master: Canvas lifecycle events (CanvasCreated, CanvasNameChanged, CanvasRemoved), GetCanvasList response type, optional canvasUuid filtering on scene-scoped requests. All call sites and tests updated for new signatures.

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

Choose a tag to compare

@Agash Agash released this 24 Feb 16:13

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

Choose a tag to compare

@Agash Agash released this 08 May 11:29

Full Changelog: v0.1.4...v0.1.5

v0.1.4

Choose a tag to compare

@Agash Agash released this 06 May 09:41

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

v0.1.3

Choose a tag to compare

@Agash Agash released this 30 Apr 17:17