Skip to main content
Version: 2.4

Version 2.4

Version 2.4 is a major release building on Version 2.3, bringing configuration lifecycle tooling (Configuration Explorer, tSM Studio, CLI, Configuration Packages), full Public API V2 standardization with API Versioning policy, Task Templates for process standardization, new script binding types (REST, MCP), a reactive Form Effects engine, API Keys and on-behalf-of token exchange for integration scenarios, distributed tracing/observability, and significant dependency upgrades (Spring Boot 4, Angular 21).

Legend
  • ⭐ Major feature
  • ⚠️ Breaking change — review before upgrade

Configuration & Tooling

TypeAreaDescription
⭐ FeatureConfigurationConfiguration Explorer: New primary UI for browsing, understanding, and managing tSM configuration. Presents a catalog of configuration items grouped by ConfigType, enriched with package and installation metadata. See Configuration Explorer.
⭐ FeatureConfigurationConfiguration Packages & Change Sets: Configuration can now be organized into installable packages with dependency management and install-order tracking. Change Sets provide story-level tracking of configuration changes for scoped review across multiple ConfigTypes and packages (OPEN → IN_REVIEW → CLOSED lifecycle). See Change Sets.
⭐ FeatureConfigurationInstalled Package Tracking: New system entity records which configuration package version is applied to each environment — tracking what was installed, when, by whom, and which items were included. Supports drift detection by comparing installed items against their original state. See Installed Package.
⭐ FeatureConfigurationConfig Type Expansion: ConfigType support expanded across all configurable entities with hierarchical code-based classification. Configuration objects can now be classified and managed more explicitly, improving organization of forms, listings, templates, and related metadata.
FeatureConfigurationEntity Type Configuration: EntityType — the canonical classification of records in tSM — now has a documented standard config structure covering storage and eventing (dbTable, kafkaTopic, elasticsearchIndex), API, core platform, SpEL integration, and synchronization settings. Useful for tSM CLI and external integrations.
FeatureConfigurationevaluatesTo: New runtime type definition for expression values in forms, enabling type-safe expression evaluation.
⭐ FeatureToolingtSM Studio: New VS Code extension providing a complete development environment for tSM configuration — backup, synchronization, development tools, and deployment management. See tSM Studio.
⭐ FeatureToolingtSM CLI: New tsm command-line tool for managing configuration, packages, and deployments. Supports scripted and automated configuration workflows. See CLI Reference.
FeatureToolingConfiguration Lifecycle Management: Documented workflows for managing configuration from development through production, including simple, enterprise, and change-set-based workflows.

Public API

TypeAreaDescription
⭐ FeaturePublic APIPublic API V2 Across Core Domains: API V2 expanded and standardized across billing, catalog, config, customer, inventory, ordering, ticketing, and WFM. Broadens per-entity coverage, standardizes request/response behavior, and adds client-side support for safe query options and async-friendly patterns. ⚠️ API V1 is now deprecated.
FeaturePublic APIAPI Versioning & Lifecycle: Formal API versioning policy with documented backward compatibility guarantees and deprecation procedures. Major version in URL path (/api/v1, /api/v2); within a major version, only backward-compatible changes are allowed. See API Versioning.

Process Engine

TypeAreaDescription
⭐ FeatureProcess EngineTask Templates: First-class Task Template model — a form-driven way to configure BPMN tasks (Service, External, Kafka, User Tasks) in the Process Designer. Templates generate standard BPMN elements with correct technical configuration (topics, mappings, delegate expressions). Includes API support, versioning, applicability rules, bindings, palette visibility, and color/icon metadata. See Task Templates.
⭐ FeatureProcess EngineTask Template Versioning: Applied templates now persist both template identity and concrete version, enabling safer BPMN round-trip editing, future diff/reapply scenarios, and prevention of silent behavior drift from implicit latest-template resolution.
FeatureProcess EngineKafka Task: New first-class BPMN task type for asynchronous communication via Apache Kafka — publishes a message to a request topic, suspends the process instance, and waits for a correlated response. Replaces the previous workaround using receive tasks. See Kafka Task.
FeatureProcess EngineExtended External Task Support: Revised external task capabilities — delegates execution to external workers via fetchAndLock REST pattern for separation of responsibility and independent scaling. Workers are typically delivered with a Task Template for correct BPMN configuration. See External Task.
FeatureProcess EngineService Task Script Binding: Service tasks and listeners can now execute existing SpEL scripts from BPMN processes using tsmScriptDelegateExecutor and tsmScriptListenerExecutor, without writing inline SpEL code.
⭐ FeatureProcess EngineCamunda History in Elasticsearch: Process history is being moved from relational storage to Elasticsearch, reducing database load and improving process-history scalability for high-volume environments.

SpEL & Scripts

