sgcWebSockets 2026.10

· Versionen
sgcWebSockets 2026.10

sgcWebSockets 2026.10 ist da. Zwei rote Fäden ziehen sich durch diese Version: sgcHTML hat die Teile bekommen, die eine geschäftliche Webanwendung braucht und die Sie nicht mehr von Hand schreiben müssen, und die Kryptografie ist postquantensicher geworden, ohne eine einzige externe Bibliothek hinzuzufügen.

Webanwendungen: die lästigen Teile, erledigt

Sessions, Login und CSRF. Die neue Komponente TsgcHTMLAuth und ihre Session-Stores verwalten das Cookie, beantworten die Login- und Logout-Anfragen, schließen inaktive Sessions und drosseln fehlgeschlagene Anmeldungen. Das CSRF-Token reist in einem Meta-Tag mit, htmx fügt es von selbst zu jeder Anfrage hinzu, und der Server weist einen Post zurück, der es nicht mitführt.

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

Routen, die wie Routen aussehen. Pfadparameter, ein Methodenfilter und Zugriff auf die Header, die Cookies und den Body:

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

Seiten, die Sie testen können. DispatchDirect beantwortet eine Anfrage, ohne dass ein Socket dahintersteckt, und eine neue Unit liest das erzeugte HTML, findet Elemente über id, Klasse, Tag oder Attribut und vergleicht eine Seite mit einer gespeicherten Kopie, sodass eine ungewollte Änderung im Markup von einem Test bemerkt wird und nicht von einem Kunden.

Navigation, die sich wie eine Anwendung anfühlt. Seiten wechseln ohne vollständigen Neuladevorgang und behalten die Scrollposition und das, was der Benutzer gerade eingegeben hat, mit einem Ladebalken, einem Dialog, wenn die Verbindung abbricht, und einer Meldung, wenn eine Anfrage fehlschlägt. All das standardmäßig deaktiviert.

Die vier zentralen Funktionen

Jede davon hat einen eigenen Artikel, der am Ende verlinkt ist, deshalb hier nur, was sie ist:

Push, auf zwei Wegen

Server sent events können jetzt die Aktualisierungen übertragen statt eines WebSocket, mit erneuter Zustellung dessen, was während der Trennung verpasst wurde, und das funktioniert mit dem einfachen HTTP-Server. Web Push erreicht einen Browser, der geschlossen ist. Ein Benachrichtigungs-Posteingang und eine Einstellungstabelle kommen dazu, und die Benachrichtigungskomponente entscheidet, welchen Kanal ein bestimmter Benutzer bekommt.

KI: Antworten, auf die man handeln kann

TsgcAIChat kann jetzt über die neue Methode ChatJSON nach JSON fragen, das einem von Ihnen vorgegebenen Schema folgt, bei OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok und Mistral; die Methode wertet die Antwort aus und fragt bei einem Parsing-Fehler noch einmal nach, diesmal mit dem Fehler im Anhang. Die Chat-Komponente sendet und empfängt jetzt auch Bilder, und BaseUrl wird jetzt von jedem Anbieter berücksichtigt und nicht mehr nur von Ollama, sodass sich jeder von ihnen auf einen Proxy oder ein lokales Gateway richten lässt.

Kryptografie: postquantensicher, in Object Pascal

ML-KEM (FIPS 203), ML-DSA (FIPS 204) und SLH-DSA (FIPS 205), hybride Schlüsseleinkapselung mit X-Wing, postquantensichere X.509-Zertifikate und Zertifizierungsstellen sowie mit ML-DSA signierte JWTs. All das in Object Pascal geschrieben, im sgcCrypto-Paket, ohne externe Bibliothek, geprüft gegen die bekannten NIST-Testvektoren.

Darauf setzt eine native TLS-1.3-Engine auf, ebenfalls in reinem Pascal: ein Client oder ein Server spricht TLS ohne OpenSSL und ohne SChannel, handelt dabei die hybriden postquantensicheren Gruppen aus RFC 10024 aus, mit ALPN, S N I, Client-Zertifikaten und optionaler Nutzung des Vertrauensspeichers des Betriebssystems.

Die klassische Seite wurde im selben Zug gehärtet: geblindetes RSA in konstanter Zeit, Skalarmultiplikation auf elliptischen Kurven in konstanter Zeit und Ed25519, tabellenfreies AES und GHASH, importierte private Schlüssel, die gegen ihre öffentliche Hälfte geprüft werden, und nicht minimale DER-Signaturen, die zurückgewiesen werden.

Korrekturen, die eine Erwähnung wert sind

.NET

Die .NET-Bibliothek hält Schritt: Auth und Sessions mit einer ClaimsPrincipal-Brücke für ASP.NET Core, der Router, die Test-Hilfsmittel, die SPA-Navigation, der SSE-Transport mit einem nativen Endpunkt, strukturierte Ausgabe, das AI Data Pack, Web Push, MCP Apps und die CRUD-Komponente mit ihren Adaptern, alles mit denselben API-Namen wie in Delphi.

Aktualisierung

Alles Neue ist additiv und standardmäßig deaktiviert. Legen Sie die neuen Units hinzu, bauen Sie Ihre Pakete neu, und eine bestehende Anwendung verhält sich exakt wie zuvor.

Die ausführlichen Versionen

Video ansehen

Dazu gibt es ein kurzes Video auf dem eSeGeCe-Kanal.

Fragen, Feedback oder Hilfe bei der Migration? Kontaktieren Sie uns — Sie erhalten eine Antwort von den Leuten, die den Code geschrieben haben.