sgcWebSockets 2026.10

· Lançamentos
sgcWebSockets 2026.10

O sgcWebSockets 2026.10 já está disponível. Dois fios condutores atravessam esta versão: o sgcHTML cresceu com as partes de que uma aplicação web de negócio precisa e que você não vai mais precisar escrever à mão, e a criptografia se tornou pós-quântica sem adicionar uma única biblioteca externa.

Aplicações web: a parte chata, resolvida

Sessões, login e CSRF. O novo componente TsgcHTMLAuth e seus armazenamentos de sessão mantêm o cookie, respondem às requisições de login e logout, encerram sessões inativas e limitam tentativas de login malsucedidas. O token CSRF viaja em uma meta tag, o htmx o adiciona sozinho a cada requisição, e o servidor rejeita um post que não o carregue.

FAuth := TsgcHTMLAuth.Create(Self);
FAuth.SessionStore := TsgcHTMLSessionStore_Memory.Create(Self);
FAuth.CookieName := 'app_session';
FEngine.Auth := FAuth;

Rotas que se leem como rotas. Parâmetros de caminho, um filtro de métodos, e acesso aos cabeçalhos, aos cookies e ao corpo da requisição:

with FRouter.Routes.Add do
begin
  Path := '/customers/{id}/edit';
  Methods := [hrmGet, hrmPost];
  RequireLogin := True;
  RequireRoles := 'admin,sales';
end;

Páginas que você pode testar. O DispatchDirect responde a uma requisição sem que haja um socket por trás, e uma nova unit lê o HTML gerado, encontra elementos por id, classe, tag ou atributo e compara uma página com uma cópia salva, de modo que uma mudança não intencional na marcação seja notada por um teste, e não por um cliente.

Navegação que parece uma aplicação. As páginas mudam sem uma recarga completa e mantêm a posição de rolagem e o que o usuário estava digitando, com uma barra de carregamento, uma caixa de diálogo quando a conexão cai e uma mensagem quando uma requisição falha. Tudo isso desativado por padrão.

As quatro funcionalidades principais

Cada uma delas tem seu próprio artigo, linkado no final, então aqui vai apenas o que é:

Push, de duas formas

Os server sent events agora podem transportar as atualizações em vez de um WebSocket, com repetição do que foi perdido durante a desconexão, e funcionam com o servidor HTTP comum. O Web Push alcança um navegador que está fechado. Uma caixa de entrada de notificações e uma tabela de preferências vêm junto, e o componente de notificação decide qual canal cada usuário recebe.

IA: respostas sobre as quais você pode agir

O TsgcAIChat pode pedir um JSON que siga um schema fornecido por você, na OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok e Mistral, por meio do novo método ChatJSON, que analisa a resposta e pergunta mais uma vez, anexando o erro de análise, quando ela não pode ser lida. O componente de chat agora também envia e recebe imagens, e o BaseUrl agora é respeitado por todos os provedores, e não apenas pelo Ollama, de modo que qualquer um deles pode ser apontado para um proxy ou um gateway local.

Criptografia: pós-quântica, em Object Pascal

ML-KEM (FIPS 203), ML-DSA (FIPS 204) e SLH-DSA (FIPS 205), encapsulamento híbrido de chaves X-Wing, certificados X.509 pós-quânticos e autoridades certificadoras, e JWT assinados com ML-DSA. Tudo isso escrito em Object Pascal dentro do pacote sgcCrypto, sem nenhuma biblioteca externa, validado contra os vetores de resposta conhecidos do NIST.

Sobre isso se apoia um mecanismo TLS 1.3 nativo, também em Pascal puro: um cliente ou um servidor fala TLS sem OpenSSL e sem SChannel, negociando os grupos híbridos pós-quânticos da RFC 10024, com ALPN, S N I, certificados de cliente e uso opcional do repositório de confiança do sistema operacional.

O lado clássico foi reforçado na mesma passada: RSA em tempo constante e com blinding, multiplicação escalar de curva elíptica em tempo constante e Ed25519, AES e GHASH sem tabelas, chaves privadas importadas verificadas contra sua metade pública, e assinaturas DER não mínimas rejeitadas.

Correções que merecem menção

.NET

A biblioteca .NET mantém o ritmo: autenticação e sessões com uma ponte ClaimsPrincipal para o ASP.NET Core, o roteador, os auxiliares de teste, a navegação SPA, o transporte SSE com um endpoint nativo, a saída estruturada, o AI Data Pack, o Web Push, o MCP Apps e o componente CRUD com seus adaptadores, tudo com os mesmos nomes de API do Delphi.

Atualização

Tudo o que é novo é aditivo e vem desativado por padrão. Adicione as novas units, reconstrua os seus pacotes, e uma aplicação existente vai se comportar exatamente como antes.

As versões completas

Assista ao vídeo

Há um vídeo curto sobre isso no canal da eSeGeCe.

Dúvidas, feedback ou ajuda com a migração? Entre em contato — você receberá uma resposta das pessoas que escreveram o código.