Latest Releases
Universal Delphi & C++ Builder components for seamless access to Google, Microsoft, Paypal and many more cloud services from VCL, FMX and WEB core apps
What's new
- TTMSFNCCloudGoogleGmail: Draft support added
- TTMSFNCCloudMicrosoftOutlookMail: Draft support added
- TTMSFNCCloudPayPal: Support for Orders v2 API added
Our bundle of over 600 VCL UI controls for modern, feature-rich Windows application development, including grids, planner, richeditor, ribbon, web updater, treeview and much more...
What's new
- Edit, merge, rotate and save native PDFs
- PDF metadata, links and Unicode text extraction
- SVG fill-rule and clip-rule support with nonzero and evenodd support in SVG rendering
Universal powerful, feature-rich Delphi & C++ Builder FNC UI controls in 1 component set for VCL, FMX and WEB core apps. Includes data grid, planner, treeview, ribbon, memo and rich editor
What's new
- ItemsAppearance.TitleWordWrap property to wrap planner item titles and size their title area accordingly in TTMSFNCPlanner
Universal core layer for creating rich visual and non-visual Delphi & C++ Builder components for VCL, FMX and WEB core apps
What's new
- SVG fill-rule and clip-rule support with nonzero and evenodd on VCL, GDI+, Apple and PDF output
- SVG stroke-dasharray, stroke-dashoffset and stroke-linecap (square, round) support for dashed lines on paths and shapes
Identity Access Management, including authorization and authentication for Delphi server applications
What's new
- TOidcClient.TokenEndpointAuthMethod and TSphinxExternalProvider.TokenEndpointAuthMethod properties allow sending the client credentials in the request body (client_secret_post), as required by some providers. By default it is detected from the provider discovery document.
Cross-platform library for HTTP client and HTTP server development
What's 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: a JSON file beside the executable overlaid with environment variables. IHostBuilder.Configuration is the place to build one from other sources.
- JWT tokens used by Sparkle's JWT middleware (and XData servers) can now be signed and validated with OpenSSL 3 instead of the outdated OpenSSL 1.0 libraries, by using the Bcl.OpenSsl.Jose unit.
- Support for more token signing algorithms (PS256, PS384, PS512) and for reading the public keys identity servers publish (JSON Web Keys).
Compact cross-platform logging framework offering informative log output to a flexible number of targets with a minimum amount of code
What's new
- TTMSLoggerAsyncOutputHandler (unit TMSLoggingAsyncOutputHandler), a base class for output handlers targeting slow or unreliable destinations. Messages go to a bounded in-memory queue and a background thread delivers them in batches, retrying with backoff and honoring Retry-After. Lost messages are counted and reported to the destination itself.
- MaxQueueSize, BatchDelay, MaxBatchLength, MaxRetries, RetryDelay, MaxRetryDelay, ShutdownTimeout and RequestTimeout properties on the webhook output handlers, also readable from the configuration file.
What's new
- Application configuration. Keep the settings of your application (server URL, database connections, passwords) in a JSON file beside the executable and read them from anywhere with TConfiguration.Current, with no setup code. Each deployment overrides only what differs using environment variables.
- JWT tokens can now be signed and validated using OpenSSL 3. Add the new Bcl.OpenSsl.Jose unit and RSA (RS256/RS384/RS512, PS256/PS384/PS512) and ECDSA (ES256/ES256K/ES384/ES512) signing works with the OpenSSL version current Windows, Linux and macOS systems ship, with no dependency on Indy. The previous OpenSSL 1.0 implementation is still used when OpenSSL 3 cannot be loaded.
- JSON Web Key (JWK) support through TJSONWebKey and TJSONWebKeySet. Read the key set an identity server publishes, pick the key a token was signed with, convert keys between JWK and PEM and compute the RFC 7638 thumbprint. Keys of unsupported types are skipped.
- RSASSA-PSS signing (PS256, PS384, PS512), the modern RSA signature scheme required by some identity providers.
- TJOSE.VerifyOrRaise raises an exception when a token does not verify, so a token it returns is always a verified one.