Features
116 articles tagged “Features”.
116 articles tagged “Features”.

Starting with sgcWebSockets 2026.5.0, the TsgcWSServer_HTTPAPI component exposes a new published property, FineTune, typed as TsgcServerHTTPAPI_FineTune. It groups every low-level kernel-mode knob th...

WebSocket compression is essential for reducing bandwidth and improving responsiveness, especially when transmitting repetitive data like JSON payloads. The permessage-deflate extension compresses ev...

OAuth 2.0 access tokens are the keys to your API kingdom — and if someone steals one, they can use it from anywhere. DPoP (Demonstrating Proof of Possession), defined in RFC 9449, solves this by cryp...

For years, Delphi developers deploying TLS-enabled servers on Windows have faced the same challenge: bundling the correct OpenSSL libraries with their application. Version mismatches, missing DLLs at...

XTB xStation5 Trading API Integration in Delphi XTB is one of Europe's leading online trading platforms, offering access to forex, indices, commodities, stocks, and cryptocurrencies through its xStat...

OKX WebSocket Trading API Integration in Delphi The TsgcWSAPI_OKX component provides comprehensive Delphi access to the OKX exchange through a unified WebSocket interface. It supports public market d...

MEXC Spot and Futures API Integration in Delphi MEXC is a global cryptocurrency exchange supporting spot trading and perpetual futures contracts across hundreds of token pairs. Delphi developers can...

KuCoin Spot and Futures API Integration in Delphi The TsgcWSAPI_Kucoin and TsgcWSAPI_Kucoin_Futures components deliver comprehensive Delphi access to the KuCoin exchange, spanning real-time WebSocket...

Kraken Spot and Futures API Integration in Delphi Kraken is one of the longest-running and most trusted cryptocurrency exchanges, offering both spot and futures markets. The TsgcWSAPI_Kraken and Tsgc...

FXCM Forex Trading API Integration in Delphi The FXCM API provides programmatic access to one of the world's largest retail forex brokers, enabling real-time market data streaming, order execution, a...

Coinbase Advanced Trade API Integration in Delphi Coinbase Advanced Trade is the professional trading platform from one of the world's most widely used cryptocurrency exchanges. The TsgcWSAPI_Coinbas...

We are pleased to announce a significant update to the Huobi (HTX) WebSocket API component in sgcWebSockets for Delphi. This update brings expanded market data support, new futures-specific subscript...

The TsgcWS_API_Pusher component has been updated to align with the latest Pusher Channels protocol specification. This release introduces support for private-encrypted channels, four new presence and...

CEX.IO Plus WebSocket API Integration in Delphi CEX.IO Plus is the advanced trading platform from CEX.IO, designed for professional and institutional traders. The TsgcWSAPI_CexPlus component provides...

CEX.IO WebSocket API Integration in Delphi CEX.IO is a well-established cryptocurrency exchange offering real-time market data and trading capabilities through its WebSocket API. The TsgcWSAPI_Cex co...

The sgcWebSockets library has been updated with significant improvements to the Bitstamp REST API component. This update adds support for several new endpoint categories that were previously missing,...

The AMQP 1.0 protocol implementation in sgcWebSockets has undergone a comprehensive review against the OASIS AMQP 1.0 specification. This article documents the 30 fixes applied across 8 source files,...

Bybit V5 WebSocket and REST API Integration in Delphi Bybit is a major cryptocurrency derivatives and spot exchange, offering perpetual contracts, futures, spot trading, and options. The TsgcWSAPI_By...

BitMEX WebSocket and REST API Integration in Delphi BitMEX is a leading cryptocurrency derivatives exchange specializing in leveraged trading of futures and perpetual contracts. The TsgcWSAPI_Bitmex...

The AMQP 0-9-1 implementation in sgcWebSockets has received a comprehensive update: 11 bug fixes covering critical parameter ordering, type mismatches, thread safety, and data loss issues, plus 6 new...

The sgcWebSockets library continues to expand its Binance integration with a significant batch of new methods covering the Spot REST API, Futures REST API, and WebSocket streams. This article provide...

sgcWebSockets 2026.4.0 introduces a major expansion of the OpenAI API integration, bringing full support for the new Responses API (the official replacement for the deprecated Assistants API), Audio...

