Oto pełna lista nowych funkcji i poprawek błędów dostępnych w sgcWebSockets 4.5.0:
[+] : Nowy komponent TsgcSTUNServer implementujący protokół STUN Server, zapewniający usługę wykrywania zmapowanego adresu IP i numeru portu.
[+] : Nowy komponent TsgcSTUNClient implementujący protokół STUN Client.
[+] : Nowe demo pokazujące, jak używać STUN Server i Client — w folderze "35.P2P\02.STUN".
[+] : Nowy komponent TsgcWSAPI_FTX, komponent kliencki obsługujący handel kryptowalutami przez FTX Broker. Obsługuje:
- publiczne i prywatne kanały WebSocket.
- publiczne i prywatne punkty końcowe REST.
[+] : Nowe właściwości "BoundPortMin" i "BoundPortMax" w TsgcWebSocketClient, pozwalające ustawić minimalny i maksymalny lokalny port używany przez klienta WebSocket.
[+] : Nowa właściwość "LingerState" w TsgcWebSocketClient, pozwalająca zresetować połączenie gniazda gdy LingerState = 0. Domyślna wartość to -1, co oznacza zamknięcie połączenia z obsługą błędów.
[+] : Zmodyfikowano metodę Publish Google PubSub, teraz ma nowy parametr "aOrderingKey" pozwalający ustawić nazwę atrybutu będącego kluczem.
[+] : Ulepszono HTTP.SYS Server: jeśli Watchdog.Monitor jest włączony i serwer używa SSL, monitor klienta używa SChannel zamiast OpenSSL.
[+] : Ulepszono Binance API, nowa właściwość "TestNet" — po włączeniu łączy z kontem demo Binance.
[+] : Ulepszono komponent klienta Binance Spot API, nowe metody: CancelAllOpenOrders, PlaceMarketOrder, PlaceLimitOrder i PlaceStopOrder.
[+] : Ulepszono komponent klienta Binance Futures API, nowe metody: PlaceMarketOrder, PlaceLimitOrder i PlaceStopOrder.
[+] : Ulepszono klienta WinHTTP WebSocket: zaimplementowano metody Connect i Disconnect czekające na połączenie / rozłączenie z serwerem.
[+] : Ulepszono klienta WinHTTP WebSocket: zaimplementowano metody Start i Stop łączące/rozłączające z serwerem przez wątek pomocniczy, co zapobiega zamrożeniu wątku głównego.
[+] : Ulepszono Telegram API: metoda GetSupergroupMembers może teraz być filtrowana według Administrator, Bots, Contacts…
[+] : Ulepszono OAuth2 Server, nowa metoda "AddToken" pozwala odtworzyć wydane tokeny po restarcie serwera OAuth2.
[*] : Naprawiono błąd Google PubSub: atrybuty opublikowanych wiadomości nie były ujmowane w podwójne cudzysłowy.
[*] : Naprawiono błąd HTTP.SYS Server: nagłówki CustomHeaders ustawione w odpowiedzi HTTP nie były dołączane do nagłówków odpowiedzi.
[*] : Naprawiono błąd HTTP.SYS Server: ContentStream nie był dołączany do treści odpowiedzi HTTP.
[*] : Naprawiono błąd: gdy Options.RaiseDisconnectException było true, zdarzenie było zgłaszane w kontekście wątku połączenia nawet jeśli notifyEvents <> neNoSync.
[*] : Naprawiono błąd kompilacji dla FPC i ARM: używając najnowszej wersji Indy występowała blokada wątku.
[*] : Naprawiono błąd HTTP.SYS Server: LogFile.FileName nie był edytowalny w trybie projektowania.
[*] : Naprawiono błąd HTTP.SYS Server: wyciek pamięci przy rozłączaniu połączenia.
[*] : Naprawiono błąd klienta WinHTTP WebSocket (asynchronous = true): rozmiar bufora był stały zamiast używać właściwości ReceiveBufferSize.
[*] : Naprawiono błąd klienta WinHTTP WebSocket (asynchronous = true): przy błędzie podczas uścisku WebSocket był zgłaszany nieobsługiwany wyjątek.
[*] : Naprawiono błąd: gdy TsgcWebSocketClient miał podłączone API, jeśli wewnętrzne zdarzenie OnDisconnect rzuciło wyjątek podczas przetwarzania, zdarzenie nie było wywoływane.
[*] : Naprawiono błąd Telegram API przy Document.FileName zawierającym znaki UTF-8.
[/] : Zmieniono nazwę właściwości TsgcWebResponseHTTPAPI.CustomHeader na TsgcWebResponseHTTPAPI.CustomHeaders.
[/] : Zmodyfikowano funkcję PlaceStopOrder klienta Coinbase API.
[/] : Zmieniono wartość głębokości arkusza "bde15" na "bde20".
[/] : Zmieniono nazwę funkcji serwera OAuth2 "GetApp" na "GetAppByClientId".
