以下是 sgcWebSockets 4.4.8 包含的新功能和错误修复的完整列表:
[+] : 新增组件 TsgcHTTP_JWT_Client,允许在 HTTP/1、HTTP/2 和 WebSocket 客户端组件中将 JWT 令牌编码并签名为身份验证 Bearer。
[+] : 新增组件 TsgcHTTP_JWT_Server,允许在 HTTP/1、HTTP/2 和 WebSocket 客户端组件中解码和验证 JWT 令牌身份验证 Bearer。
[+] : 新增组件 TsgcWSAPI_Kraken_Futures,用于获取期货市场数据的 Kraken 客户端组件,支持:
- WebSocket 公共和私有频道。
- REST 公共和私有端点。
[+] : 改进 Coinbase Pro API,现在完全支持 Rest API,可进行交易:下市价订单、限价订单、取消订单、列出订单等。
[+] : 改进 Coinbase Pro API,WebSocket API 现在支持用户频道。
[+] : 改进 Coinbase Pro API,新增属性 "SandBox",允许使用虚拟资金测试交易账户。
[+] : 改进 WebSocket 服务器和客户端组件中的 LogFile,现在 WebSocket 消息以未掩码形式记录。
[+] : 改进 Telegram API,新增方法:GetBasicGroupFullInfo、GetSupergroupMembers 和 GetChatMember,允许获取基本群组和超级群组成员信息。
[+] : 改进 TsgcWebSocketHTTPServer,新增属性 "Charset",可设置提供 DocumentRoot 文件的默认字符集。
[+] : 改进 OpenSSL 1.1.1,读取带密码的证书,现在不再需要在 IdCompilerDefines.inc 中启用编译器定义 "SGC_OPENSSL_API_1_1"。
[+] : 改进 WebSocket 服务器的 SSLOptions.OpenSSL_Options.ECDHE 属性,若启用,现在会为 TLS 1.2 添加安全密码套件列表。
[+] : 改进 Binance 客户端,若收到 Binance 通知 ListenKey 已过期的消息,自动请求新的 ListenKey。
[*] : 修复 WebSocket 协议在使用 Delphi 7 至 2009 以及最新版 Indy 时读取 UTF8 消息的错误。
[*] : 修复 Google PubSub 客户端错误:消息以 ASCII 而非 UTF-8 编码的问题。
[*] : 修复 Binance API 将本地时间转换为 UNIX UTC 时间时的错误。
[*] : 修复 HTTP/2 客户端错误:OnHTTP2BeforeRequest 事件的 Headers 参数未初始化的问题。
[*] : 修复 HTTP/2 服务器错误:若缓冲区包含多个帧,检测 HTTP/2 协议失败的问题。
[*] : 修复 OAuth2 客户端错误:传递用户名/密码时,向 HTTP 客户端分配值返回访问冲突的问题。(感谢 Peter 反馈。)
[*] : 修复 HTTP/2 协议中的范围检查错误(当编译器选项中启用 RangeChecking 时)。
[*] : 修复 HTTP/2 协议中将整数转换为字节数组时的错误。
[*] : 修复 HTTP/2 客户端错误:当 APIVersion = oslAPI_1_1 时加载了 openSSL 1.0.2 库而非 1.1.1 的问题。
[*] : 修复 HTTP/2 客户端错误:当 notifyEvents = neAsynchronous 时,OnHTTP2GoAway 事件的 GoAway 参数未被分配的问题。
[*] : 修复 HTTP/2 客户端错误:当 notifyEvents = neAsynchronous 时,OnHTTP2RSTStream 事件的 RSTStream 参数未被分配的问题。
[*] : 修复 TLS 1.3 和 OpenSSL 1.1.1 错误:默认将最低协议设置为 TLS 1.0 而非 TLS 1.2 的问题。
[/] : 将 PSSL_CTX 更改为 Pointer,以允许两种 API:openSSL 1.0.2(PSSL_CTX_1_0)和 openSSL 1.1.1(PSSL_CTX_1_01)。