From sgcWebSockets 2026.1.0 Azure AMQP 1.0 supports CBS Authentication using SAS Tokens and JWT.Azure Service Bus implements Claims-Based Security (CBS) over AMQP to authorize senders and receivers a...

The 2025.10.0 release of sgcWebSockets elevates Model Context Protocol (MCP) connectivity with a hardened authentication layer for both client and server components. This article highlights how the n...

In MCP, resources represent addressable data objects that the server exposes such as files, database records, generated documents, or dynamic API outputs.They are client-controlled, meaning the clien...

With sgcWebSockets 2025.9.0, the Model Context Protocol (MCP) server now supports Prompt Requests, enabling AI clients to query and render dynamic prompt templates. This capability makes it possible...

With the release of sgcWebSockets 2025.9.0, developers can now integrate Model Context Protocol (MCP) functionality directly into their servers. This includes the ability to handle MCP Tool Requests,...

The latest release of sgcWebSockets 2025.9.0 introduces a game-changing feature for AI developers and system integrators — full support for the Model Context Protocol (MCP). This innovation marks a m...

When using the Indy WebSocket server for TCP Connections, by default the OnConnect event is only fired after the first message is received because there is no way to filter if the connection is plain...

The sgcWebSockets library supports multiple authentication methods to secure WebSocket communication in Delphi and C++Builder applications. Since the WebSocket protocol itself doesn't define an authe...

WebAuthn (Web Authentication) is a W3C standard that enables secure, passwordless, and phishing-resistant authentication using public-key cryptography. It's widely used with passkeys to improve secur...

WebAuthn is the authentication layer of the FIDO2 standard. Instead of depending on user‑remembered secrets, it employs asymmetric cryptography. During registration, a user's authenticator (hardware...

Similar to the Chat Completions API, the Assistants API supports function calling. Function calling allows you to describe functions to the Assistants API and have it intelligently return the functio...

From sgcWebSockets 2025.4.0 Enterprise, the WebAuthn Protocol is supported (currently in BETA). WebAuthn (Web Authentication) is a web standard developed by the World Wide Web Consortium (W3C) and FI...

The OpenAI Assistant Client has been improved to implement the streaming responses when calling a run thread. Before this new feature, it requires to poll the run object status till it's completed. N...

From sgcWebSockets 2024.10.0 you can use the OpenAI Assistants to search in your own files instead of using the generic model.File Search augments the Assistant with knowledge from outside its model,...

From sgcOpenAPI 2024.9.0 the parser has been improved with the following new features:- Bundle Specification: if the specification is built with multiple schemas, the parser can bundle into a single...

OpenSSL 3.0 moved several deprecated or insecure algorithms into an internal library module called legacy provider. It is not loaded by default, so apps (or their language runtimes) that use OpenSSL...

From sgcWebSockets 2024.5.0 PKCE, which stands for "Proof of Key Code Exchange" is an extension of the OAuth 2.0 protocol that helps prevent code interception attacks.PKCE is supported on OAuth2 Serv...

While the openSSL libraries 1.0 and 1.1 are not receiving any more updates, users should consider to use the latest openSSL 3.0 or 3.1 APIs. Find below the differences between 3.0 and 3.1:OpenSSL 3.0...

From sgcWebSockets 2024.2.0 the HTTP/2 server has been improved when receiving HTTP/2 requests. Now, by default, when the server receives a new HTTP/2 request, this is queued and dispatched by one of...

Indy supports RSA and EC Certificates when using the openSSL libraries, but by default, the EC certificates can be created different curves and the openSSL libraries only are configured with some of...

Azure IoT allows to send data using several protocols like MQTT or AMQP, but in some cases, the size of the message is too big and requires to upload files to Azure Servers. To provide a solution to...

From sgcWebSockets 2023.7.0 the Microsoft Azure OpenAI Service is supported. Azure OpenAI Service can be used to create chatbots, generate text, translate languages, and write different kinds of crea...

When we ask to OpenAI a question that requires some specific context, example:Who is my father?OpenAI can either hallucinate or answer that he doesn't know.To help OpenAI answer specific questions, y...

In a previous post, we see how to use OpenAI Embeddings to add contextual information to OpenAI chat methods.Now, we'll see how to use the TsgcOpenAIEmbeddings component from sgcWebSockets package to...

