Releases: aevien/websocket-sharp
websocket-sharp v1.2.1
websocket-sharp v1.2.1
Patch release focused on examples and release metadata.
Changes
- Modernized legacy Example, Example2, and Example3 projects to SDK-style net472 builds.
- Added documented examples for async client lifecycle, server resource limits, secure/proxy client settings, and Unity MonoBehaviour lifecycle usage.
- Added example builds to CI.
- Updated DLL file/product/informational version to 1.2.1.0 while keeping AssemblyVersion("1.0.2.32832") stable for Unity binary compatibility.
Verification
- dotnet build websocket-sharp/websocket-sharp.csproj -c Release: passed, 0 warnings, 0 errors.
- Unit tests: 94/94 passed on net472.
- Stress tests: 8/8 passed on net472.
- Console examples: Example, Example2, Example3, ClientLifecycle, ServerWithLimits, and SecureAndProxyClient all build on net472.
- Runtime example smoke: ServerWithLimits + ClientLifecycle open/send/echo/close passed.
websocket-sharp v1.2.0
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
websocket-sharp v1.1.0
Unity/.NET 4.x compatible websocket-sharp maintenance release.
Highlights since v1.0.6:
- Proxy connect regression coverage for HTTP CONNECT success, authentication, rejection, and timeout paths.
- Compressed frame hardening: corrupt deflate payloads and compressed control frames are rejected with protocol close code 1002.
- Close lifecycle regression coverage for local close, remote close, simultaneous close, and abrupt disconnect scenarios.
- Protocol fuzz coverage for malformed control/data frames, reserved opcodes, invalid lengths, and masking rules.
- Assembly identity remains stable for Unity references: AssemblyVersion stays 1.0.2.32832.
- FileVersion and ProductVersion are both 1.1.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: 81/81 passed.
- dotnet test tests/WebSocketSharp.StressTests/WebSocketSharp.StressTests.csproj -c Release --no-restore --filter TestCategory=Stress: 7/7 passed.
- CI passed on dev and main for commit bd39120.
- 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.1.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: 1CDC270BE56D9F4841C472D8E7C67EED8F213AE0218604D57D2746C95458CCE1
- websocket-sharp-v1.1.0-unity-net472.zip: 7871EA07500982735E2E204A8D1358A64B5F611BF79E9A8D980CF1A015C594A8
websocket-sharp v1.0.6 Unity Preview 1
Unity/.NET 4.x preview build for net472.
Changes in this preview:
- Bounds TLS handshakes with existing timeout settings.
WebSocket.ConnectionTimeoutnow also limits clientwss://TLS handshake time.- Secure
WebSocketServer.HandshakeTimeoutandHttpServer.HandshakeTimeoutnow also limit server TLS handshakes before the first HTTP/WebSocket request. - Adds regression coverage for silent TLS peers on client, secure WebSocketServer, and secure HttpServer paths.
- Adds stress coverage for 20 silent TLS handshakes while a valid secure echo client opens, echoes, and closes.
Verification:
dotnet build websocket-sharp\websocket-sharp.csproj -c Release --no-restorepassed.dotnet test tests\WebSocketSharp.Tests\WebSocketSharp.Tests.csproj -c Release --no-restorepassed: 52/52.dotnet test tests\WebSocketSharp.StressTests\WebSocketSharp.StressTests.csproj -c Release --no-restore --filter TestCategory=Stresspassed: 7/7.- GitHub Actions
build-testpassed ondevandmainfor commit0d51b06e. - No
BeginInvoke/EndInvokeusage remains inwebsocket-sharpor tests.
Compatibility:
- Target framework remains
net472. - Assembly name remains
websocket-sharp. AssemblyVersion("1.0.2.32832")remains unchanged for Unity binary reference compatibility.- File/product version is
1.0.6.0. - WebGL remains unsupported for this managed socket DLL; use Unity/browser JavaScript WebSocket code there.
websocket-sharp v1.0.5 Unity Preview 1
Unity-oriented preview release for the maintained fork.
Target:
- net472 / Unity .NET 4.x profile
- Suitable for Unity Editor, Standalone and mobile IL2CPP/Mono plugin import where managed .NET sockets are available
- WebGL is not targeted because Unity WebGL uses the browser JavaScript WebSocket stack
- Legacy Windows 7/8 compatibility is intentionally not a target
Changes since v1.0.4-unity-preview.1:
- Added FrameReadTimeout for partial WebSocket frame reads
- Idle open connections with no incoming bytes are not closed by FrameReadTimeout
- Partial frame header stalls and declared payload stalls now close with protocol error without delivering OnMessage
- Added server WebSocketBehavior.FrameReadTimeout configuration
- Updated README and version metadata to 1.0.5.0
Validation before release:
- Release build: passed, 0 warnings, 0 errors
- Unit tests: 49/49 passed
- Stress tests: 6/6 passed
- BeginInvoke/EndInvoke guard: no matches in websocket-sharp or tests
- Stress coverage included 500 async lifecycle cycles, 50 CCU x 100 echo messages, 50 simultaneous ConnectAsync clients, close lifecycle stress, resource lifecycle stress and slow-handshake timeout coverage
Artifacts:
- websocket-sharp.dll SHA256: 0C5832E41CCDD6D4F718F263BC75694648059B20BC9B3F07FF8D55B4422C3C88
- websocket-sharp-v1.0.5-unity-preview.1-unity-net472.zip SHA256: D2AA3929ACEE096ED3E7BFEB18F11DED1D4ECA389AD906A3404A2C32403FDF83
websocket-sharp v1.0.4 Unity Preview 1
Unity-oriented preview release for the maintained fork.
Target:
- net472 / Unity .NET 4.x profile
- Suitable for Unity Editor, Standalone and mobile IL2CPP/Mono plugin import where managed .NET sockets are available
- WebGL is not targeted because Unity WebGL uses the browser JavaScript WebSocket stack
- Legacy Windows 7/8 compatibility is intentionally not a target
Changes since v1.0.3-unity-preview.1:
- Added GitHub Actions CI for main/dev and manual stress-test workflow
- Added bounded receive/send resource limits: MaxFramePayloadLength, MaxMessagePayloadLength, MaxMessageEventQueueLength, MaxAsyncSendQueueLength
- Added WebSocketBehavior limit properties for server services
- Reject oversized frames/messages with 1009 TooBig before OnMessage delivery
- Added bounded decompression for compressed messages that inflate past the configured limit
- Updated README with release links, CI notes, Unity import guidance and runtime limit documentation
Validation before release:
- Release build: passed, 0 warnings, 0 errors
- Unit tests: 46/46 passed
- Stress tests: 6/6 passed
- BeginInvoke/EndInvoke guard: no matches in websocket-sharp or tests
- Stress coverage included 500 async lifecycle cycles, 50 CCU x 100 echo messages, 50 simultaneous ConnectAsync clients, close lifecycle stress, resource lifecycle stress and slow-handshake timeout coverage
Artifacts:
- websocket-sharp.dll SHA256: A41805197B2E90D889199377FD2984C9841221E6AED75BB68C1D2A47EF44AB56
- websocket-sharp-v1.0.4-unity-preview.1-unity-net472.zip SHA256: D652D05C7810DB01EF20D85208D4A345194D5479E150DACC007A6C3CC589590A
websocket-sharp v1.0.3 Unity Preview 1
Unity-oriented preview release for the maintained fork.
Target:
- net472 / Unity .NET 4.x profile
- Suitable for Unity Editor, Standalone and mobile IL2CPP/Mono plugin import where managed .NET sockets are available
- WebGL is not targeted because Unity WebGL uses the browser JavaScript WebSocket stack
- Legacy Windows 7/8 compatibility was intentionally not preserved as a target
Validation before release:
- Release build: passed, 0 warnings, 0 errors
- Unit tests: 43/43 passed
- Stress tests: 6/6 passed
- Stress coverage included 500 async lifecycle cycles, 50 CCU x 100 echo messages, 50 simultaneous ConnectAsync clients, close lifecycle stress, resource lifecycle stress and slow-handshake timeout coverage
Artifacts:
- websocket-sharp.dll SHA256: E3B972F2BE792B8DA7B4C63C45201DBC3048F3C68128D11AD13E8B841978812A
- websocket-sharp-v1.0.3-unity-preview.1-unity-net472.zip SHA256: 0DBC4B47B10495FCAF3A72F194B511DDC67A8A03909F34885576F98FFD1EDF5F