sgcWebSockets 4.4.4

· Lançamentos

These are the features included in sgcWebSockets 4.4.4

[+] : Novo Component TsgcHTTPGoogleCloud_Calendar_Client, permite usar Google Calendar API V3: get Calendars, events, synchronize with your own calendar...
[+] : Novo Demo GoogleCalendar which mostra a main features of Google Calendar Client.
[+] : Novo método "PublishAndWait" in MQTT Client, this method permite publish a message usando mtqsAtLeastOnce or mtqsExactlyOnce and wait till message is processed by server.
[+] : Novo método "SendAndWait_DeviceToCloud" in Azure IoT MQTT Client, sends a message from device to cloud and wait till server processes the request.
[+] : Nova propriedade Authentication in TsgcHTTP2Client, permite enviar HTTP/2 Requests usando OAuth2 protocol as authentication.
[+] : Servidor HTTP/2 aprimorado, ping and heartbeat are now compatível.
[+] : Aprimorado Google PubSub client, novo Events "OnAuthToken" and "OnAuthTokenError" permite tratar the OAuth2 event flow.
[+] : Aprimorado Google PubSub client, novo Method "RefreshToken" permite reconnect to an OAuth2 session.
[+] : Cliente Telegram aprimorado, added support for proxies: HTTP, MTProto and Socks5. New methods to Add Proxies, Remove, Enable, Disable...
[+] : Novo método "Restart" in Server Components, restart o servidor in a secondary thread.
[+] : Aprimorado WatchDog on Server components, a nova propriedade called Monitor, se habilitada, a client will try to connect to server, se fails após the TimeOut set, o servidor is restarted automatically.

[*] : Corrigido bug TsgcWebSocketClient and TLSOptions.IOHandler = iohSChannel, quando closing conexão uma exceção 10004 was shown.
[*] : Corrigido bug TsgcWebSocketClient and TLSOptions.IOHandler = iohSChannel, quando destroying TsgcWebSocketClient if conexão was active, a thread-lock occurs.
[*] : Corrigido bug Azure IoT MQTT Client, OnMQTTPubAck wasn't be called when client receives an acknowledgement do servidor.
[*] : Corrigido bug Server conexões wasn't closed if OriginsAllowed not match the WebSocket origin client.
[*] : Corrigido bug ServerSentEvent javascript code, contains invalid text.
[*] : Corrigido bug compiling Custom Indy version, sgcIdStackVCLPosix was usando IdCTypes em vez de sgcIdCTypes.
[*] : Corrigido bug HeartBeat, se there was uma exceção sending a ping, exception was not captured and was shown to user.
[*] : Corrigido bug MQTT Client, se there was uma exceção enquanto resending a message with Qos <> mtqsAtLeastOnce, exception was not captured and was shown to user.
[*] : Corrigido bug MQTT Client, quando publishing a Stream with Qos <> mtqsAtLeastOnce and not received an acknowledgment from server antes de timeout, quando resend the message, payload was empty.
[*] : Corrigido vazamento de memórias on Server Component when HTTP/2 is habilitada.
[*] : Corrigido bug HTTP/2 when the other peer send a InitialWindowSize configurações update.
[*] : Corrigido bug HTTP/2 Client, se durante a Synchronous HTTP Request, there was a disconnection, client não stop wait a result.
[*] : Corrigido bug HTTP/2 Server, se SETTINGS_INITIAL_WINDOW_SIZE was changed após HEADERS, the WindowSize was not adjusted properly.
[*] : Corrigido bug Binance Spot User Stream API, se there was um erro deleting internal ListenKey após a disconnection, the field was not cleared and can't reconnect.
[*] : Corrigido bug WatchDog on Server Components, se o servidor was stopped manually, the WatchDog try to start server again em vez de stop.
[*] : Corrigido bug compiling sgcJSON_XSuperObject and sgcJSON_System with Delphi 10.4
[*] : Corrigido bug WebSocket Indy Servers, se Options.ReadTimeOut = 0 o servidor make usar of full cpu. Now the minimum value for ReadTimeOut = 1
[*] : Corrigido bug WebSocket Indy Servers, se server send a close packet and it's not received/processed by other peer, a conexão make usar of full cpu.

[/] : TsgcHTTP2Client HTTP/2 Asynchronous methods, now are renamed to GetAsync, PostAsync, PutAsync...
[/] : Demos now are grouped by categories.