From sgcWebSockets 2023.3.0 the OpenAI API is fully supported.The OpenAI API can be applied to virtually any task that involves understanding or generating natural language, code, or images. OpenAI o...

Translating Audio to Text is very easy using the OpenAI API, just upload an Audio file in one of the following formats: mp3, mp4, mpeg, mpga, m4a, wav, or webm. And the API will translate the audio t...

OpenAI API allows to build your own AI Chats using ChatGPT Turbo. Using the sgcWebSockets library is very easy to interactuate with the API, given a chat conversation, the model will return a chat co...

OpenAI API allows given a prompt and/or an input image, the model will generate a new image. The Images API provides three methods for interacting with images:1. Creating images from scratch based on...

Transcribing Audio to Text (also known as Speech to Text) is very easy using the OpenAI API, just upload an Audio file in one of the following formats: mp3, mp4, mpeg, mpga, m4a, wav, or webm. And th...

I am happy to announce the sgcOpenAPI Pascal Parser, a brand new product allowing import an OpenAPI Specification and generate a Pascal Interface. The sgcOpenAPI Parser supports the following specifi...

From sgcWebSockets 2023.2.0 the HTTP/1 Client has been improved and supports SSE requests. Remember than SSE was already supported on Server components but not on client.SSE (Server-Sent Events) is a...

In a previous post I Introduced the new Groups feature on WebSocket Servers. This post I will show how to combine the WebSocket Groups with the Client Connections to identify and store the user data...

