Latest Releases
Identity Access Management, including authorization and authentication for Delphi server applications
What's new
- Identity brokering (external providers) is now supported. Sphinx can act as an identity broker (IdP proxy), delegating authentication to an upstream OAuth2/OpenID Connect provider while still issuing its own tokens. Upstream providers are registered in the new TSphinxConfig.ExternalProviders collection, with the OnResolveExternalProvider and OnExternalSignIn events controlling delegation and identity mapping.
- "Login with..." interactive provider selection. The Sphinx login page can present "Login with..." buttons that let the user pick an upstream provider such as Google, GitHub, Facebook or Apple, controlled by TSphinxExternalProvider.ShowInLoginPage and the OnListExternalProviders event.
- External identity linking. External identities are reconciled with local users through a durable provider/subject link, persisted in the new TUserLogin entity (sx_user_logins table).
- Built-in external reconciliation policy. The new TSphinxConfig.ExternalLoginOptions reconciles external sign-ins automatically, making OnExternalSignIn optional, with opt-in auto-linking by verified e-mail and auto-provisioning of new users. The OnExternalUserProvisioned event fires when a user is auto-provisioned.
- Built-in provider icons. The login app now ships ready-to-use, brand-colored icons for the most common identity providers (Google, Microsoft, GitHub, Apple and Facebook).
- Store upstream tokens. Enabling TExternalLoginOptions.SaveTokens persists the upstream access, refresh and id tokens after a successful external sign-in, so the application can later call the upstream provider's APIs via IUserManager.GetAuthenticationToken.
- TLoginOptions.AllowPasswordLogin option (default True). Set to False for an external-only login that hides the local username/password form and offers only "Login with..." providers.
- Pluggable password hashing. You can now replace Sphinx's built-in password hashing algorithm with your own by assigning an IPasswordHasher implementation to the new TSphinxConfig.PasswordHasher property.
- TSphinxLogin.LogoutAndEndSession and TSphinxWebLogin.LogoutAndEndSession now accept an optional APostLogoutRedirectUri parameter, allowing the identity provider to redirect the browser back to the specified URI after the SSO session is terminated.
- TSphinxWebLogin.ManualCallbackCheck property allows suppressing the automatic OAuth callback check on load, giving explicit control over when the login flow starts in TMS Web Core applications.
Don't get left behind! Effortlessly deliver state of the art intelligence in your own Delphi & C++Builder applications. Enhance your apps with AI to analyse data & generate data, allow AI to take automated control of your apps, let your customers access application functionality using natural language or to setup your own agentic flows with MCP.
What's new
- tools/call can return native MCP content items (resource_link embedded resource image audio multi-block text) by returning a JSON array in TTMSMCPServer
- Per-session type-safe interface storage (SetUserData/TryGetUserData/RemoveUserData) and CurrentSessionState accessor in TTMSMCPServer
- Per-session Resources and Prompts collections in TTMSMCPServer consulted alongside the server-wide ones
- Per-session resource subscriptions and SendResourceUpdatedForSession for targeted resources/updated notifications in TTMSMCPServer
- Added ToolDeniedMessage in TTMSMCPClient
What's new
- JOSE/JWT library updated to match the latest files of the Delphi JOSE JWT library, including various internal improvements and bug fixes made upstream since the last sync.
- Support for X.509 certificate-based JWS signature verification. TJWS now provides a SetKeyFromCert method that extracts the public key from a PEM-encoded X.509 certificate.
- TJWTClaims.ClaimExists is now a public method, allowing callers to check whether a named claim is present in the token.
- TJSONUtils.SetJSONRttiValue now handles dynamic array values, so JWT claims that carry array-typed RTTI values are correctly serialized to JSON.
- Added TJOSEBytes.IsValidString and TJSONUtils.IsValidJSON utility methods for safer token-part validation before deserialization.
- Added TJSONUtils.IsJSONBool and TJSONUtils.GetJSONBool helper methods for reading JSON boolean values, and updated GetJSONValue to handle booleans correctly.
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
- RendererSource support to assign external data and renderer layers at design-time or runtime in TTMSFNCDataGrid
- Column and row calculations automatically refresh when cell data changes (Options.Calculations.AutoUpdate) in TTMSFNCDataGrid
- getTimePicker inplace editor support in TTMSFNCDataGrid
- TDataSet Filter property has the option to open the TMSFNCDataSetFilterDialog in Design-Time
Universal Delphi & C++ Builder components for mapping, geographical data, timezone visualization, routes and directions calculation. Use your mapping service of choice like Google Maps, OpenStreetMap, Leaflet, Azure Maps, Here Maps in VCL, FMX and WEB core apps
What's new
- TTMSFNCHere: API version updated to v3.2
- TTMSFNCMapBox: API version updated to v3.24.0
- TTMSFNCMaps: Azure service: API version updated to v4
- TTMSFNCOpenLayers: API version updated to v10.9
Framework for creating modern web applications in Delphi.
What's new
- TWebDBDataGrid new component added
- DirectUpdate property added to TWebDBCheckBox
- TIStringComparer class added
- TWebDBDataGrid demos added
- Extended TWebDataGrid sorting & filtering demos
- OnDataLoaded event in TWeb(DB)DataGrid
- OnPaginationChanged event in TWeb(DB)DataGrid
- TWebDataGrid.OnLoadColumnValue event added
- Text-alignment, CSSClass, Font added in TWebDataGrid.ColumnDefs
Don't get left behind! Effortlessly deliver state of the art intelligence in your own Delphi & C++Builder applications. Enhance your apps with AI to analyse data & generate data, allow AI to take automated control of your apps, let your customers access application functionality using natural language or to setup your own agentic flows with MCP.
What's new
- Exposed direct access to Tools in TTMSMCPClient
Don't get left behind! Effortlessly deliver state of the art intelligence in your own Delphi & C++Builder applications. Enhance your apps with AI to analyse data & generate data, allow AI to take automated control of your apps, let your customers access application functionality using natural language or to setup your own agentic flows with MCP.
What's new
- Support to submit PDF files to Mistral
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
- Property BorderColor added in TAdvDateTimePicker
- OnCloseUp event added in TAdvColorSelector
- BorderHotColor, BorderSelectedColor property added in TAdvColorSelector