Skip to main content
Version: 2.4

Version 2.3

Version 2.3 is an incremental release focused on Public API V2 expansion with audit capabilities, SpEL and JEXL language improvements, form and listing enhancements, AI Chat introduction, a data aging framework with PostgreSQL partitioning and Elasticsearch ILM, and broad Business Module improvements across CRM, Ordering, Ticketing, Inventory, Billing, and WFM.

Public API

TypeAreaDescription
FeaturePublic APIAudit and History in API V2: Per-entity API V2 now exposes audit/history capabilities using JaVers with a dedicated Swagger grouping. Consumers can inspect change history consistently across entities without relying on module-specific endpoints.
FeaturePublic APIAudit Listing and Diff Workflow: Audit views upgraded toward a listing-plus-diff workflow, making historical changes easier to browse and compare instead of relying on raw old/new value payloads.
ImprovementPublic APIOpenAPI / Swagger Documentation: Swagger documentation now better documents API groupings and module-specific SpEL/client methods. Swagger UI supports collapsed-by-default endpoint presentation for easier navigation.
ImprovementPublic APIAPI Client Safety: API V2 clients now support safer query options and more consistent patterns, reducing error-prone consumption of large or filtered datasets.
FeaturePublic APIProcessing Data Propagation: processingData added broadly across entities and public objects for more consistent transport of process-related metadata through APIs and integrations.

Process Engine

TypeAreaDescription
FeatureProcess EngineProcess Visualization Improvements: Improved handling of event-based gateways, subprocess rendering, and process navigation for better understanding of running process instances.
FeatureProcess EngineBulk User Task Operations: Bulk task continuation/repeat behavior and large-scale import support. User-task mass handover now supports assigning to user groups and optionally specific users.
FeatureProcess EngineOptional Process Variable History: Process history can now suppress selected variable/operation-log storage for installations with strict storage, performance, or privacy constraints.

SpEL & Scripts

TypeAreaDescription
FeatureSpELCalendar Functions: New working-day calculation methods on Date objects with public holiday support. Key methods: .plusWorkdaysWithHolidays(n, country), .plusWorkdays(n), .isWorkingDayWithHolidays(country). Holidays loaded from the System.Holidays register. See Calendar Functions.
FeatureSpELSpEL and Transactions: Documented and improved transaction handling in SpEL scripts, including {async: true} flag behavior, transaction boundary management, and #businessException pitfalls. See SpEL and Transactions.
ImprovementSpELSpEL Console Redesign: The SpEL Console has been redesigned with a modern look and improved user experience.
ImprovementSpELCollaborative Editing: Monaco editor collaborative editing improved with better conflict messaging and information about concurrent edits.

TSM Forms & Widgets

TypeAreaDescription
FeatureTSM FormsCreate New Entity Widget: New button widget that triggers creation dialogs for arbitrary entities, with optional prefill from context, script output, and configurable post-save actions.
FeatureTSM FormsSelect Widget Enhancements: Select widget gained multi-select checkbox mode, configurable unselect behavior for radio/checkbox modes, and dynamic value sourcing from other widgets or form context.
FeatureTSM FormsAdvanced Object Widget: The dtl-fluent-object widget now supports embedding layout components alongside properties, functioning as both a Property-Based and Layout-Based component. See Advanced Object.
FeatureTSM FormsAdvanced Array Widget: The dtl-fluent-array widget now supports embedding layout components within array items. See Advanced Array.
FeatureTSM FormsSelective DataSource Refresh: Actions now support refreshDataSourcesPayload for whitelist/blacklist control over which datasources are refreshed. See Success / Error Actions.
ImprovementTSM FormsForm Designer Improvements: Multiple fixes for object extraction, default object counts, key attributes, unsaved-changes handling, editgrid table structure, tri-state checkbox behavior, and schema editing stability.
ImprovementListingTree Listing Improvements: Hierarchical listing presentation repaired and extended across inventory, catalogs, and other domains.
ImprovementListingProfile and Filter Behavior: Listing profile and filter behavior refined with better ordering stability, external-filter counts, sorting behavior, and default-view handling.
ImprovementListingData View Switcher Rework: Data-view mode switcher reworked from SpeedDial to Popover with improved interaction and iconography consistency.

JEXL

