Rad Studio
[+] : Rad Studio 13.1 için destek eklendi: yeni WinARM64EC platformu destekleniyor.[+] : Yeni TsgcWSFirewall bileşeni: WebSocket sunucuları için IP kara listesi/beyaz listesi (CIDR desteği), otomatik yasaklamalı kaba kuvvet koruması, SQL injection algılama, XSS algılama, hız sınırlama ve sel (flood) koruması özelliklerine sahip tam donanımlı bir güvenlik duvarı.
[+] : Server Firewall için yeni demo: yeni güvenlik duvarının başlıca özelliklerini gösterir ve şu klasörde bulunur: "Demos\04.WebSocket_Other_Samples\13.Firewall".
[+] : HTTP/2 Büyük Dosya Aktarımı için yeni demo: HTTP/2 üzerinden 1GB+ dosya indirmelerini test etmek için sunucu + istemci demosu, "Demos\20.HTTP_Protocol\13.HTTP2_LargeFile_Transfer" konumunda bulunur.
[+] : Yeni HTTP/2 hata ayıklama günlüğü: sgcVer.inc içinde {$DEFINE SGC_DEBUG} etkinleştirildiğinde çerçeve gönderme/alma, WINDOW_UPDATE artışları ve akış parça okumaları LoggerPro aracılığıyla günlüğe kaydedilir.
[+] : MQTT Client iyileştirildi: sunucudan alınan en son MQTT mesajına erişmek için yeni RcvMsg özelliği.
[+] : Yeni TsgcTCPClient bileşeni: WebSocket istemci altyapısına dayanan, TLS/SSL, proxy, watchdog ve protokol entegrasyonunu destekleyen tam donanımlı bir TCP istemcisi. Protokoller (MQTT, AMQP, STOMP, WAMP vb.) artık Client özellikleri aracılığıyla TsgcTCPClient veya TsgcWebSocketClient'tan birini kullanabilir.
[+] : Yeni OAuth2 Client Token İptal desteği (RFC 7009): OnBeforeRevokeToken, OnAfterRevokeToken ve OnRevokeTokenError olayları ile Revoke() metodu.
[+] : Yeni OAuth2 Client Token İnceleme (Introspection) desteği (RFC 7662): OnBeforeIntrospectToken, OnAfterIntrospectToken ve OnIntrospectTokenError olayları ile Introspect() metodu.
[+] : Yeni OAuth2 Client Device Authorization Grant (RFC 8628): otomatik yoklama ile auth2DeviceCode izin türü, OnDeviceCode ve OnDeviceCodeExpired olayları.
[+] : Yeni OAuth2 Server Token İptal uç noktası (RFC 7009): OnOAuth2AfterRevokeToken olayı ile /sgc/oauth2/revoke.
[+] : Yeni OAuth2 Server Token İnceleme uç noktası (RFC 7662): OnOAuth2AfterIntrospectToken olayı ile /sgc/oauth2/introspect.
[+] : Yeni OAuth2 Server Device Authorization uç noktası (RFC 8628): OnOAuth2DeviceAuthorization ve OnOAuth2DeviceCodeVerification olayları ile /sgc/oauth2/device ve /sgc/oauth2/device/verify.
[+] : Yeni OAuth2 Server Resource Owner Password Credentials izin ele alma (password grant_type).
[+] : Yeni OAuth2 Server Device Code token değişimi (urn:ietf:params:oauth:grant-type:device_code grant_type).
[+] : Yeni OAuth2 Client DPoP desteği (RFC 9449): ES256/RS256 imzalama ile DPoPOptions aracılığıyla gönderici kısıtlamalı tokenlar, otomatik DPoP proof JWT oluşturma, JWK parmak izi hesaplama (RFC 7638) ve DPoP-Nonce yeniden deneme ele alma.
[+] : Yeni OAuth2 Client DPoP metotları: kaynak istekleri için GetDPoPProof(), token bağlama doğrulaması için GetDPoPJWKThumbprint().
[+] : Yeni OAuth2 Server DPoP desteği (RFC 9449): DPoP proof doğrulaması, JWK parmak izi token bağlama, token_type DPoP verilmesi ve OnOAuth2ValidateDPoP olayı.
[+] : Deflate uzantısı iyileştirildi: özellikle küçük mesajlar için hız iyileştirildi. (Düzeltme için Michael'a teşekkürler).
[+] : Yeni TsgcWebView2 bileşeni: gezinme, JavaScript (async/sync/init betikleri), çerez yönetimi, indirme denetimi, profil yönetimi, yazdırma, ses/sessize alma, sertifika ele alma, bağlam menüleri, favicon, sanal ana bilgisayar eşleme, ekran görüntüsü yakalama ve 20'den fazla olay ile Microsoft Edge WebView2 için görsel VCL sarmalayıcısı. Delphi 7'den Delphi 13'e kadar destekler.
[+] : WebView2 Browser için yeni demo: gezinme, JavaScript yürütme, çerezler, yazdırma, sessize alma, verileri temizleme, sanal ana bilgisayar eşleme ve olay günlüğü kaydetmeyi gösterir. "Demos\50.Other\WebView2_Browser" konumunda bulunur.
[+] : Yeni Gemini API: İçerik Üretimi (akış ile), Vision, Structured JSON Output, Tool Use (fonksiyon çağırma), Token Counting, Embeddings ve Model listeleme ile Google Gemini entegrasyonu.
[+] : Yeni DeepSeek API: Chat Completions (akış ile), Vision, Tool Use (fonksiyon çağırma) ve Model listeleme ile DeepSeek entegrasyonu.
[+] : Yeni Ollama API: Chat Completions (akış ile), Model Yönetimi (göster, çek, sil, etiketleri listele) ve Embeddings ile Ollama yerel LLM entegrasyonu.
[+] : Yeni Grok API: Chat Completions (akış ile), Vision, Tool Use (fonksiyon çağırma) ve Model listeleme ile xAI Grok entegrasyonu.
[+] : Yeni Mistral API: Chat Completions (akış ile), Vision, Structured JSON Output, Tool Use (fonksiyon çağırma), Embeddings ve Model listeleme ile Mistral AI entegrasyonu.
[*] : Büyük yanıtlar için HTTP/2 sunucu tarafı akış düzeltildi: Büyük dosyalar sunulurken oluşan bellek yetersizliği çökmelerini ortadan kaldırır ve sunucunun en yüksek bellek kullanımını azaltır.
[*] : Büyük yanıtlar alınırken HTTP/2 istemci tarafı bellek yeniden tahsisi düzeltildi: yük arabelleği artık her DATA çerçevesinde yeniden tahsis etmek yerine, platforma özgü üst sınırlarla (Win32'de 128 MB, Win64'te 1 GB) bir kapasite büyütme stratejisi kullanır.
[*] : Büyük dosya aktarımlarında HTTP/2 SSL yazma kilitlenmesi düzeltildi: WINDOW_UPDATE'ler artık çerçeve işleme sırasında satır içi yazılmak yerine okuma yinelemeleri arasında kuyruğa alınıp boşaltılır, böylece hem istemcinin hem de sunucunun SSL_write üzerinde aynı anda bloke olması önlenir.
[*] : 2 GB'den büyük dosyalar için HTTP/2 tam sayı taşması düzeltildi: FrameLength, Offset, WindowSize, PayLoadCapacity, ReadWindowSize ve akış denetimi biriktiricileri Integer'dan Int64'e değiştirildi.
[*] : HTTP/2 akış durumu düzeltildi: boştaki akışlarda (akış temizliğinden sonra) alınan RST_STREAM çerçeveleri artık bir PROTOCOL_ERROR oluşturmak yerine düzgün şekilde kapalı duruma geçer.
[*] : HPACK kodlayıcı düzeltildi: GetBestMatchingIndex artık statik tablo yalnızca ad eşleşmelerini doğru şekilde döndürerek HTTP/2 bağlantılarında sıkıştırma hatalarını önler.
[*] : HPACK kodlayıcı düzeltildi: Huffman bit maskesi doğru sola kaydırma işlemini kullanır.
[*] : HPACK kod çözücü düzeltildi: bayt sayısı ve mevcut bayt hesaplamaları artık arabellek ofsetini doğru şekilde dikkate alır.
[*] : SetBytesFromInteger düzeltildi: WINDOW_UPDATE artışları gibi değerlerde aralık denetimi hatalarını önlemek için ara bayt çıkarımları artık $FF ile maskeleniyor.
[*] : "Typed @ operator" seçeneği etkinken derlenirken oluşan tür belirtilmiş işaretçi (typed pointer) uyumsuzlukları düzeltildi.
[*] : JWT RSA imzalama düzeltildi: DoSignRSA'daki vLength parametresi TIdNativeUInt yerine Integer olarak bildirilmişti, bu da 64bit platformlarda olası yığın bozulmasına neden oluyordu. (Düzeltme için Gabriel'e teşekkürler).
[*] : sgcHTTP_API_OpenAI'da Win64 işaretçi kesilmesi düzeltildi: mciSendCommand çağrıları işaretçilerde Cardinal() dönüşümü kullanıyordu, NativeUInt() ile değiştirildi.
[*] : OAuth2 Server düzeltildi: SetOAuth2Options bellek sızıntısı giderildi.
[*] : AWS Signature V4 düzeltildi: kanonik istekte query string parametre sıralaması düzeltildi.
[*] : Bir kanaldan abonelik iptal edilirken oluşan Bitfinex erişim ihlali düzeltildi.
[*] : FSpecifications ve FConnections alanlarının iş parçacığı güvenli olmayan tembel başlatılmasından kaynaklanan Indy Server'lardaki bellek sızıntıları düzeltildi. Eşzamanlı Indy çalışan iş parçacıkları oluşturma sırasında yarışabiliyor ve örnekleri sahipsiz bırakabiliyordu.
[/] : OnMQTTPublishEx olayının imzası, TsgcWSMQTTMessage türünde yeni bir aMessage parametresi eklenerek değiştirildi.
.NET
[+] : Yeni TsgcWSFirewall bileşeni: WebSocket sunucuları için IP kara listesi/beyaz listesi (CIDR desteği), otomatik yasaklamalı kaba kuvvet koruması, SQL injection algılama, XSS algılama, hız sınırlama ve sel (flood) koruması özelliklerine sahip tam donanımlı bir güvenlik duvarı.[+] : Server Firewall için yeni demo: yeni güvenlik duvarının başlıca özelliklerini gösterir ve şu klasörde bulunur: "Demos\04.WebSocket_Other_Samples\13.Firewall".
[+] : HTTP/2 Büyük Dosya Aktarımı için yeni demo: HTTP/2 üzerinden 1GB+ dosya indirmelerini test etmek için sunucu + istemci demosu, "Demos\20.HTTP_Protocol\13.HTTP2_LargeFile_Transfer" konumunda bulunur.
[+] : Yeni OAuth2 Client Token İptal desteği (RFC 7009): OnBeforeRevokeToken, OnAfterRevokeToken ve OnRevokeTokenError olayları ile Revoke() metodu.
[+] : Yeni OAuth2 Client Token İnceleme (Introspection) desteği (RFC 7662): OnBeforeIntrospectToken, OnAfterIntrospectToken ve OnIntrospectTokenError olayları ile Introspect() metodu.
[+] : Yeni OAuth2 Client Device Authorization Grant (RFC 8628): otomatik yoklama ile auth2DeviceCode izin türü, OnDeviceCode ve OnDeviceCodeExpired olayları.
[+] : Yeni OAuth2 Server Token İptal uç noktası (RFC 7009): OnOAuth2AfterRevokeToken olayı ile /sgc/oauth2/revoke.
[+] : Yeni OAuth2 Server Token İnceleme uç noktası (RFC 7662): OnOAuth2AfterIntrospectToken olayı ile /sgc/oauth2/introspect.
[+] : Yeni OAuth2 Server Device Authorization uç noktası (RFC 8628): OnOAuth2DeviceAuthorization ve OnOAuth2DeviceCodeVerification olayları ile /sgc/oauth2/device ve /sgc/oauth2/device/verify.
[+] : Yeni OAuth2 Server Resource Owner Password Credentials izin ele alma (password grant_type).
[+] : Yeni OAuth2 Server Device Code token değişimi (urn:ietf:params:oauth:grant-type:device_code grant_type).
[+] : Yeni OAuth2 Client DPoP desteği (RFC 9449): ES256/RS256 imzalama ile DPoPOptions aracılığıyla gönderici kısıtlamalı tokenlar, otomatik DPoP proof JWT oluşturma, JWK parmak izi hesaplama (RFC 7638) ve DPoP-Nonce yeniden deneme ele alma.
[+] : Yeni OAuth2 Client DPoP metotları: kaynak istekleri için GetDPoPProof(), token bağlama doğrulaması için GetDPoPJWKThumbprint().
[+] : Yeni OAuth2 Server DPoP desteği (RFC 9449): DPoP proof doğrulaması, JWK parmak izi token bağlama, token_type DPoP verilmesi ve OnOAuth2ValidateDPoP olayı.
[+] : Deflate uzantısı iyileştirildi: özellikle küçük mesajlar için hız iyileştirildi. (Düzeltme için Michael'a teşekkürler).
[+] : Yeni Gemini API: İçerik Üretimi (akış ile), Vision, Structured JSON Output, Tool Use (fonksiyon çağırma), Token Counting, Embeddings ve Model listeleme ile Google Gemini entegrasyonu.
[+] : Yeni DeepSeek API: Chat Completions (akış ile), Vision, Tool Use (fonksiyon çağırma) ve Model listeleme ile DeepSeek entegrasyonu.
[+] : Yeni Ollama API: Chat Completions (akış ile), Model Yönetimi (göster, çek, sil, etiketleri listele) ve Embeddings ile Ollama yerel LLM entegrasyonu.
[+] : Yeni Grok API: Chat Completions (akış ile), Vision, Tool Use (fonksiyon çağırma) ve Model listeleme ile xAI Grok entegrasyonu.
[+] : Yeni Mistral API: Chat Completions (akış ile), Vision, Structured JSON Output, Tool Use (fonksiyon çağırma), Embeddings ve Model listeleme ile Mistral AI entegrasyonu.
[*] : Büyük yanıtlar için HTTP/2 sunucu tarafı akış düzeltildi: Büyük dosyalar sunulurken oluşan bellek yetersizliği çökmelerini ortadan kaldırır ve sunucunun en yüksek bellek kullanımını azaltır.
[*] : Büyük yanıtlar alınırken HTTP/2 istemci tarafı bellek yeniden tahsisi düzeltildi: yük arabelleği artık her DATA çerçevesinde yeniden tahsis etmek yerine, platforma özgü üst sınırlarla (Win32'de 128 MB, Win64'te 1 GB) bir kapasite büyütme stratejisi kullanır.
[*] : Büyük dosya aktarımlarında HTTP/2 SSL yazma kilitlenmesi düzeltildi: WINDOW_UPDATE'ler artık çerçeve işleme sırasında satır içi yazılmak yerine okuma yinelemeleri arasında kuyruğa alınıp boşaltılır, böylece hem istemcinin hem de sunucunun SSL_write üzerinde aynı anda bloke olması önlenir.
[*] : 2 GB'den büyük dosyalar için HTTP/2 tam sayı taşması düzeltildi: FrameLength, Offset, WindowSize, PayLoadCapacity, ReadWindowSize ve akış denetimi biriktiricileri Integer'dan Int64'e değiştirildi.
[*] : HTTP/2 akış durumu düzeltildi: boştaki akışlarda (akış temizliğinden sonra) alınan RST_STREAM çerçeveleri artık bir PROTOCOL_ERROR oluşturmak yerine düzgün şekilde kapalı duruma geçer.
[*] : HPACK kodlayıcı düzeltildi: GetBestMatchingIndex artık statik tablo yalnızca ad eşleşmelerini doğru şekilde döndürerek HTTP/2 bağlantılarında sıkıştırma hatalarını önler.
[*] : HPACK kodlayıcı düzeltildi: Huffman bit maskesi doğru sola kaydırma işlemini kullanır.
[*] : HPACK kod çözücü düzeltildi: bayt sayısı ve mevcut bayt hesaplamaları artık arabellek ofsetini doğru şekilde dikkate alır.
[*] : SetBytesFromInteger düzeltildi: WINDOW_UPDATE artışları gibi değerlerde aralık denetimi hatalarını önlemek için ara bayt çıkarımları artık $FF ile maskeleniyor.
[*] : "Typed @ operator" seçeneği etkinken derlenirken oluşan tür belirtilmiş işaretçi (typed pointer) uyumsuzlukları düzeltildi.
[*] : JWT RSA imzalama düzeltildi: DoSignRSA'daki vLength parametresi TIdNativeUInt yerine Integer olarak bildirilmişti, bu da 64bit platformlarda olası yığın bozulmasına neden oluyordu. (Düzeltme için Gabriel'e teşekkürler).
[*] : sgcHTTP_API_OpenAI'da Win64 işaretçi kesilmesi düzeltildi: mciSendCommand çağrıları işaretçilerde Cardinal() dönüşümü kullanıyordu, NativeUInt() ile değiştirildi.
[*] : OAuth2 Server düzeltildi: SetOAuth2Options bellek sızıntısı giderildi.
[*] : Bir kanaldan abonelik iptal edilirken oluşan Bitfinex erişim ihlali düzeltildi.
[*] : FSpecifications ve FConnections alanlarının iş parçacığı güvenli olmayan tembel başlatılmasından kaynaklanan Indy Server'lardaki bellek sızıntıları düzeltildi. Eşzamanlı Indy çalışan iş parçacıkları oluşturma sırasında yarışabiliyor ve örnekleri sahipsiz bırakabiliyordu.
