sgcWebSockets 4.4.1

· リリース
sgcWebSockets 4.4.1 | eSeGeCe ブログ

sgcWebSockets 4.4.1 に含まれる変更点です。

[+] : Telegram API コンポーネントを改善しました。Android のサポートを追加しました。
[+] : Telegram クライアントに新しいプロパティ "DatabaseDirectory" を追加しました。TDLib のデータベースが置かれているディレクトリを設定できます。
[+] : Telegram デモを改善し、Telegram コンポーネントがパスワードを必要とする場合にユーザーへ入力を求めるようにしました。
[+] : WebSocket データの読み取り速度を改善しました(Delphi 2010 以降が必要です)。サーバーおよびクライアントの各コンポーネントに適用されます。
[+] : Debug が有効な場合、スレッドはクラス名、またはクラス名 + Connection.Guid で識別されるようになりました。
[+] : Indy IOCP サーバーに新しいプロパティ TimeOut を追加しました。サーバースレッドを閉じる際の最大タイムアウトを設定できます。
[+] : OpenSSL Custom Indy を更新しました。証明書のエラーを取得できるよう X509_verify_cert_error_string を追加しました。(Sébastien さん、パッチのご提供ありがとうございます)
[+] : Dataset プロトコルを改善しました。float フィールドと datetime フィールドの書式設定を指定する新しいプロパティ "FormatSettings" を追加しました(ピア間で書式設定が異なることを防ぎます)。
[+] : TsgcWebSocketClient で SChannel が設定されている場合の ALPN (Application-Layer Protocol Negotiation) のサポートを追加しました。
[+] : Socket.IO API に新しいプロパティ "Path" を追加しました。socket.io サーバーへ接続する前にカスタムパスを設定できます。

[*] : CBuilder 2010 でのコンパイルに関するバグを修正しました。
[*] : バグ修正。Rad Studio 10.4 の nextgen コンパイラでオブジェクトを破棄する際の問題を修正しました。
[*] : バグ修正。コンパイラの設定ファイルに Telegram コンポーネントが含まれていませんでした。
[*] : バグ修正。MQTT 5.0 API で PubACK、PubREC、PubREL、PubCOMP のプロパティを読み取る際の問題を修正しました。
[*] : バグ修正。MQTT 5.0 で publish メソッドを呼び出し、プロパティをパラメーターとして渡す際の問題を修正しました。
[*] : バグ修正。Indy サーバー + IOCP で、接続を閉じるときにアクセス違反が発生していました。
[*] : バグ修正。Indy サーバー + IOCP で、例外 "connection closed gracefully" がエンドユーザーに表示されていました。
[*] : バグ修正。Indy サーバー + IOCP のメモリリークを解消しました。
[*] : バグ修正。TsgcWebSocketClient.Connect で、リモートピアが利用できない場合に例外が発生していました。
[*] : バグ修正。MQTT クライアントプロトコルで、watchdog が有効かつ Attempts の値がゼロより大きい場合、クライアントが Attempts の値より多い回数の再接続を試みていました。
[*] : バグ修正。OpenSSL Custom Indy で、openssl 1.1.1 では EVP_MD_CTX_new と EVP_MD_CTX_free を使用するようにしました。(Sébastien さん、パッチのご提供ありがとうございます)
[*] : バグ修正。OpenSSL Custom Indy で、sk_pop_free の誤った名前を修正し、静的リンクで利用できる関数をいくつか追加しました。(Sébastien さん、パッチのご提供ありがとうございます)
[*] : バグ修正。Linux 上で sgcWebSockets + Custom Indy をコンパイルする際の問題を修正しました。(Hans さん、パッチのご提供ありがとうございます)
[*] : バグ修正。TsgcWebSocketClient で、クライアントが要求していないサブプロトコルをサーバーが送信した場合の問題を修正しました。
[*] : バグ修正。TsgcWebSocketClient_WinHTTP で Async = True かつ TLS が有効な場合、クライアントがサーバーへ接続できませんでした。
[*] : バグ修正。Presence プロトコルで、切断中にメンバーが見つからない場合に例外が発生していました。(Michael さん、ご報告ありがとうございます)
[*] : バグ修正。Intraweb XV で Intraweb クライアントがメッセージを送信する際の問題を修正しました。
[*] : バグ修正。最新の Indy バージョンで TLS が有効な場合、クライアントの切断中にスレッドロックが発生していました。
[*] : バグ修正。TsgcWebSocketClient_WinHTTP で、最新バージョンの Delphi / CBuilder においてバイナリメッセージが正しく読み取られませんでした。
[*] : バグ修正。Azure IoT クライアントで、タイムゾーンの設定によっては接続できませんでした。
[*] : バグ修正。Telegram コンポーネントで、SetTDJsonPath が public メソッドとして定義されていませんでした。
[*] : バグ修正。Presence プロトコルの JavaScript で、JSON メッセージ内の二重引用符のような文字を送信する際の問題を修正しました。
[*] : Socket.IO デモを修正しました。サーバーの URL が変更されたため動作しなくなっていました。

[/] : 非推奨の TsgcWebSocketClient_SocketIO を削除しました。socket.io は API としてのみ利用できます。
[/] : WebSocket の列挙型との競合を避けるため、Binance の HTTP 列挙型を変更しました。
[/] : WebSocket の列挙型との競合を避けるため、Kraken の HTTP 列挙型を変更しました。

すべてのリリースの変更点はsgcWebSockets のリリースノートで確認できます。