TypeAreaDescription
FeatureJEXLComments Support: JEXL now supports single-line (//) and block (/* ... */) comments within expressions. See JEXL Basics - Comments.
FeatureJEXLJSON Functions: JEXL gained explicit JSON-related function support, expanding expression capabilities for form and configuration scenarios.
FeatureJEXLJSON Validation in Configuration: JEXL expressions inside JSON-based configuration now have syntax highlighting and validation feedback, reducing broken forms caused by malformed expressions.

Application

TypeAreaDescription
FeatureApplicationAI Chat: Built-in AI assistant accessible from the top bar. Supports real-time streaming responses, conversation threads, image attachments, and context-aware integration with the SpEL Console. See AI Chat.

Business Modules

TypeAreaDescription
FeatureCRMLead as Standard Entity: Lead can now be configured as a standard entity, participating in standard configuration, API, and management flows instead of remaining a special-case object.
FeatureCRMRole-Type Filters: New CRM role-type filters for address and person entities, including multi-select support and improved role name display in listings.
FeatureOrderingOrder Line Widget: Dedicated order-line listing widget/bookmark for working with order items more directly in task-centric workflows.
FeatureOrderingParent/Child Order Hierarchy: Orders now support a clearer parent/child relationship model between Order and OrderLine for complex nested order structures.
FixOrderingOrder PATCH Stability: PATCH behavior on orders stabilized so related links are no longer dropped unexpectedly, with improved order-line deletion support.
FeatureTicketingEmail Communication Widget: Reusable email communication widget extracted for broader use, enabling embedded email interactions in business flows.
FeatureTicketingWorklog Estimate with Subtasks: Worklog estimate component now supports counting time logged on subtasks without requiring manual roll-up calculations.
FeatureTicketingJira Synchronization: Continued work on Jira synchronization and external collaboration flows with API V2-oriented improvements.
FeatureInventoryCatalog Backup and Import: Catalog records can now be backed up by filter or selection and imported back for safer migration and replication between environments.
FixInventoryInventory Tree Rendering: Standalone devices and components now display in the correct hierarchy in inventory views.
FeatureWFM / StockStock Module Expansion: Stock module gained better API coverage, more consistent endpoint naming, stronger documentation, and additional paging support for stock movements, items, and types.
FixWFMPlanner Task Visibility: Planner corrected so technicians no longer see unscheduled work incorrectly in task lists.
FeatureBillingBilling API V2 and Document Handling: API V2 expansion with improved billing-cycle behavior, manual generation, and billing document processing.

Security

TypeAreaDescription
ImprovementSecurityAccess-Denied Diagnostics: Business APIs now provide better information about which specific privilege is missing when access is denied, enabling quicker troubleshooting.

Architecture

TypeAreaDescription
⭐ FeatureArchitectureData Aging: New data lifecycle framework with four statuses (LIVE → HOT → WARM → ARCHIVED) for managing data as it ages. Supports PostgreSQL partitioning (time-based and ID-based) with automated lifecycle transitions and partition detachment/reattachment. Elasticsearch Index Lifecycle Management (ILM) provides tiered storage (hot/warm/cold/frozen) for search indices. Includes X-Data-Partition HTTP header for partition-aware queries, child entity co-partitioning, and practical examples for ticketing, master data, and audit logs. See Data Aging.
FeatureArchitectureIntegration Logs in Elasticsearch: Integration logs are now primarily stored in Elasticsearch, leveraging ILM for automatic tiering and retention management. Database storage remains available as a compatibility option for deployments without Elasticsearch.

Non-Functional Changes

TypeAreaDescription
PlatformUI StandardizationBroad SCSS cleanup, selector normalization, dark-mode consistency, PrimeNG button standardization, and reduced style drift across all modules.
PlatformReindexingImproved reindexing stability with complete reindex behavior, dedicated ES reindex topics, wrong-schema logging, and index naming cleanup.
PlatformDatabaseDatabase model checks, Flyway corrections, schema migrations, and partition-oriented changes for safer upgrades and long-term data management.
PlatformData AgingPartitioning, ILM, and data-aging support across ordering, inventory, and adjacent modules. See Architecture — Data Aging above.
PlatformMultitenancyContinued work toward multitenancy readiness with edge-case fixes for shared or tenant-isolated deployments.
PerformanceCachingMore read paths default to cache-backed behavior in public converters and dictionary lookups, reducing repetitive backend load.
RefactorNamingNormalized naming conventions, generated types, endpoint naming, and public model behavior across repositories for cleaner cross-module interoperability.

Dependency Upgrades

Infrastructure & Runtime

DependencyVersionNotes
Java21LTS release — required runtime for all backend services
PostgreSQL16+Minimum supported version is 16
Elasticsearch8+Minimum supported version is 8.x
Apache Kafka3+Minimum supported version is 3.x

Backend Libraries

DependencyVersionNotes
Spring Boot3.4Latest 3.x release with performance improvements and security patches
Spring Cloud2024.0Aligned with Spring Boot 3.4 baseline
Kotlin2.1K2 compiler stabilization and language improvements
Jackson2.18JSON processing with bug fixes and performance improvements
Redisson3.40Redis-based caching and distributed locks
OpenAPI / springdoc2.8Swagger/OpenAPI documentation generation

UI Libraries

DependencyVersionNotes
Angular19.0Signal-based reactivity improvements, improved hydration, and developer experience
PrimeNG19.0UI component library aligned with Angular 19
NgRx19.0State management aligned with Angular 19
RxJS7.8Reactive extensions for Angular
Monaco Editor0.50Code editor used in SpEL Console, Form Designer, and JSON editors
bpmn-js17.11BPMN process designer and viewer
dmn-js16.7DMN decision table designer and viewer
Tiptap2.11Rich-text editor with collaborative editing support
DOMPurify3.2HTML sanitization — security-critical for XSS prevention

Documentation

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

  • Business Modules: Initial documentation covering CRM, Ordering, Catalog, Inventory, Ticketing, Billing, WFM, and Stock
  • User Management: Expanded documentation covering Users, Groups, Roles & Privileges, and Access Rules
  • SpEL: New pages for Calendar Functions, SpEL and Transactions
  • Forms: New pages for Advanced Object, Advanced Array, Selective DataSource Refresh
  • JEXL: Expanded documentation for Comments, JSON Functions, and JSON Validation