Here is the comprehensive list of new features and bug fixes included in sgcWebSockets 4.4.9:
[+] : New property "HttpUploadFiles" in HTTP Servers (TsgcWebSocketHTTPServer and TsgcWebSocketServer_HTTPAPI). Allows to save the POST streams received as FileStreams so server can receive big files without getting out of memory exception.
[+] : New Demo that shows how POST big Files and store in a file instead of memory using WebSocket HTTP Server.
[+] : New Demo Apple Push Notifications, shows how send push notifications to apple devices using HTTP/2 and Certificates or JWT as authentication.
[+] : New Component TsgcUDPClient, UDP client based on Indy library for UDP connections.
[+] : New Component TsgcUDPServer, UDP server based on Indy library for UDP connections.
[+] : New Demo which shows how use UDP Server and Client, located in folder "Demos\01.WebSocket_Quick_Start\11.UDP_Server_Client".
[+] : Improved OAuth2 Client, now supports OAuth2 Client Credentials (for applications like daemons or service accounts). There is a new property called GrantType with the following values (auth2Code, auth2ClientCredentials).
[+] : Improved OAuth2 Client Demo, new Configuration "Azure AD As Service" showing the use of new Client Credentials grant type.
[+] : Improved OpenSSL_Options property, new property "LibPath", if has the value "oslpDefaultFolder" automatically calls IdOpenSSLSetLibPath and sets the default lib folder.
[+] : Updated Indy for Lazarus to latest version.
[+] : Update OpenSSL libraries 1.1.1 to latest version.
[*] : Fixed Bug HTTP/2 Server sending Windows Update Frame.
[*] : Fixed Bug OAuth2 Client error opening WebBrowser under MacOSX.
[*] : Fixed Bug compiling sgcWebSockets under ios, error linking JWT openSSL methods. By default JWT is disabled under iOS, enable SGC_JWT_IOS in sgcVer.inc.
[*] : Fixed Bug HTTP client was not setting the correct openSSL API value.
[*] : Fixed Bug Loading openSSL 1.1 under OSX64.
[*] : Fixed Bug HTTP.SYS Range Check Error when RangeChecking is enabled.
[*] : Fixed Bug SChannel if no certificate was found by issuer, the connection was closed.
[*] : Fixed Bug TsgcWebSocketServer and TsgcWebSocketHTTPServer, if authentication was enabled an access violation was raised processing any request.
[*] : Fixed Bug Binance Futures API calling method "GetPositionInformation", binance server was returning 404 error.
[*] : Fixed Bug Google PubSub client, JSON message creading calling Publish Method with arguments was incorrect. (Thanks to Erik to let me know):
[/] : Updated Binance Futures REST API, the method "GetAllLiquidationOrders" has been deleted because is not supported any more by Binance API.