Skip to content

websocket-sharp v1.2.0

Choose a tag to compare

@aevien aevien released this 05 Jun 12:02

Unity/.NET 4.x compatible websocket-sharp maintenance release.

Highlights since v1.1.0:

  • Added fixed HTTP/WebSocket handshake parser guardrails: 8 KiB header section, 2 KiB request/header line, and 64 parsed header fields.
  • Added regression coverage for oversized handshakes, too-long request/header lines, and header-count flooding rejected before WebSocket sessions start.
  • Added fragment abuse coverage for many small fragments exceeding the assembled-message limit and abrupt disconnect during fragmented messages.
  • Added resource-abuse stress coverage: 50 rejected handshake clients and 25 fragment-limit clients complete without blocking a valid echo client or stranding sessions.
  • Added public API snapshot guardrails for exported public types, constructors, methods, properties, events, fields, and enum values.
  • Added Unity/IL2CPP static compatibility scan for known incompatible constructs such as delegate BeginInvoke/EndInvoke, runtime code generation, Thread.Abort, binary serialization, P/Invoke, runtime compilation, remoting, and dynamic assembly loading.
  • Added client-side malicious handshake response coverage for too many headers, too-long status/header lines, and invalid status lines.
  • Assembly identity remains stable for Unity references: AssemblyVersion stays 1.0.2.32832.
  • FileVersion and ProductVersion are both 1.2.0.0.

Verification:

  • dotnet build websocket-sharp/websocket-sharp.csproj -c Release --no-restore: passed, 0 warnings, 0 errors.
  • dotnet test tests/WebSocketSharp.Tests/WebSocketSharp.Tests.csproj -c Release --no-restore: 94/94 passed.
  • dotnet test tests/WebSocketSharp.StressTests/WebSocketSharp.StressTests.csproj -c Release --no-restore --filter TestCategory=Stress: 8/8 passed.
  • CI passed on dev and main for commit 75daf03.
  • No BeginInvoke/EndInvoke usage remains in websocket-sharp or tests.

Assets:

  • websocket-sharp.dll: Unity Editor/Standalone managed plugin for .NET 4.x / net472.
  • websocket-sharp-v1.2.0-unity-net472.zip: DLL plus README.

WebGL remains unsupported by this managed socket implementation; Unity WebGL should keep using the browser JavaScript WebSocket layer.

SHA256:

  • websocket-sharp.dll: 99BA34F444957094F35C1ECC97EE196752074DFC78B6C9436E2B47A6E1D16978
  • websocket-sharp-v1.2.0-unity-net472.zip: 7067037D9C1BD3CCA474EEDD4606784E34EE5332095642A14CAEB789A8E39F12