VI

Delphi

TMS Sparkle v3.41.0.0 Full Source Delphi 10-13

TMS Sparkle is a Delphi framework for network, Internet programming. It provides classes for both client and server applications/services, allowing for example performing Http requests to servers, or building Http servers that rece...

Description

TMS Sparkle is a Delphi framework for network, Internet programming. It provides classes for both client and server applications/services, allowing for example performing Http requests to servers, or building Http servers that receive and process client requests. It supports several platforms, including Microsoft Windows, macOS, iOS and Android. TMS Sparkle is also the core framework used by several other TMS products such as TMS RemoteDB and TMS XData.

Trustworthy
It is the core building block for several other TMS products and technologies, such as TMS RemoteDB and TMS XData. Such products needed to be built from scratch, and rely on a robust framework for which TMS could have 100% control and also responsibility. For such products to work flawlessly, we needed to be sure to build such products in a framework that must be properly tested, and have fast response in performance improvement and bug fixing.

Fresh
It's a new product that doesn't carry any legacy applications behind it, thus classes and interfaces provide a simple, clean method of use.

Modern
It's target to new Delphi versions, and benefits from modern language features such as generics and anonymous methods.

Cross-platform
Supports multiple platforms such as Microsoft Windows, macOS, iOS and Android.

Platform Native
In most of it, Sparkle is a thin, abstract layer over native API's from the underlying platform. Existing platforms already provide a lot in terms of native networking and internet programming. TMS Sparkle tries not to reinvent the wheel and use such technologies. This makes it easy for your applications to benefit from new platform versions and upgrades. Any bug fixes and improvements in the platform frameworks will be usually available in Sparkle. It also provides smoother integration with the platform, such as system-wide settings.

Client features:
Http client available in Windows, macOS, iOS and Android
Support for Http Secure (Https)
Transparent handling of chunked and gzip-encoded responses
Server features:
Http server based on http.sys stack (Windows only - minimum Vista and Server 2008)
Support for Http Secure (Https)
Kernel-mode caching and kernel-mode request queuing (less overhead in context switching)
Multiple applications/process can share (respond) the same port (at different addresses)
Secure Sockets Layer (SSL) support in kernel-mode
GUI tool for SSL certificate management

Version 3.41 (October-2026)

  • New: Configuration for hosted servers. A hosted server reads its settings through TConfiguration.Current, the new application configuration of TMS BIZ Core Library, with no setup: .json beside the executable, or the file named by _CONFIG, overlaid with the _ environment variables. Read from the data module's OnCreate, a missing or invalid setting keeps the server from starting. IHostBuilder.�Configuration is the place to build one from other sources.
  • New: JWT tokens used by Sparkle's JWT middleware (and XData servers) can now be signed and validated with OpenSSL 3, the version current Windows, Linux and macOS systems ship, instead of the outdated OpenSSL 1.0 libraries. Just use the Bcl.OpenSsl.Jose unit.
  • New: Support for more token signing algorithms (PS256, PS384, PS512), which some identity providers require, and for reading the public keys identity servers publish (JSON Web Keys). See the BCL release notes.
  • Fixed: Several security issues in JWT validation, among them unsigned tokens being accepted, expired tokens being accepted by long-running servers, and token contents leaking into log files. See the BCL release notes for the full list, including one breaking change.
  • Fixed: With the http.sys server over HTTP/2 (the default for HTTPS on current Windows), large responses without a Content-Length failed with ERR_HTTP2_PROTOCOL_ERROR in the browser, or with an "Incorrect function" error on the server. This affected compressed responses (TCompressMiddleware) and streamed content.
  • Fixed: The http.sys server reported HTTP/2 requests as HTTP/1.1. THttpServerRequest.�Protocol is now HTTP/2 (or HTTP/3) for those requests.
  • Improved: The OpenSSL 3 cryptography bindings moved to TMS BIZ Core Library, as Bcl.OpenSsl.Api (TOpenSslCrypto), and the JOSE providers built on them to Bcl.OpenSsl.Jose. An application that only needs JWT signing no longer has to install Sparkle to get it, and no longer needs libssl deployed alongside libcrypto. Sparkle's TOpenSSL now extends TOpenSslCrypto with the libssl half, so every function it exposed is still reachable through it and the socket server is unaffected.
  • Deprecated: TSparkleJoseProviders (unit Sparkle.OpenSsl.Jose) in favour of TJOSEOpenSsl3Providers in Bcl.OpenSsl.Jose. Including the old unit still installs the providers, exactly as before.

Additional Information