sgcWebSockets 4.5.4

· Lançamentos

Rad Studio 

Aqui está a lista completa de novos recursos e correções de bugs incluídos no sgcWebSockets 4.5.4:

[+] : Aprimorada a propriedade TLSOptions.Version; agora, se o valor for tlsUndefined (o padrão), o cliente tentará negociar todas as versões TLS possíveis (de TLS 1.3 a TLS 1.0). Antes dessa mudança, o TLS 1.0 era selecionado.
[+] : Aprimorado o Amazon AWS IoT Client; nova propriedade SignatureV4.SessionToken, que deve ser preenchida ao usar credenciais de segurança temporárias.
[+] : Aprimorado HTTPUploadFiles; agora há 2 novos eventos: OnHTTPUploadBeforeSaveFile e OnHTTPUploadAfterSaveFile, permitindo conhecer/modificar o nome do arquivo recebido.
[+] : Aprimorada a configuração do openSSL; se openSSL_Options.LibPath = oslpCustomPath, então o local das bibliotecas openSSL será definido com o valor de OpenSSL_Options.LibPathCustom (Obrigado a Matteo pela sugestão).
[+] : Aprimorada a configuração do openSSL; nova propriedade UnixSymLinks permite desabilitar o carregamento de SymLinks no Unix. Corrige o erro "Clients should not load the unversioned libcrypto dylib as it does not have a stable ABI." no MacOS Monterey.
[+] : Aprimorada a mensagem de erro do openSSL "cannot load opensssl"; agora exibe o caminho, os métodos indisponíveis e a versão. Disponível apenas na Enterprise Edition.
[+] : Aprimorada a API Socket.IO; adicionado suporte para a API 4 mais recente.
[+] : Adicionado suporte para o método Send Signal do Cryptorobotics.

[*] : Corrigido bug em servidores Indy; em alguns casos, conexões http semi-desconectadas podiam consumir toda a CPU. (Obrigado a Moacir por me avisar).
[*] : Corrigido bug ao usar PerMessage_Deflate ao processar uma mensagem Z_BUF_ERROR.
[*] : Corrigido bug ao usar PerMessage_Deflate; se uma string vazia ou memory stream fosse enviada, um erro era disparado.
[*] : Corrigido bug ao usar PerMessage_Deflate; se ocorresse um erro interno durante a compressão ou descompressão, a mensagem de erro não era passada para a exceção.
[*] : Corrigido bug ao usar PerMessage_Deflate; ao descompactar um stream, se o buffer não fosse grande o suficiente, o stream não era totalmente comprimido.
[*] : Corrigido bug no TsgcWebSocketClient usando protocolo TCP simples e TLS 1.3; a conexão bloqueava uma thread por alguns segundos.
[*] : Corrigido bug quando a propriedade HTTPUploadFiles.RemoveBoundaries estava habilitada; o nome do arquivo não era extraído em versões mais antigas do Delphi.
[*] : Corrigido bug quando a propriedade HTTPUploadFiles.RemoveBoundaries estava habilitada; se o nome do arquivo contivesse espaços, o nome não era extraído completamente.
[*] : Corrigido bug ao compilar TsgcWebSocketClient_WinHTTP no CBuilder; erro de ambiguidade com a unit Wininet (HINTERNET, INTERNET_PORT).
[*] : Corrigido bug no MQTT Client ao ler/escrever valores VarInteger.
[*] : Corrigido bug no MQTT Client ao publicar uma mensagem com PublishProperties; sempre enviava a propriedade TopicAlias = 1.

[/] : A propriedade TsgcWebSocketClient.Active agora retorna se a conexão interna está atribuída ou não. Antes disso, chamava a função Connected do TCP Client.

.NET 

Aqui está a lista completa de novos recursos e correções de bugs incluídos no sgcWebSockets .NET 4.5.4:

[+] : Adicionado suporte para MacOS 64bits.
[+] : Adicionado suporte para pacotes NuGet.
[+] : Aprimorada a propriedade TLSOptions.Version; agora, se o valor for tlsUndefined (o padrão), o cliente tentará negociar todas as versões TLS possíveis (de TLS 1.3 a TLS 1.0). Antes dessa mudança, o TLS 1.0 era selecionado.
[+] : Aprimorado HTTPUploadFiles; agora há 2 novos eventos: OnHTTPUploadBeforeSaveFile e OnHTTPUploadAfterSaveFile, permitindo conhecer/modificar o nome do arquivo recebido.
[+] : Aprimorada a configuração do openSSL; se openSSL_Options.LibPath = oslpCustomPath, então o local das bibliotecas openSSL será definido com o valor de OpenSSL_Options.LibPathCustom (Obrigado a Matteo pela sugestão).
[+] : Aprimorada a configuração do openSSL; nova propriedade UnixSymLinks permite desabilitar o carregamento de SymLinks no Unix. Corrige o erro "Clients should not load the unversioned libcrypto dylib as it does not have a stable ABI." no MacOS Monterey.
[+] : Aprimorada a mensagem de erro do openSSL "cannot load opensssl"; agora exibe o caminho, os métodos indisponíveis e a versão.
[+] : Aprimorada a API Socket.IO; adicionado suporte para a API 4 mais recente.

[*] : Corrigido bug em servidores Indy; em alguns casos, conexões http semi-desconectadas podiam consumir toda a CPU. (Obrigado a Moacir por me avisar).
[*] : Corrigido bug ao usar PerMessage_Deflate ao processar uma mensagem Z_BUF_ERROR.
[*] : Corrigido bug ao usar PerMessage_Deflate; se uma string vazia ou memory stream fosse enviada, um erro era disparado.
[*] : Corrigido bug ao usar PerMessage_Deflate; se ocorresse um erro interno durante a compressão ou descompressão, a mensagem de erro não era passada para a exceção.
[*] : Corrigido bug ao usar PerMessage_Deflate; ao descompactar um stream, se o buffer não fosse grande o suficiente, o stream não era totalmente comprimido.
[*] : Corrigido bug no TsgcWebSocketClient usando protocolo TCP simples e TLS 1.3; a conexão bloqueava uma thread por alguns segundos.
[*] : Corrigido bug quando a propriedade HTTPUploadFiles.RemoveBoundaries estava habilitada; o nome do arquivo não era extraído em versões mais antigas do Delphi.
[*] : Corrigido bug quando a propriedade HTTPUploadFiles.RemoveBoundaries estava habilitada; se o nome do arquivo contivesse espaços, o nome não era extraído completamente.
[*] : Corrigido bug no MQTT Client ao ler/escrever valores VarInteger.
[*] : Corrigido bug no MQTT Client ao publicar uma mensagem com PublishProperties; sempre enviava a propriedade TopicAlias = 1.

[/] : A propriedade TsgcWebSocketClient.Active agora retorna se a conexão interna está atribuída ou não. Antes disso, chamava a função Connected do TCP Client.