From sgcWebSockets 2023.2.0 a new feature has been implemented to improve Server Message Broadcasting. Groups is a new feature in sgcWebSockets library, that allows you to organize connections (repre...

From sgcWebSockets 2022.9.0 the Indy Server IOCP IOHandler has been rewritten from scratch and performance improved. The IOCP IOHandler is only available on sgcWebSockets Enterprise Package.Using IOC...

From sgcWebSockets 2022.9.0 there is a new IOHandler for Linux, using EPOLL you can avoid the "one-thread-per-client" problem where the performance decrease a lot as more connections are handled by t...

Indy Servers use threads to handle the client connections, every time a new client connects to the server, a new thread is created and this thread handles the connection, so if you have 100 connectio...

From sgcWebSockets 2022.8.0 DTLS over UDP is supported by Server and Client UDP components. This means that now you can send encrypted messages using UDP (like WebSocket or HTTP protocol that work ov...

From sgcWebSockets 2022.8.0 the new iOS ARM Simulator personality is supported, so now you can test your iOS projects in a iOS simulator if you have a Mac based on ARM. Just select the new personalit...

The OpenAPI Specification, previously known as the Swagger Specification, is a specification for machine-readable interface files for describing, producing, consuming, and visualizing RESTful web ser...

sgcWebSockets uses ZLib for WebSocket Compression/Decompression. Recently Zlib has released a new version with fixes the following issues:Fix a deflate bug when using the Z_FIXED strategy that can re...

From sgcWebSockets 2022.3.0, Sponsored Messages are supported. Sponsored Messages requires Telegram 1.8.0+, so the Telegram libraries have been updated to support this feature.Sponsored messages on T...

From sgcWebSockets 2022.1, the Binance.us Servers are supported by our Binance API Client. The following APIs are supported:WebSocket streams: allows to subscribe to some methods and get data in real...

From sgcWebSockets 2022.1 the Telegram Client component is able to request the user the Phone Number or the location when has login as a bot.Find below an example code in Delphi, CBuilder and .NET De...

From sgcWebSockets 2022.1, the sgcWebSockets Pusher client allows to implement your own custom authentication.Pusher only allow subscribe to private or presence channels, if the connection provides a...

From sgcWebSockets .NET 4.5.4, MacOS 64 bits is supported, so now you can compile Visual Studio Mac Applications for Mac OS 64 bits.The components supported by MacOS are the same that for Windows, so...

Find below a simple example of how to send a Twilio SMS message using sgcWebSockets library.Twilio Code Just pass to the method the parameters: Phone from the message is sent, Phone where the message...

After upgrading to MacOS Monterey, you may experience an error trying to load the openSSL libraries.Invalid dylib load. Clients should not load the unversioned libcrypto dylib as it does not have a s...

From sgcWebSockets 4.5.3, the openSSL 3.0 libraries are supported for the following compilers:Delphi 7 - Rad Studio 11Windows 32/64OSX 64Android 32/64iOS 64Linux 64.NETWindows 32/64 OpenSSL 3.0 OpenS...

sgcWebSockets Pusher client has been improved on 4.5.3 version, the HTTP API has been implemented allowing to trigger events, get users of a channel and get a list of channels.Pusher is a hosted WebS...

DevExtreme Data Grid, from DevExpress, it's a powerful Data Grid for Javascript. One of the features it's partial updates which allows to update a record of a grid without updating the full page. Usu...

From sgcWebSockets 4.5.1 SChannel has been improved with 2 new features:1. There is a new property in TLSOptions.SChannel_Options called CipherList where you can set which Ciphers will be used.2. The...

Telegram API allows to get information about members of a SuperGroup. Use the method GetSuperGroupMembers to get information about members or banned users in a supergroup or channel. Can be used only...

When a client initiates a disconnection from server, there is an exchange between client and server to inform about the state of disconnection. When the process is finished, the client socket connect...

In this blog I will show how configure the sgcWebSockets JWT Client to send authenticated HTTP/2 requests to Apple Push Notification Servers.Secure your communications with Apple Push Notification se...

sgcWebSockets library supports HTTP/2 protocol on Server and Client side components, Apple Push Notifications only allows to send Push Notifications from a Server Provider using HTTP/2 protocol, so i...

In the latest entry blog about Apple Push Notifications, I show how use certificates to authenticate against Apple Push Servers.First enter in your developer account and create a new certificate for...

In the previous blog, I show how retrieve a device token, now I will show how use the HTTP/2 sgcWebSockets client to send a notification (without the authentication part).Send your remote notificatio...

OAuth2 Client Component now supports Client Credentials as grant type, this type of grant is commonly used for server-to-server interactions that must run in the background, without immediate interac...

sgcWebSockets Servers allow to Post Big Files without affecting the server memory. When a HTTP client sends a multipart/form-data stream, the stream is saved by server in memory. When the files are b...

From sgcWebSockets 4.4.8 there are small modifications in library to improve security of connections. One of them is Perfect Forward SecrecyWhen you use the RSA key exchange mechanism, it creates a l...

From sgcWebSockets 4.4.8 the Log of websocket messages has been improved. Till now, the messages were saved as was sent/received by socket, this means that when a websocket message was sent by websoc...

From sgcWebSockets 4.4.7 the use of Certificates using SChannel as crypto library is supported.The SChannel implementation supports 2 types of certificate authentication:1. Using a PFX certificate2....

From sgcWebSockets 4.4.7, both Binance Futures APIs are supported: USDT and COIN.USD Futures: https://binance-docs.github.io/apidocs/futures/enCOIN Futures: https://binance-docs.github.io/apidocs/del...

When you log as bot, the GetChats method cannot be used, so you don't get All available chats. If it's the first time you login as Bot and you try to send a message to a known Chat, you will get this...

Telegram client has been improved with a new method, SendRichTextMessages, which supports the use of styles like: bold, italic, underline, strike and code.The use is very simple, if you want send a t...

sgcWebSockets library supports OAuth2 Authentication in Server and Client components, next version will include a new feature required by AWS Cognito service, when you try to authenticate using OAuth...

The Alt-Svc HTTP header is used to inform the clients that the same resource can be reached from another service or protocol, this is useful if you want inform the HTTP clients that your server suppo...

WebSocket Client can be customized with some of the events available. There are 2 new events added to the latest version:OnBeforeConnect: this event is called just before the client tries to connect...

When an OAuth2 client do a request to get a new Access Token, a Web-Page is shown in a web-browser to Allow this connection and login with an User and Password.The HTML page is included by default in...

By default, when OAuth2 is enabled on Server Side, all the HTTP Requests require Authentication using Bearer Tokens.If you want allow some URLs to be accessed without the need of use a Bearer Token,...

Before a new OAuth2 is requested by a client, the App must be registered in the server.Register a new App requires the following information: App Name: is the name of the Application. Example: MyApp...

By default, the OAuth2 Server uses the following Endpoints: Authorization: /sgc/oauth2/auth Token: /sgc/oauth2/tokenWhich means that if your server listens on IP 80.54.41.30 and port 8443, the full O...

From sgcWebSockets 4.4.4 a new property Monitor has been added to WatchDog feature, WatchDog.Monitor allows to verify if new clients can connect to server, this is done by an internal client that tri...

From sgcWebSockets 4.4.4, the Telegram Client supports Proxy connections. Telegram Client can be configured to make of use of a proxy. Currently, Telegram supports 3 types of proxies:1. HTTP2. MTProt...

From sgcWebSockets 4.4.4 the MQTT client has a new method called PublishAndWait. Till now, when a client publishes a message using QoS levels 1 or 2, the only way to know if the message was processed...

From sgcWebSockets 4.4.3, you can replace your DataSnap server application by our WebSockets server and take advantage of new features like:WebSocket ProtocolHTTP/2 ProtocolIOCP There are 3 different...

From sgcWebSockets 4.4.3, HTTP/2 is initially supported and new features will be added on next versions. In a prior entry blog we compared the performance between HTTP 1.1 and HTTP/2 protocols, to do...

httpbin.org provides a useful server to test HTTP/2 protocol, there are several cases which can be used to test HTTP clients. You can find below a list of main tests provided:HTTP Methods: Testing di...

In a previous post, I show a comparison between HTTP2 and HTTP1 performance using a single connection (see HTTP2 vs HTTP1 performance). In this post I will show a comparative between HTTP2 and HTTP1...

RFC 7540 and RFC 7541 contains the full specification of HTTP/2 protocol and in the process of implementing a new HTTP/2 client for sgcWebSockets library, is important to use external tools to check...

sgcWebSockets supports a wide range of protocols, HTTP/2 is the protocol which is in development right now. HTTP 1.1 has been the most used HTTP Protocol and wide implemented in server and clients du...

WAMP 1.0 is an open WebSocket subprotocol that provides two asynchronous messaging patterns: RPC and PubSub.From sgcWebSockets 4.3.8, a new method is supported, not included in WAMP 1.0 specification...
sgcWebSockets Dataset Subprotocol allows to broadcast database changes to all client connected. From sgcWebSockets 4.3.8 this protocol allows 2 update modes:1. Replicate Table: protocol updates datas...

Coturn is a free open source implementation of TURN and STUN Servers.The TURN Server is a VoIP media traffic NAT traversal server and gateway. It can be used as a general-purpose network traffic TURN...

Once the connection has been established, if no peer sends any data, then no packets are sent over the net. TCP is an idle protocol, so it assumes that the connection is active. Disconnection reasons...

Embarcadero announced some time ago FMXLinux support, basically allows to use graphical components in Linux64 apps. sgcWebSockets supports FMXLinux so you can use these components to create a graphic...

From sgcWebSockets 4.3.4, OAuth2 is supported. Google provides access to these APIs using OAuth2 authentication, so you first must get the OAuth2 Client ID and Client Secret before you can connect to...

OAuth2 allows to third-party applications to get access to restricted resources using HTTP protocol. RFC 6749 covers OAuth2 specification. There are 4 roles:ClientResource OwnerAuthorization ServerRe...

Indy servers use one thread for every connection, this means that if your server must handle 1000 concurrent connections, it will create 1000 threads. But if instead of 1000 connections there are 10....

This is a demo which shows how upload a file to a websocket server. Follow the next steps:Select a file which will be sent to server.Then press connect. If connection is successful a message will sho...

sgcBiometrics package adds a new feature for next 1.4.0 version, now you can Enumerate which Enrollments has sensor pool selected. This method works for System and Private sensor pools.Before that, y...

sgcWebSockets library allows to run Secure WebSocket Servers using openSSL libraries, if you start a new secure server and try to connect with a web browser like chrome, will run fine and shows a gre...

Currently, Indy only supports 1.0.2 OpenSSL version and several customers have asked us about support for OpenSSL 1.1. Although OpenSSL 1.0.2 is usable at this moment because supports TLS 1.2 which i...

ALPN or Application Layer Protocol Name is a TLS extension that includes the protocol negotiation within the exchange of hello messages. ALPN is able to negotiate which protocol should be handled ove...