Version 2.4
| Type | Area | Description |
|---|---|---|
| Refactor | TSM Forms | Widget Attribute Cleanup: Removed support for the deprecated disabled attribute in widget configurations. An automatic migration script moves existing disabled values to readonly to ensure backward compatibility. |
| Refactor | TSM Forms | Privilege 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 the hidden property, and write privileges to the readonly property, using unified expression language syntax (e.g., ${hasPriv('...')}). |
| Feature | JEXL | Comments Support: JEXL now supports comments within expressions. This allows for better documentation of complex logic using single-line (//) or block (/* ... */) comments. See JEXL Basics - Comments. |
| Feature | TSM Forms | Advanced Object Widget: The dtl-fluent-object widget now supports embedding layout components (e.g., containers, tabs) alongside properties, functioning as both a Property-Based and Layout-Based component. Backward Compatibility: Existing schemas are fully compatible. New functionality can be added via the Form Designer palette; no SQL migration is needed. See Advanced Object. |
| Feature | TSM Forms | Advanced Array Widget: The dtl-fluent-array widget now supports embedding layout components within array items, functioning as both a Property-Based and Layout-Based component. Backward Compatibility: Existing schemas are fully compatible. New functionality can be added via the Form Designer palette; no SQL migration is needed. See Advanced Array. |
| Feature | TSM Forms | Selective DataSource Refresh: Actions now support an optional refreshDataSourcesPayload property allowing selective control over which datasources are refreshed using whitelist or blacklist. See Success / Error Actions. |
| Refactor | TSM Forms | Control ID to Widget Migration: TSM controls are now used as widgets at runtime, enabling the use of widget editors for these controls. This refactoring improves consistency and allows for unified editing experience across all form components. Additionally, the Ticket.Accordions.Description control is now wrapped in its own dtl-fluent-inplace layout for proper rendering, and $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). |
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:
01_remove_disabled_from_widgets.sql02_migrate_privilege_to_widget.sql03_migrate_control_ids.sql04_wrap_description_inplace.sql05_migrate_value_to_context_form.sql