TypeAreaDescription
⭐ FeatureSpELScript Bindings Restructured: SpEL bindings reorganized and expanded into a complete subsection. In addition to existing Event Bindings and Script-to-Script Bindings (both extended), two entirely new binding types were added: REST Bindings and MCP Bindings. See Scripts and Bindings.
⭐ FeatureSpELREST Bindings: SpEL scripts can now be published as HTTP endpoints (POST /api/v2/scripts/<urlPath>). The platform handles routing, authentication, body validation against a JSON Schema, script execution, and JSON response serialization — no custom controller code needed. See REST Bindings.
⭐ FeatureSpELMCP Bindings: SpEL scripts can now be exposed as AI-callable tools via the Model Context Protocol (MCP), discoverable and callable by AI agents (GitHub Copilot, Claude, ChatGPT). Tools are organized into servers, each with its own endpoint. See MCP Bindings.
FeatureSpELLambda Expressions: SpEL now supports first-class lambda expressions — reusable anonymous functions that can be assigned to variables, passed as arguments, returned from other lambdas, and used with collection operations. Lambdas capture surrounding variables as live bindings and support multi-expression bodies via #do(...). See Lambda Expressions.
FeatureSpELString Interpolation: Double-quoted strings now support embedded expressions with #{...} syntax (e.g., "Hello #{#name}"). Expressions inside #{...} are evaluated normally and combined into the resulting string, making dynamic text construction cleaner than manual concatenation. See String Interpolation.
⭐ FeatureSpELSpEL Console Debugger: The SpEL Console now includes a full step-through debugger — pause at any expression, inspect all context variables, add watch expressions evaluated live at each step, and dynamically evaluate arbitrary SpEL expressions against the current execution state. Supports Step Over, Continue, Variables panel, and Watch panel. See SpEL Console — Debugger.

TSM Forms & Widgets

TypeAreaDescription
⭐ FeatureTSM FormsForm Effects Engine: New reactive effects system for defining side-effects that automatically respond to form value changes. Supports clearing/setting field values, copying between fields, and executing server-side scripts on value changes. See Form Effects.
FeatureTSM FormsForm Effects for Dependent Fields: Dependent form fields now reset reliably when the driving field changes, preventing stale default values and invalid dependent selections in LOV-style flows.
⚠️ RefactorTSM FormsWidget Attribute Cleanup: Removed support for the deprecated disabled attribute in widget configurations. An automatic migration script moves existing disabled values to readonly. See upgrade notes below.
⚠️ RefactorTSM FormsPrivilege Configuration Migration: The legacy privilege object in form configurations has been replaced by dynamic expressions on the widget itself. read privileges are now mapped to hidden, write privileges to readonly, using expression syntax (e.g., ${hasPriv('...')}). See upgrade notes below.
⚠️ RefactorTSM FormsControl ID to Widget Migration: TSM controls are now used as widgets at runtime, enabling widget editors for these controls. $value expressions in detail/new forms are migrated to $context.form (since TSM control values are now under $value.tsmControls.* instead of $value.*, while $context.form.* retains the original structure). See upgrade notes below.
⚠️ RefactorWidget ReferencePreventive Maintenance Widget Removed: The Preventive Maintenance widget category has been removed from the widget reference documentation.
⚠️ RefactorTSM ControlEntity Creation Payload Restructure: The Entity creation forms have been consolidated into a single dynamic form with a restructured payload. The previous structure with top-level coreAttributes and chars is replaced by a flat structure that additionally separates non-characteristic dynamic fields into processingData. Backward Compatibility: Cases where data previously stored in chars now lands in processingData (or vice versa) are handled via a spell script attached to the specific Entity. See payload structure changes below.

Entity Creation Payload Structure (2.3 → 2.4)

Version 2.3Version 2.4
Core attributesTop-level coreAttributes objectTop-level coreAttributes object (unchanged)
Non-char dynamic fieldsStored inside charsMoved to top-level processingData
CharacteristicsStored inside charsRemain in chars
Backward compatibilityHandled via a spell script attached to the specific Entity

Application

TypeAreaDescription
⭐ FeatureApplicationOnline Collaboration: Real-time multi-user collaboration across configuration editors. Multiple users can work on the same artifact simultaneously with live presence indicators and automatic conflict resolution. The SpEL Console supports concurrent script editing with live cursors and conflict handling. The attendance indicator — a configurable form component — shows who is currently viewing/editing an artifact and who last modified it; available in Process Designer, Form Designer, and any entity form where the component is enabled.
FeatureApplicationAI Chat Feedback: AI Chat now supports structured feedback capture via thumbs up/down and textual negative feedback.
FeatureApplicationAI Chat Roadmap: AI assistance in v2.4 focuses on developer support (SpEL Console). Future releases will extend to Process Designer, Form Designer, and business-domain modules (customer care, ticketing, ordering). See AI Roadmap.
⭐ FeatureApplicationtSM AI Docs: The documentation portal (tsm.datalite.cz) now includes an AI-powered chatbot for natural-language queries. Also available as an MCP server for integration with external AI tools (GitHub Copilot, Claude, ChatGPT) — query tSM documentation directly from your IDE or automation pipeline.
⭐ FeatureApplicationObservability and Tracing: Distributed tracing with four core HTTP headers propagated across services: X-Trace-Id (end-to-end tracking), X-Correlation-Id (session correlation), X-Request-Id (per-request ID), and X-Debug-Level (dynamic log-level override). Frontend logging to Kibana enables faster diagnosis of production issues. See Observability.

