sgcWebSockets 2026.10

· Versioni
sgcWebSockets 2026.10

sgcWebSockets 2026.10 è disponibile. Due fili conduttori attraversano questa versione: sgcHTML è cresciuto con le parti di cui ha bisogno un'applicazione web aziendale e che non dovrai più scrivere a mano, e la crittografia è diventata post-quantistica senza aggiungere una sola libreria esterna.

Applicazioni web: la parte noiosa, fatta

Sessioni, login e CSRF. Il nuovo componente TsgcHTMLAuth e i suoi archivi di sessione gestiscono il cookie, rispondono alle richieste di login e logout, chiudono le sessioni inattive e limitano i tentativi di accesso falliti. Il token CSRF viaggia in un meta tag, htmx lo aggiunge da solo a ogni richiesta, e il server rifiuta un post che non lo porta con sé.

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

Rotte che si leggono come rotte. Parametri di percorso, un filtro sui metodi, e accesso agli header, ai cookie e al corpo:

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

Pagine che puoi testare. DispatchDirect risponde a una richiesta senza che ci sia un socket dietro, e una nuova unità legge l'HTML generato, trova gli elementi per id, classe, tag o attributo e confronta una pagina con una copia salvata, così un cambiamento non voluto nel markup viene notato da un test e non da un cliente.

Una navigazione che sembra un'applicazione. Le pagine cambiano senza un ricaricamento completo e mantengono la posizione di scorrimento e ciò che l'utente stava digitando, con una barra di caricamento, una finestra di dialogo quando la connessione cade e un messaggio quando una richiesta fallisce. Tutto disattivato di default.

Le quattro funzionalità principali

Ognuna di queste ha un proprio articolo, collegato alla fine, quindi qui trovi solo che cos'è:

Push, in due modi

I server sent events possono ora trasportare gli aggiornamenti al posto di un WebSocket, con la ripetizione di ciò che è stato perso durante la disconnessione, e funzionano anche con il semplice server HTTP. Web Push raggiunge un browser che è chiuso. Con loro arrivano una casella di notifiche e una tabella delle preferenze, e il componente di notifica decide quale canale riceve un determinato utente.

IA: risposte su cui puoi agire

TsgcAIChat può richiedere un JSON che segua uno schema fornito da te, su OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok e Mistral, tramite il nuovo metodo ChatJSON, che analizza la risposta e chiede di nuovo, allegando l'errore di analisi, quando non riesce a leggerla. Il componente di chat ora invia e riceve anche immagini, e BaseUrl è rispettato da ogni provider e non solo da Ollama, così ognuno di essi può essere puntato verso un proxy o un gateway locale.

Crittografia: post-quantistica, in Object Pascal

ML-KEM (FIPS 203), ML-DSA (FIPS 204) e SLH-DSA (FIPS 205), incapsulamento ibrido delle chiavi X-Wing, certificati X.509 post-quantistici e autorità di certificazione, e JWT firmati con ML-DSA. Tutto scritto in Object Pascal nel pacchetto sgcCrypto, senza alcuna libreria esterna, validato rispetto ai vettori di risposta noti del NIST.

Sopra a tutto questo si trova un motore TLS 1.3 nativo, anch'esso in Pascal puro: un client o un server parla TLS senza OpenSSL e senza SChannel, negoziando i gruppi ibridi post-quantistici della RFC 10024, con ALPN, S N I, certificati client e uso opzionale dell'archivio di attendibilità del sistema operativo.

Il lato classico è stato irrobustito nello stesso passaggio: RSA a tempo costante e con blinding, moltiplicazione scalare su curva ellittica a tempo costante ed Ed25519, AES e GHASH senza tabelle, chiavi private importate verificate rispetto alla loro metà pubblica, e firme DER non minime rifiutate.

Correzioni degne di nota

.NET

La libreria .NET tiene il passo: autenticazione e sessioni con un ponte ClaimsPrincipal per ASP.NET Core, il router, gli strumenti di test, la navigazione SPA, il trasporto SSE con un endpoint nativo, l'output strutturato, l'AI Data Pack, Web Push, MCP Apps e il componente CRUD con i suoi adattatori, tutto con gli stessi nomi di API di Delphi.

Aggiornamento

Tutto ciò che è nuovo è additivo ed è disattivato di default. Aggiungi le nuove unit, ricompila i tuoi pacchetti, e un'applicazione esistente si comporterà esattamente come prima.

Le versioni complete

Guardalo in video

C'è un breve video su questo sul canale eSeGeCe.

Domande, feedback o aiuto per la migrazione? Mettiti in contatto — riceverai una risposta dalle persone che hanno scritto il codice.