Skip to content

Releases: ProjectSky/sm-ext-websocket

Release 1.0.8

06 Dec 15:51

Choose a tag to compare

feat: add TLS/SSL configuration, proxy support, and connection statistics

Major features:

  • Add TLS/SSL configuration API for WebSocket client, server, and HTTP requests
  • SetTLSCertAndKey, SetTLSCAFile, SetTLSCiphers methods
  • HostnameValidation property for certificate verification
  • Add proxy support (HTTP/HTTPS/SOCKS5) for WebSocket and HTTP clients
  • SetProxy, ClearProxy methods and HasProxy property
  • Add connection statistics for WebSocket client (for debug)
  • MessagesSent/Received, BytesSent/Received, PingsSent/Received, etc.
  • Add timeout configuration options
  • PingTimeout, IdleTimeout, SendTimeout, CloseTimeout, HandshakeTimeout
  • Add HTTP authentication methods (SetBasicAuth, SetBearerAuth, ClearAuth)
  • Add WebSocket subprotocol support (AddSubProtocol, RemoveSubProtocol, ClearSubProtocols)
  • Add connection pooling and keep-alive options for HTTP requests
  • Add write_flg parameter to WriteJSON for JSON formatting control (closes #10)
    
    Build system:
  • Rebuild OpenSSL static libraries
  • Add NOMINMAX define for Windows to fix std::min/max conflicts
  • Add /ignore:4099 linker flag to suppress PDB warnings
    
    Refactoring:
  • Rename ws_natives.cpp to ws_natives_client.cpp for clarity
  • Split ws.inc into ws_client.inc and ws_server.inc for better organization
  • Convert IXWebSocket and zlib to git submodules
  • Move AMBuilder files for third-party libraries to root third_party directory
  • Rename WebsocketState enum to WebSocketState for consistency
  • Replace DisableDeflate/IsDeflateEnabled with PerMessageDeflate property
  • Change default ping interval to -1 (disabled) for WebSocket server
    
    Documentation:
  • Update README with proxy support, SSL dependencies, and build instructions
  • Add comprehensive API documentation for new features
  • Add WSS (WebSocket Secure) server example script
  • Note about forked IXWebSocket with core modifications

Release 1.0.7

21 Nov 14:34

Choose a tag to compare

refactor: replace yyjson with json extension and update related functionality

  • Removed the dependency on the bundled yyjson library, replacing it with the sm-ext-json extension
  • Updated all references from YYJSON to JSON in the codebase, including method signatures and variable types
  • Adjusted HTTP request methods to utilize the new JSON handling interface
  • Enhanced task context management for WebSocket and HTTP operations to ensure proper cleanup and ownership
  • Updated documentation and README to reflect the changes in dependencies and usage instructions

Release 1.0.6

17 Oct 11:27

Choose a tag to compare

feat: use sm-ext-yyjson extension interface instead of bundled library

  • Replace bundled yyjson library with sm-ext-yyjson extension interface
  • Add sm-ext-yyjson as required dependency
  • Add installation instructions for setting up dependencies
  • Update TODO to mark extension interface implementation as completed

BREAKING CHANGE: Users must now install sm-ext-yyjson extension separately

Release 1.0.5

19 May 05:01

Choose a tag to compare

fix(websocket): correct message length handling in WebSocket callbacks (fixes #9)

  • Remove +1 from initial messageLength calculation to use actual content length
  • Add +1 only when pushing length to script callbacks

chore(deps): update dependencies to latest versions

  • Update IXWebSocket to v11.4.6
  • Update yyjson to v0.11.1
  • Update zlib to v1.3.1

docs: update documentation for message length handling

  • Add clarification about null terminator in message length parameter

Release 1.0.4a

17 Apr 15:20

Choose a tag to compare

feat(http): improved http related functions

  • Add PostJson, PostForm, PutJson, PatchJson methods
  • Add form parameter handling with AppendFormParam
  • Remove generic GET methods
  • Add URL encoding support for form parameters
  • Update method signatures in header files
  • Update native bindings
  • Add comprehensive test script for HTTP client
  • Include examples for all HTTP methods
  • Add form data and JSON payload examples
  • Add response handling examples
  • Add header manipulation examples
  • Use httpbin.org as test endpoint

This change improves the HTTP client API by providing more specific
and type-safe methods for different request body types

Release 1.0.4

16 Apr 12:52

Choose a tag to compare

refactor: task queue system

Changes include:

  • Added ITaskContext interface for handling WebSocket and Http tasks
  • Created specialized task context classes for different WebSocket events
  • Implemented ThreadSafeQueue<ITaskContext *> g_TaskQueue for thread-safe task management
  • Added WebsocketExtension::AddWsTaskToQueue method to queue tasks
  • Extract duplicate remote address logic to static helper method

Release 1.0.3

21 Mar 14:36

Choose a tag to compare

ver 1.0.3
Sync changes from sm-ext-yyjson
Updated some HTTP functions

Release 1.0.2

07 Feb 14:31

Choose a tag to compare

fix build