User Management & Security

TypeAreaDescription
⭐ FeatureUser ManagementAPI Keys: Users and service accounts can now be assigned long-lived, revocable API keys for machine-to-machine authentication. API keys eliminate the need to manage token refresh flows — use them directly in the X-API-Key header or exchange them for a short-lived access token via the api_key grant type. Keys are bound to a user, inherit their roles and privileges, support optional expiration, and can be managed in the API Keys tab on the user detail. See Authentication and Authorization.
⭐ FeatureUser ManagementOn Behalf Of (Token Exchange): Integration users and administrators can now perform actions on behalf of another user via the token_exchange OAuth 2.0 grant type. The calling user authenticates first and then exchanges their token for one representing the target user. The resulting JWT carries an act claim that preserves the original actor's identity for full audit traceability. See Authentication and Authorization.
FeatureUser ManagementAuthentication Architecture: Revised authentication and authorization documentation covering SSO, OAuth, token handling, and access rules. See Authentication and Authorization.

Non-Functional Changes

TypeAreaDescription
PlatformObservabilityFrontend logger service integrated with global error handling — frontend failures are now forwarded to Kibana. Correlation/debug headers strengthened for cross-boundary request tracing.

Dependency Upgrades

All platform dependencies have been upgraded to their latest versions to address security vulnerabilities and ensure long-term support.

Infrastructure & Runtime

tSM supports all major deployment models — from bare metal and virtual machines through Docker Compose to fully managed Kubernetes (AKS, EKS, GKE) and SaaS. We strongly recommend container orchestration (Kubernetes) for production deployments to benefit from zero-downtime upgrades, horizontal scaling, and automated recovery. See Deployment for details.

DependencyVersionNotes
Java21LTS release — required runtime for all backend services
PostgreSQL16+Minimum supported version is 16. We recommend running the latest available release for security fixes
Elasticsearch8+Minimum supported version is 8.x. We recommend running the latest 8.x release for security fixes
Apache Kafka3+Minimum supported version is 3.x. We recommend running the latest 3.x release for security fixes

Backend Libraries

DependencyVersionNotes
Spring Boot4.0.2Major upgrade — brings Jakarta EE 11, virtual threads, improved observability, and latest security patches
Spring Cloud2025.1.1Aligned with Spring Boot 4.x baseline
Kotlin2.3.10K2 compiler, performance and language improvements
Jackson3.1.0⚠️ Major version upgrade — new module structure, updated package namespace
Redisson4.1.0⚠️ Major upgrade for Redis-based caching and distributed locks
OpenAPI / springdoc3.0.1Swagger/OpenAPI documentation generation

UI Libraries

DependencyVersionNotes
Angular21.0⚠️ Major upgrade — signals-based reactivity, improved SSR, zoneless change detection
PrimeNG21.0UI component library aligned with Angular 21; new theming via @primeuix/themes
NgRx21.0State management aligned with Angular 21; includes new @ngrx/signals package
RxJS7.8Reactive extensions for Angular
Monaco Editor0.54Code editor used in SpEL Console, Form Designer, and JSON editors
bpmn-js18.10BPMN process designer and viewer
dmn-js16.8DMN decision table designer and viewer
Tiptap3.19Rich-text editor with collaborative editing support
DOMPurify3.3HTML sanitization — security-critical for XSS prevention

Documentation

The following documentation areas are new or significantly expanded in v2.4:

  • tSM Studio: Complete section covering VS Code extension, CLI tool, configuration lifecycle, packages, installation, and workflows (10 documents)
  • Configuration: New pages for Configuration Explorer, Form Effects, evaluatesTo, Change Sets, Installed Package, and Script
  • Process Engine: New documentation for External Tasks, Task Templates, and Kafka Tasks
  • SpEL Bindings: Restructured from 1 document to a complete subsection with 6 documents (Scripts, Event Bindings, Script-to-Script, REST Bindings, MCP Bindings)
  • Data Model Extension: New section covering Forms, Characteristics, Entity Specifications, and Custom Entities

Upgrade Notes

To upgrade to Version 2.4, specific database migrations are required to update form configurations.

Please execute the SQL scripts found in the attached package. The scripts must be executed in the following order:

  1. 01_remove_disabled_from_widgets.sql
  2. 02_migrate_privilege_to_widget.sql
  3. 03_migrate_control_ids.sql
  4. 04_wrap_description_inplace.sql
  5. 05_migrate_value_to_context_form.sql

Download Migration Scripts (ZIP)