sgcWebSockets 2026.10

· Releases
sgcWebSockets 2026.10

sgcWebSockets 2026.10 is uit. Twee lijnen lopen erdoorheen: sgcHTML heeft de onderdelen gekregen die een zakelijke webapplicatie nodig heeft en die je niet meer met de hand hoeft te schrijven, en de cryptografie is post-quantum geworden zonder ook maar één externe library toe te voegen.

Webapplicaties: het saaie werk, klaar

Sessies, login en CSRF. De nieuwe component TsgcHTMLAuth en de bijbehorende session stores houden de cookie bij, beantwoorden de login- en logoutaanvragen, sluiten inactieve sessies af en beperken mislukte inlogpogingen. Het CSRF-token reist mee in een meta tag, htmx voegt het vanzelf toe aan elk verzoek, en de server wijst een post af die het niet meestuurt.

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

Routes die lezen als routes. Padparameters, een methodefilter, en toegang tot de headers, de cookies en de body:

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

Pagina's die je kunt testen. DispatchDirect beantwoordt een verzoek zonder dat er een socket achter zit, en een nieuwe unit leest de gegenereerde HTML, vindt elementen op id, klasse, tag of attribuut en vergelijkt een pagina met een opgeslagen kopie, zodat een onbedoelde wijziging in de markup wordt opgemerkt door een test in plaats van door een klant.

Navigatie die aanvoelt als een applicatie. Pagina's veranderen zonder volledige herlaadbeurt en behouden de scrollpositie en wat de gebruiker aan het typen was, met een laadbalk, een dialoogvenster wanneer de verbinding wegvalt en een melding wanneer een verzoek mislukt. Dit alles standaard uitgeschakeld.

De vier hoofdfuncties

Elk van deze heeft een eigen artikel, aan het einde gelinkt, dus hier alleen wat het is:

Push, op twee manieren

Server sent events kunnen nu de updates dragen in plaats van een WebSocket, met herhaling van wat er gemist is terwijl de verbinding verbroken was, en het werkt met de gewone HTTP-server. Web Push bereikt een browser die gesloten is. Er komen een berichten-inbox en een voorkeurentabel bij, en het notificatiecomponent bepaalt welk kanaal een bepaalde gebruiker krijgt.

AI: antwoorden waar je iets mee kunt

TsgcAIChat kan nu via de nieuwe methode ChatJSON vragen om JSON dat een door jou opgegeven schema volgt, bij OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok en Mistral; de methode ontleedt het antwoord en vraagt nogmaals, met de parsefout erbij, wanneer het niet te lezen is. Het chatcomponent verstuurt en ontvangt nu ook afbeeldingen, en BaseUrl wordt nu door elke provider gerespecteerd en niet meer alleen door Ollama, zodat elk van hen naar een proxy of een lokale gateway kan worden gewezen.

Cryptografie: post-quantum, in Object Pascal

ML-KEM (FIPS 203), ML-DSA (FIPS 204) en SLH-DSA (FIPS 205), hybride sleutelencapsulatie met X-Wing, post-quantum X.509-certificaten en certificaatautoriteiten, en JWT's ondertekend met ML-DSA. Dit alles geschreven in Object Pascal in het sgcCrypto-pakket, zonder externe library, gevalideerd tegen de bekende NIST-testvectoren.

Daarbovenop staat een native TLS 1.3-engine, ook in puur Pascal: een client of een server spreekt TLS zonder OpenSSL en zonder SChannel, en onderhandelt daarbij over de hybride post-quantumgroepen van RFC 10024, met ALPN, S N I, clientcertificaten en optioneel gebruik van de vertrouwensopslag van het besturingssysteem.

De klassieke kant is in dezelfde slag verstevigd: geblindeerde RSA in constante tijd, scalaire vermenigvuldiging op elliptische krommen in constante tijd en Ed25519, tabelvrije AES en GHASH, geïmporteerde privésleutels die tegen hun publieke helft worden gecontroleerd, en niet-minimale DER-handtekeningen die worden geweigerd.

Reparaties die het noemen waard zijn

.NET

De .NET-library houdt gelijke tred: auth en sessies met een ClaimsPrincipal-brug voor ASP.NET Core, de router, de testhulpmiddelen, SPA-navigatie, het SSE-transport met een native endpoint, gestructureerde output, het AI Data Pack, Web Push, MCP Apps en het CRUD-component met zijn adapters, allemaal met dezelfde API-namen als in Delphi.

Upgraden

Alles wat nieuw is, is additief en standaard uitgeschakeld. Zet de nieuwe units erbij, herbouw je packages, en een bestaande applicatie gedraagt zich precies zoals daarvoor.

De volledige versies

Bekijk het

Er is een korte video hierover op het eSeGeCe-kanaal.

Vragen, feedback of hulp bij migratie? Neem contact op — je krijgt antwoord van de mensen die de code hebben geschreven.