Skip to main content
  • 597 Product updates

Release notes Thinkwise Platform 2026.2.11

Release notes Thinkwise Platform 2026.2.11

Hi everyone, This release includes important security fixes and meaningful improvements across the platform.A cross-site scripting (XSS) vulnerability in the HTML editor has been resolved, and Indicium now exposes a security.txt file to support responsible disclosure. Note that SQL Server 2019 is no longer supported as of this release.The deployment process has been updated to streamline source code generation and execution. The Software Factory now writes separate Install and Upgrade folders, and code files are only shown once the deployment type is known.On the authorization side, administrators can now manage error log access for individual users without granting full administrator rights. Furthermore, administrators can delegate API access to client applications using roles, allowing for more granular control over their access.Several UI improvements make modeling more flexible and intuitive. The IN filter operator is now supported as default filter condition for alphanumeric and numeric fields. Tree views now support pagination, Clear cube view has been added to the action bar, and Model insight has been updated with more debug information and improved focus behavior. Startup time has been reduced through on-demand loading of libraries and components, and you can now navigate between screen components using keyboard shortcuts. This is a short-term support (STS) release of the Thinkwise Platform. STS release support expires as soon as a new release is made available. For example, support for version 2026.1.12 ends when version 2026.1.13 is released. See our Lifecycle policy for information about supported versions. ContentsBefore you upgrade Demo and download Breaking Cross-site scripting (XSS) security vulnerability End of Support for SQL Server 2019 Regenerate definitions and source code New and changed User Interface - Show or hide header and footer in modal screens User Interface - Updated default action order for action bars User Interface - Removed 'Values' tab from cube view sort settings User Interface - Set 'IN' as default filter operator Business logic - Updated column order in 'Functionality' Deployment - Updated source code generation and execution Authorization - Manage API access for client applications Authorization - Manage error log access for users Added 'security.txt' file for Indicium Updated libraries for office file handling Added pagination for tree views Added 'Clear cube view' to action bar Improved 'Model insight' panel and debug values Configure debounce time for lookups Improved datetime filtering Improved sort order in lookup and domain dropdowns Performance optimization for Universal UI Added keyboard shortcut for component navigation Fixed Software Factory and Intelligent Application Manager Indicium Universal UI Data model changes Changes Software Factory Table changes Column changes Changes Intelligent Application Manager Table changes Column changes  Before you upgradeFeatures for the Software Factory and the Intelligent Application Manager are only compatible with this STS version of the Thinkwise Platform. Indicium and Universal UI features are backwards compatible with previous Thinkwise Platform versions, unless otherwise noted.Demo and downloadTry a demo of the Thinkwise Platform here. Download the latest versions of our components here. BreakingCross-site scripting (XSS) security vulnerabilityCross-site scripting (XSS) security vulnerabilities in the HTML editor have been resolved. When an HTML control field was in edit mode and an attacker could influence the displayed data, a JavaScript payload could execute using the user's credentials.While Indicium's Content Security Policy (CSP) helped mitigate the risk, it is strongly recommended that you configure security headers for additional protection. End of Support for SQL Server 2019Support for SQL Server 2019 has ended. To continue using the Thinkwise Platform, upgrade to SQL Server 2022 or higher.For more information, see End of SQL Server 2019 support. Regenerate definitions and source codeAs a result of changes made to source code generation and execution, it is important to regenerate definitions and source code after upgrading to this version of the Thinkwise Platform. This ensures the deployment continues to work as expected. New and changedUser Interface - Show or hide header and footer in modal screensnew Community idea Software FactoryYou can now control whether to show the header or footer in a modal screen. This is useful if you want to use modal screens for custom dialogs, such as a wizard, where the header and footer are not needed.In menu User interface > Screen types, select a screen type and go to tab Form > group Modal size. Select Show header or Show footer to show the header or footer, or clear the checkboxes to hide them.Check the new blog for inspiration on using Wizards with both Tasks and Modal documents in your Applications!User Interface - Updated default action order for action barschange Software FactoryThe default order of the action buttons in an Action bar has been updated to show task, report, and cube view buttons first, followed by the CRUD buttons.Previously, the CRUD buttons were displayed first, then the task, report, and cube view buttons. This would result in the CRUD buttons being displayed in different positions in each screen.This change does not affect existing models, it only applies to new models or when the action bar is reset. The default order can still be modified in the menu Model overview > Branches > tab General settings > tab Default action bar. User Interface - Removed 'Values' tab from cube view sort settingschange Software FactoryThe sort settings for cube views (menu User Interface > Cubes > tab Cube views > tab Sort) have been updated.Cube views and charts now use the setting Show top x. Use this setting to limit the number of category rows displayed in a cube view or chart.Grand totals and sub-totals are always calculated using the full dataset, regardless of the Show top x setting.Additionally, you can now only select Absolute for the setting Type of show top x, which determines how the top rows are displayed. The Percentage option has been deprecated.Finally, the following changes have been made to the tab Cube views:The Values tab has been removed. The sort settings Show top x and Type of show top x have been moved to the tab Categories / Rows. User Interface - Set 'IN' as default filter operatornew Software FactoryYou can now set the IN filter operator as the default filter condition for Alphanumeric and Numeric fields in the Filter pop-up. Users can use this operator to filter data on multiple values at once. For example, users can now filter an order overview to show only orders with the status Pending, Processing, or Shipped.Default filter operators for all subjects can be set in the menu User interface > Subjects > tab Default settings > group Filter. Filter operators for columns of the subject can be set in the menu User interface > Subjects > tab Data > tab Filter. Business logic - Updated column order in 'Functionality'change Software FactoryThe order of the columns in menu Business logic > Functionality has been updated to improve usability. The column Code group is now displayed in front of the Control procedure column. This makes it easier to see which code group a control procedure belongs to. Deployment - Updated source code generation and executionchange Software FactoryWe have updated source code generation and execution to improve the deployment process.Source code generationPreviously, all code files were written to storage when generating source code, regardless of whether the deployment would be an install or an upgrade. You then had to decide afterwards which files to use. The Software Factory now writes separate Install and Upgrade folders. Each folder contains only the code files relevant to that deployment type.As part of this change, the file specifications of all code files in the Thinkwise base models have been updated. The path has been simplified from Source_code\Groups\[code_file_name].sql to [code_file_name].sql. The full path, including the appropriate Install or Upgrade folder, is now constructed dynamically during generation.In addition, code files with the Show at deployment setting disabled are no longer written to storage.Execute source codePreviously, all code files were shown immediately after generating source code. The deployment type was determined only after connecting to the database. Non-relevant files were then deselected and locked, and the create code file was always shown, even when it was not applicable.Now, code files are shown only after a database connection is established. At that point, the deployment type is already known, and only the relevant code files are displayed. The create code file is also no longer shown when an sf_model_info or sf_product_info table is detected, as this indicates an upgrade scenario.After upgrading to this version of the platform, generate definitions and source code before running the next deployment. Authorization - Manage API access for client applicationsnew Intelligent Application ManagerPreviously, for API access for a client application you could either grant No access or Full access. To give you more control, you can now delegate roles to client applications to limit their API access.The following prerequisites must be met to use access delegation for a client application:The user must be allowed to delegate access. To set this up, go to the menu Authorization > Users > tab Form and select the checkbox Allow access delegation. The application must be allowed to delegate access. To set this up, go to the menu Authorization > Applications > tab Form and select the checkbox Allow access delegation.You could already create roles in the Software Factory and assign them to user groups. Now you can use these roles to manage client application access as well.To make roles available for delegation, go to the menu Authorization > Applications > tab Authorization settings > tab Access delegation roles. This tab was previously named tab Personal access token roles and has been renamed. Select the checkbox Available for delegation for each role you want to make available. These roles can be assigned to both Personal Access Tokens (PATs) and client applications.To set up limited access for a client application, go to the menu Client apps > Client applications > tab Form > group Access. In the field API access, select Limited access from the dropdown.Once you have set up limited access, the tab Access delegation roles is added to the screen. In this screen, you can select for each role whether they are:Enabled - This role is available for delegation to the client application. When a client application requests access, the user can select which roles to delegate in the consent screen. Required - This role is required for delegation to the client application. The client application must request this role when requesting access. The user cannot deselect this role in the consent screen, but can still choose to deny access entirely.When a client application with limited access requests access, it has to request scopes. These should be requested in the format {application alias}/{role id}. The supported scopes are the roles that you marked available in Access delegation roles for the client application. These can be found at https://<base_url>/indicium/.well-known/openid-configuration.The scopes that are requested by the client application are shown to the user in the consent screen. Requests on scopes that have been marked as Required cannot be deselected.Users can allow or deny access to a client application using the consent screen.The following settings have also been renamed as part of this update:Default allow PAT is renamed to Default allow access delegation (menu Authorization > Tenants > tab Form). This allows users to manage access delegations by default within a tenant. Allow personal access token creation is renamed to Allow PAT management. This allows users to create, update, and delete PATs.Finally, the Create IAM user and Update IAM user process actions now also include Allow access delegation as an input field. If no value is set for this input field, the value of Allow PAT management is used to preserve the behavior of existing integrations. The OpenID user template has been updated as well to include this setting. Authorization - Manage error log access for usersnew Intelligent Application ManagerPreviously, access to the Error log was limited to main administrators. Users who needed access for troubleshooting had to be given full administrator rights, which also allowed access to all administrative features. This is not always desirable.Instead, you can now manage a user's access to the error log in menu Authorization > Users > tab Administrators > tab Log access. Select a Tenant (if applicable) and a User. To set an access period, select a Begins on and Ends on date.Manage error log access for users in the tab 'Log access'Added 'security.txt' file for Indiciumnew IndiciumIndicium now exposes a security.txt file. This file helps security researchers find the right contact for responsible disclosure of security vulnerabilities.The file is available at:<server>/<indicium>/security.txt <server>/<indicium>/.well-known/security.txtThe email address used in the security.txt file is taken from the field Contact for system issues field in IAM. If no email address is configured, the endpoint returns a 404 error. Updated libraries for office file handlingchange IndiciumThe libraries for reading and creating Excel, PowerPoint, Word, and PDF files have been updated to the latest version. Performance and overall quality has been improved for several components, including the Preview screen component, and Import and Export functionality. Added pagination for tree viewsnew Universal UITreeview screen components now support pagination. If a dataset contains more records than the configured page size, a pagination footer appears at the bottom of the tree view.Users can navigate between pages using the mouse or keyboard shortcuts.Alt + Page Down to go to the next page. Alt + Page Up to go to the previous page. Added 'Clear cube view' to action barnew Universal UIUsers can now use Clear cube view from the action bar to reset a pivot grid. This improves usability as users no longer have to remove each field and clear any cube view filters individually.Clear cube view is unavailable if the cube panel is disabled for the cube. Select Enable cube panel to make the action available in the action bar. For more information, see Create a cube  Improved 'Model insight' panel and debug valueschange Universal UIModel insight has been updated for a better debugging experience. The panel now displays more debug information, with values grouped into dedicated sections. You can hover over task and report buttons to see their details. To copy debug values, use the Copy to clipboard button or select and copy values manually. The checkbox Screen type overlay has been added, allowing you to enable or disable the overlay.Additionally, the focus of Model Insight has been improved. Selecting an action bar, detail tile, chart, pivot grid, pivot grid field list, resource scheduler, or a detail tab page now correctly updates the context in the panel.The keyboard shortcut to open Model Insight has also been changed from Alt + F1 to Alt + F12 (macOS: Option + F12). The updated 'Model insight' panel now shows more debug information Configure debounce time for lookupschange Universal UIYou can now configure the debounce time for the lookup controls Suggestions (contains) and Suggestions (starts with). To do this, add the following properties to the config.json file:{ "searchDebounceTime": 300, "searchDebounceTimeMobile": 600}The default debounce time is 300ms on desktop and 600ms on mobile devices.The settings also apply to the Search in the action bar. Improved datetime filteringchange Universal UIPreviously, entering a date in a Datetime filter automatically filled the time condition with 00:00:00. The time field is no longer filled automatically, making it easier to filter on an entire day. If you do not enter a time in a Datetime filter, it now behaves as a Date filter. To insert the current time, press Space while the time field is focused. Improved sort order in lookup and domain dropdownschange Universal UIWhen typing in a lookup or domain field, dropdown results are now grouped. Results whose label starts with the typed value appear first, followed by options that only contain it elsewhere in the label.Previously, matching options were returned in no particular order, mixing results that started with the typed text together with partial matches.The most relevant option now appears at the top of the list and is automatically highlighted, reducing the number of keystrokes required to make a selection. For example, searching for ro in a country field now shows Romania before Morocco. Performance optimization for Universal UIchange Universal UIPreviously, Universal UI loaded all libraries and components on startup, including those only needed after login or when using a specific feature. To improve the startup time of Universal UI, these libraries and components are now loaded on demand. Features such as drag-and-drop, maps, and the grid and tree screen components may load briefly on first use as their data is fetched in the background. Added keyboard shortcut for component navigationYou can now use keyboard shortcuts to navigate between screen components:F6 to cycle forward through components. Shift + F6 to cycle backwards. Tab to navigate into the individual parts of a focused component. FixedSoftware Factory and Intelligent Application ManagerDB2 When deploying to a DB2 iSeries database that still needed to be created, the code execution screen (menu Deployment > Creation > tab Execute source code) remained empty, and deployment could not be executed. This has been fixed. DB2 Unit test output was not returned reliably when the result included a message, such as a referential integrity error in the mock data. This has been fixed. DB2 Some templates had a leftover parameter that would not be replaced when generating the control procedure. This has been fixed. In a role configuration with rights to the source table and a detail reference but not the target table, the detail reference was incorrectly returned to Indicium as available. This caused an error when loading the subject. This has been fixed. When non-default runtime configurations were added with the same RDBMS type as the default, the RDBMS type would be emptied and caused issues downstream. This has been fixed. Some references from prog_object to child tables were missing their ON DELETE CASCADE. This could leave items where the parent record was removed This has been fixed. When managing procedures in SQL Server and/or DB2 models, the developer was unable to have solely output parameters due to a scoping issue in the Default and Layout logic of subroutine parameters. This has been fixed. When copying or renaming tables or domains, some fields were improperly inserted/updated. This has been fixed.IndiciumImage and file parameters in a staged task or report that were populated by the object's default procedure showed a broken link. Opening the file resulted in a 404 error, and image previews were not displayed. This has been fixed.Universal UIWhen dragging a record with a lookup display value, the dragged item showed the key value instead of the display value. This has been fixed. Filtering on a lookup display column with a data type other than VARCHAR now works as expected. Grid column widths no longer resize when a task or report is opened after a value has been edited in a cell. In Firefox, dropdowns inside grid header filters remained open after closing the filter panel. This has been fixed. When a value in an active record was changed with a process flow, the Universal UI did not wait long enough for the data refresh. This could cause bad_request errors, empty input parameters, or the flow to stop. This has been fixed. When editing code in an external file, sessions could disconnect unexpectedly when you switched between records, changed pages, or switched between open documents. This has been fixed. In task dialogs opened via drag-drop, lookup values in the task parameters now show display values instead of key values. If a user executes an offline task without completing all mandatory fields, the task pop-up reappears so the user can complete the missing fields. However, after the task was reopened, the Execute button remained disabled and the user could not resubmit the task. This has been fixed. Refreshing the browser while in a zoomed detail no longer reopens it as an unfiltered main subject. Error details for network requests that failed with HTTP status '0', for example because the user was offline, are now displayed. On mobile devices, the date picker no longer requires a double tap to open. Fixed an issue where entering a date between 01-01-1753 and 01-01-1900 incorrectly displayed a red error border. When the same node key value appeared on multiple rows, the hierarchy tree did not correctly display all items and nesting. This happened in cases where an item existed under multiple parents or where a group node and a leaf node shared the same identifier. This has been fixed. On a tab panel that contains only detail tab pages, the first visible tab page was not activated and its content was not loaded when other tab pages were hidden by the context stored procedure on document open. This has been fixed. Fixed an issue where lookup values in a form could be edited by double-clicking in a lookup popup while the column type was set to Read-only. Note that solely setting a column to Read-only (menu User interface > Subjects > tab Components) does not offer security, because the lookup column can still be edited through the grid, Mass update, and the Indicium API. Fixed an issue where if you copied and pasted code into the HTML editor it would strip whitespace and new lines. Fixed an issue where selecting a field with a lookup control in Update always used Suggestions (contains) instead of the lookup control specified in the data model. Fixed an issue for Export, where opening the link to the file caused an '404 Not Found' error. Data model changesData model changes for the Software Factory and IAM meta-models are listed here. This overview can be used as a reference to fix dynamic control procedures, dynamic model code or custom validations after an upgrade. Changes Software FactoryTable changesSF - From table SF - To table code_file_code -  Column changesSF - Table SF - From column SF - To column Mandatory Default value execute_source_code - deployment_method 0 - file_storage - use_storage_relative_path 1 1 file_storage_configuration - use_storage_relative_path 0 1 message_broker_message_mqtt_input_parmtr pre_processing pre_processing 1 0 prog_object - selected_for_install 1 1 prog_object - selected_for_upgrade 1 1 prog_object selected - - - prog_object_archive - selected_for_install 1 1 prog_object_archive - selected_for_upgrade 1 1 prog_object_archive - code_file_id 0 - prog_object_archive - order_no 0 - prog_object_archive generated_by_control_proc_id - - - prog_object_type prog_object_prefix - - - prog_object_type prog_object_suffix - - - runtime_configuration rdbms_type rdbms_type 1 - screen_type - modal_show_header 1 1 screen_type - modal_show_footer 1 1 sf_configuration - skip_import_base_data_in_import_model 1 0 sf_configuration - skip_vrs_check_in_import_model 1 0  Changes Intelligent Application ManagerTable changesIAM - From table IAM - To table - openid_client_gui_appl_role - usr_log_access gui_appl_authorization_pat gui_appl_authorization_delegation  Column changesIAM - Table IAM - From column IAM - To column Mandatory Default value col - has_elemnt 0 - gui_appl allow_pat allow_delegation 1 0 iam_file_storage - use_storage_relative_path 0 - openid_client required_consent required_consent 1 1 openid_provider_usr_template - allow_access_delegation_claim_id 0 - openid_provider_usr_template - allow_access_delegation_static_value 0 0 ref - look_up_display_has_elemnt 0 - ref - transl_has_elemnt 0 - report_parmtr - has_elemnt 0 - report_ref - look_up_display_has_elemnt 0 - report_ref - transl_has_elemnt 0 - screen_type - modal_show_header 1 1 screen_type - modal_show_footer 1 1 sf_file_storage - use_storage_relative_path 0 - task_parmtr - has_elemnt 0 - task_ref - look_up_display_has_elemnt 0 - task_ref - transl_has_elemnt 0 - usr_general - allow_access_delegation 1 0  

Related products:Software FactoryIntelligent Application ManagerUniversal UIIndicium Service Tier
End of SQL Server 2019 support

End of SQL Server 2019 support

Hi all,Notice for everyone still using SQL Server 2019 (15.x). Mainstream support by Microsoft has ended July 2025. As per our lifecycle policy, official support for this version will be discontinued in a future release.As it stands, Thinkwise Platform LTS 2026.3 and STS 2026.2.11 will no longer officially support SQL Server 2019 and will require SQL Server 2022 or higher. Note that the current release of the Thinkwise Platform (version 2026.2) still supports SQL Server 2019.Impact on the platform databasesThe Software Factory (SF) and the Intelligent Application Manager (IAM) are planned to leverage T-SQL language features exclusive to SQL Server 2022 and up. The Deployment Center will prevent installation or upgrade of an SF or IAM to version 2026.2.11 and beyond when the SQL Server version is 2019 or lower, or the database compatibility level is equal to or below 150.Impact on product databasesSQL Server product databases running on SQL Server 2019 do not have to be upgraded directly on release of Thinkwise Platform 2026.2.11. However, runtime components with version number 2026.2.* and higher may start using SQL Server 2022 language features on a moment’s notice.Furthermore, Software Factory version 2026.2.11 may not be able to upgrade, deploy or test product databases using SQL Server 2019. To be able to continue development on the product, upgrading to SQL Server 2022+ will be required.The changes in SQL Server version support will be reflected in the lifecycle policy.It is forecasted that the end of support for SQL Server 2022 will be January 2028.

Related products:Software FactoryIntelligent Application ManagerUniversal UIIndicium Service TierUpcycler
Thinkwise Platform 2026.2

Thinkwise Platform 2026.2

This release strengthens the Manufacturing Execution System (MES) capabilities of the Thinkwise Platform with the introduction of MQTT broker capabilities. The MQTT protocol is the de facto Industry 4.0 standard for real-time interaction with machines and sensors, allowing customers to use the Thinkwise Platform for both ERP and MES capabilities in a single solution.Flexibility in deployment options and database technologies is core to our proposition. In preparation for IAM support on Db2 and PostgreSQL, it is now possible to link multiple RDBMS types to a single Software Factory model. Customers can use this to deploy their application on different database platforms or to migrate to PostgreSQL, for which Enrichments support is planned in a later release. In addition, Custom components can now be uploaded directly in the Software Factory, simplifying their deployment, especially in container environments.The Scheduler now offers improved configurability, including a new datetime condition type for cell colors, the ability to display day names and HTML support for activities.Four new IAM user management process actions are now available to create and update users, and assign user groups in IAM directly from an end application. This allows you to manage IAM users without needing to access the IAM, which can be useful for scenarios such as onboarding new employees.While not strictly related to this Platform release, we would like to highlight that the Universal UI now better supports Offline field service scenarios with the introduction of offline data and table tasks.The Software Factory now also supports working in different branches across different browser tabs.A full overview of all the release notes of the Thinkwise Platform 2026.2 is available now! ContentsFixed in Universal UI and Indicium (2026.2.10) Security fix for HTML control in Universal UI Indicium Universal UI  Fixed in Universal UI and Indicium (2026.2.10)The Indicium and Universal UI 2026.2.10 fixes below are backwards compatible with previous Thinkwise Platform versions. Therefore, these fixes are not part of the release notes for Thinkwise Platform 2026.2.  For Indicium and Universal UI version 2026.2.10, the following breaking changes apply:Thinkwise Platform versions older than 2024.3 are no longer supported. Indicium now requires the .NET 10 runtime to be installed. The Slow query log no longer automatically includes data values in log entries.Refer to the breaking section in the Thinkwise Platform 2026.2 release notes for more details. Security fix for HTML control in Universal UISeveral cross-site scripting (XSS) vulnerabilities were identified in TinyMCE, the library that powers the HTML editor in Universal UI. This vulnerability affected subjects including an HTML control field that is in edit mode. An attacker would then have to be able to influence the data displayed in that HTML editor. We have applied the necessary patches to mitigate these vulnerabilities. IndiciumFixed an issue where the Mass update endpoint did not work as expected in a specific context.Universal UIIn a process flow, logging in with the OAuth user login connector without a successor action now closes the pop-up when the login is successful. Previously, in a cube, any dimension or category field with the width set below the minimum of 50px caused the custom widths of all fields to be reset to their defaults. This has been fixed. In a cube view with a datetime domain as a row category and the timezone set to Show as stored, expanding a datetime row produced a 'Bad Request' error. This was caused by a missing timezone identifier in the request. This has been fixed. When auto-refresh with change detection was active, the staged resource of a detail was discarded on every refresh, even when there were no changes. This caused the detail to no longer be editable. This has been fixed. When a tsf_send_message was called in a Change detection control procedure, the message notification appeared twice. This has been fixed. When adding or copying a row in a default-editable grid, selecting a checkbox no longer saves the row immediately. The row now stays in add or copy mode until the user selects Save. When Model Insight was enabled, focus behavior in editable form controls was inconsistent. Controls could receive focus unexpectedly, receive focus twice, or be difficult to focus in the intended state. This has been fixed for radio buttons, signature controls, HTML controls, and form control wrappers, resulting in more predictable keyboard navigation while Model Insight is active. When using multiple detailed time scales at the same time (for example, Month + Day + Hour + Minute), the Scheduler could show collapsed hour headers and missing minute labels. This has been fixed. If the configuration exceeds the rendering limit, the Scheduler now automatically adjusts by widening or removing the finest time scale. A warning is shown in Developer mode. When Labels for lowest timescale is disabled and the second lowest timescale is hours with the lowest being minutes, minute timescale slots are now displayed as virtual slots. Virtual slots are not directly visible, but events can still be dropped, moved, and resized per minute. For more information, see Scheduler views and timescales.

Related products:Software FactoryIntelligent Application ManagerUniversal UIIndicium Service Tier

🚀 Platform improvements for week 23, 2026

Hi everyone!We’ve released the following platform improvements this week: IAM 2026.1.15, 2026.1, 2025.3, 2025.2, 2025.1, 2024.320260604 - Fully prevent overlapping system flow instances When many system flows have schedules that start at the same time, the database may not be able to insert every single instance quickly enough. This results in a pile-up of waiting instances. Once the database can write away these waiting instances, they have already passed the check to prevent overlapping instances, meaning overlapping instances can still occur. Whilst very unlikely to occur, when it does occur, it can disrupt the processes inside your applications. We have ensured that system flows no longer overlap if they are not allowed to. Note: It is recommended to have as few system flows as possible, with a schedule that runs more frequently than every 5 seconds.   SF 2026.1.1520260604 - Always return a primary RDBMS type for a given branch In case the Indicium pool user performs actions where the primary RDBMS type of the user would be read, the underlying function would return NULL if the pool user was not a user inside the Software Factory. This has been fixed. 20260604 - Flag objects of modified tables in smart code generation When performing a Smart upgrade, the flagging of modified object could flag more objects than were necessary. This has been fixed. 20260608 - Make Create table variant task available Due to an oversight, the Create table variant task was unresponsive. This has been fixed.

Related products:Software FactoryIntelligent Application Manager
Release notes Thinkwise Platform 2026.1.15

Release notes Thinkwise Platform 2026.1.15

Since release 2026.1.11, we have introduced a new format for our release notes. You can now find all updates of the Thinkwise Platform, Indicium and the Universal UI in one release blog. This supports our full-stack approach and provides a better overview of the changes in each release.This release introduces significant breaking changes to the data model, affecting the dynamic model, business logic, and validations. These changes are included as preparation for the upcoming Thinkwise Platform 2026.2 release on the 15th of June.Hello everyone,A major highlight of this release is the new Custom components screen in the Software Factory. Custom components can now be uploaded as a .zip file and stored directly in the database, making them available in containerized deployments too. This removes the previous dependency on hosting custom components alongside the Universal UI, significantly broadening where and how custom components can be used.In the Software Factory, you can now configure validations from base models. The Default enabled, Severity, and Allow approval indefinitely values can now be updated for validations that originate from a base model, giving you more control over the validation behavior in your work model without losing the connection to the base model.This release also brings significant improvements to the Universal UI, with an expansion of the offline functionality. Users can now access subjects offline, including viewing tables and executing tasks. This provides more flexibility in how and when users can work in an application, even without an internet connection.The Scheduler has also received notable updates. Activities and tooltips can now display formatted text, including bold titles, icons, bullet lists, and hyperlinks. Additionally, sliding pagination for Quarter and Month timescales now shows extra context at the start of the view.This release includes several preparations for the upcoming Thinkwise Platform 2026.2 release. In the Software Factory, the data model has been updated in preparation for multiple RDBMS type support. The Slow query log now replaces data values with placeholders to prevent sensitive data from being written to the log. Check the breaking changes and data model changes to ensure a smooth upgrade. This is a short-term support (STS) release of the Thinkwise Platform. STS release support expires as soon as a new release is made available. For example, support for version 2026.1.12 ends when version 2026.1.13 is released. See our Lifecycle policy for information about supported versions  ContentsBefore you upgrade Demo and download Breaking Thinkwise Platform 2024.1 - End of Service Life Data model changes in preparation for multiple RDBMS types 'Slow query log' uses placeholders for data values Re-enable offline availability with extended property Check process flows with 'Open document' action 'Grid column width' now displays as configured Read-only password fields now show action button New and changed User interface - Added 'Custom components' screen Quality - Configure validations from base models Added extended property 'MaxStageRowLimit' Updated email library Subjects now available offline Model insight now shows task and report names Improved sliding pagination for the Scheduler Add text formatting to Scheduler activities Improved behavior of 'Open document' action Improved behavior of 'Favorites' and 'Start objects' Invalid date no longer automatically corrected Updated keyboard shortcut for column header filtering Fixed Software Factory and Intelligent Application Manager Indicium Universal UI Data model changes Changes Software Factory Changes Intelligent Application Manager  Before you upgradeFeatures for the Software Factory and the Intelligent Application Manager are only compatible with this STS version of the Thinkwise Platform. Indicium and Universal UI features are backwards compatible with previous Thinkwise Platform versions, unless otherwise noted.Demo and downloadTry a demo of the Thinkwise Platform here. Download the latest versions of our components here. BreakingThinkwise Platform 2024.1 - End of Service Lifebreaking Universal UIAs per our Lifecycle policy, support for by the Universal UI for Thinkwise Platform version 2024.1 has ended and will receive no further updates. Upgrade to Thinkwise Platform 2024.2 or higher. Data model changes in preparation for multiple RDBMS typesbreaking Software FactoryThe Software Factory data model has been updated to prepare for multiple RDBMS type support. This feature is planned for the Thinkwise Platform 2026.2 release.The following areas are impacted: Dynamic model: Query fields have moved from their original tables to _query-suffixed tables. Verify all Dynamic model code to ensure query fields are read from and written to the correct table. Example: A query previously written to tab_prefilter must now target tab_prefilter_query. Validations: Any validation that references a query field in a table must be updated to reference the _query-suffixed version of that table. Business Logic: Control procedures that use SQL assignments with the Delete or Fully controlled strategy and insert into any of the following tables must now include rdbms_type in the insert: - prog_object  - prog_object_parmtr  - prog_object_item  - prog_object_item_parmtr When using the Staged strategy, the Software Factory itself processes the data from the staging tables into the model, allowing the Software Factory to fill in the rdbms_type field for you. Use the following values for rdbms_type: Value RDBMS type 0 SQL Server 1 DB2 iSeries 3 Oracle 4 PostgreSQL  'Slow query log' uses placeholders for data valuesbreaking IndiciumThe Slow query log no longer stores data values in log entries for Thinkwise Platform 2026.1.14 and older. To prevent sensitive data from being written to the log, values are now replaced with ?. For example, filter values, inserted record values, and task parameter values are all logged as ?. The structure of the database statement remains intact, so you can replace the ? placeholders with actual values for troubleshooting.You can control whether the Slow query log stores data values Thinkwise Platform 2026.1.15 onwards. You can do this by enabling or disabling the checkbox Include data in slow query log in the Intelligent application manager (menu Settings > Global settings > group Logging).The Database Event Log in the Debug Center is not affected by this change. It continues to show data values, as it is only visible to the current user for their own session and is not backed by persistent storage.  Re-enable offline availability with extended propertybreaking Universal UIAs a result of making subjects and subject variants available offline, we have added an extended property to toggle this functionality. If you have set up offline availability, set the extended property AllowOfflineExperience to Yes to enable it. If you do not set this extended property, subjects will not be available offline after the upgrade. Check process flows with 'Open document' actionbreaking Universal UIAs a result of updating the behavior of the Open document action with Open as set to Floating, some existing process flows may now behave differently after this release.Check all existing process flows that use the Open document action (menu User Interface > Process flows) with the input parameter Open as set to Floating to ensure they still behave as expected after the upgrade. 'Grid column width' now displays as configuredbreaking Universal UIPreviously, the value entered in the field Grid column width did not match the width being displayed in the Universal UI. A default grid padding of 8px (or 16px in comfortable mode) was added to every column's width, which meant the configured width was not the actual width of the column. Now, columns have the same width as configured in the field Grid column width.This fix may introduce a breaking change for your applications. To ensure everything continues to work correctly:Check all screens in your applications if data is still displayed correctly after the upgrade. If necessary, adjust the Grid column width for your grids to account for the new behavior. Read-only password fields now show action buttonbreaking Universal UIPreviously, the action button for password control fields was only shown in edit mode, regardless of the setting for Show action button (menu Data > Domains > tab Form). Now, password control fields adhere to this setting.The default value for Show action button is Always. This means the action button will be shown for password fields in read-only mode after upgrading. If you do not want this behavior, set Show action button to Never for the domain. New and changedUser interface - Added 'Custom components' screennew Software Factory Universal UICustom components let you extend your application with functionality specific to your organization that is not part of the standard Thinkwise component set. Previously, you could add custom components by placing them in a subdirectory of the Universal UI and referencing that location as a URL segment. In Thinkwise Cloud, this is not possible because running your own containers is not supported.To address this, a Custom components screen (menu User interface > Custom components) has been added to the Software Factory. This screen acts as a repository where each custom component can be uploaded as a .zip file and stored in the database, similar to how icons are managed. For each custom component, you can provide:A Description. A Default entry point, which specifies the file inside the .zip file used to start the custom component (for example, index.html). The 'Custom components' screen in the Software FactoryThe Usage tab shows which tables and table variants use the custom component.At table and table variant level, you can set the Custom component source to Model or External:Model — uses the new repository. Select a custom component via a lookup and specify the Entry point. If the selected custom component has a default entry point defined, it is applied automatically. This can be overridden. You can use {metasource} and {application} variables in the entry point to refer to different versions of the custom component. External — uses the existing URL-based approach. When you upgrade, sources for existing custom component references are automatically migrated to External.At table variant level, you can override the table configuration. This includes whether a custom component is used, which source is applied, and which component is selected. This way, different variants of the same table can use different custom components without affecting each other. Quality - Configure validations from base modelsCommunity idea new Software FactoryYou can now update the Default enabled, Severity, and Allow approval indefinitely values for validations that originate from a base model. You can update these values using the following tasks (menu Quality > Validations > tab Maintenance):Enable/disable validation Enable/disable allow approval indefinitely Update severityOnce you have manually updated a validation, the updated value is shown in the tab Validation configuration. You can filter on the prefilter Has different configuration to easily find validations that have been updated.Custom values are set within the context of the current model and branch, and are not overwritten when the corresponding base model is generated or merged into the work model. They also remain in place when the full definition of the work model is generated. If you want to remove custom values for validations, you can Delete them in the tab Maintenance > tab Validation configuration.As part of this update, a section of the Thinkwise guideline validations has been added to the Validations base model in the Software Factory. This includes validations for column names, domain names, primary key columns, references, table names, screen types, domain controls, icons, prefilters, tab containers, tasks, reports, and control procedures.Once you have configured a validation, the tab 'Validation configuration' becomes availableAdded extended property 'MaxStageRowLimit'new IndiciumCurrently, there is a default limit of 5000 records for actions performed in Indicium, such as deleting records or executing tasks. The extended property MaxStageRowLimit has been added to allow you to increase this default limit. The property can be set with the following values:-1: Actions can be performed on an unlimited number of rows. > 5000: The limit is set to the configured number of records. Not set or < 5000: The default limit of 5000 records is enforced.As part of this update, the error message shown when the limit is exceeded has also been improved. Instead of the generic validation_failed message, the error now indicates that the maximum allowed number of rows has been exceeded.The 5000 record limit is a safeguard against performance and stability issues. Increasing or removing this limit can cause long processing times or crashes. Use this property with caution and monitor your application's performance. Updated email librarychange IndiciumThe email library used by Indicium has been updated to the latest version. Sending emails through the email connector and the Forgot your password link continues to work as before. Subjects now available offlinenew Universal UIWe have expanded the offline functionality in the Universal UI. Users can now access subjects offline, allowing for more flexibility in how and when they can work in an application.Users can:View tables and table variants in a subject Execute table tasks Execute menu tasksTo set up offline availability, set the extended property AllowOfflineExperience to Yes.To make a table or a table variant available offline, select the checkbox Offline available in the menu User Interface > Subjects > tab Default/Variants > tab Settings > tab Components > group Offline. See also, Offline availability and Offline available task for more information.For offline available tasks, configure the following settings:The tasks cannot contain lookups. The tasks will check for mandatory fields but make no other validations. The tasks will not execute application logic for parameter input. This will be done later when the user is online again. The task control procedures should accept all input without throwing errors since a user cannot fix these when synchronizing afterward. All parameters filled through the task should set to Hidden.If you use a task variant or table variant, configure the following settings:All prefilters must be set to Hidden. The following permissions should be disabled: Add, copy, update, delete. Grouping, sorting, and filtering. Import and export. Table tasks, other than the offline available task, should be disabled. Reports should be disabled. Paging should be disabled. Lookups should be hidden (clear the checkbox Show look-up, see Use a column as a lookup. Drag-drop should be disabled (clear the checkbox Def. drag-drop enabled, see Enable drag-drop in a grid by default. The subject can not be used in a cube, map or Scheduler.In an upcoming release, these settings will automatically be disabled when you create a subject variant.This feature introduces some breaking changes, see Re-enable offline availability with extended property.   Model insight now shows task and report namesnew Universal UIWhen selecting fields belonging to a task or report, Model insight now shows the task or report name in a dedicated field. This makes it easier to see which fields belong to a specific task or report. Additionally, parameters for tasks and reports are now labeled Parameter instead of Column.Model insight now shows task and report names, and parameters are labeled 'Parameter' Improved sliding pagination for the Schedulerchange Universal UISliding pagination in a Scheduler provides a sliding window of time around the current date and time. Previously, only the Year timescale showed additional context at the start, with the Scheduler view showing a month before the current month. For Quarter and Month timescales, no extra context was shown at the start of the view.We have now made additional context available for Quarter and Month timescales. The amount of context shown at the start depends on the highest timescale:Quarter or Month: an extra week is shown at the start of the view. Year: an extra month is shown at the start, followed by the full year or years.As part of this update, we fixed an issue where adding a month to the start of the view caused the last month of the final year to be removed. Add text formatting to Scheduler activitieschange Universal UIPreviously, activities in a Scheduler were always displayed as a single line of plain text.You can now add text formatting to activities and their tooltips in a Scheduler, as well as multiple lines of text. This allows for more flexibility in the content and appearance of activities in a Scheduler.To add formatting to an activity, select a domain with a Multiline or HTML control as the Title column of the activity (menu User interface > Schedulers > tab Tables). To add formatting to a tooltip, select a column with an HTML control as the Tooltip column of the activity (menu User interface > Schedulers > tab Default/Variants > group Activity linked columns).See Set up a Scheduler for more information.Multiline and HTML content in a Scheduler activity has no maximum height by default. Activities expand vertically to fit all content. To limit the height of activities, wrap the content in an additional <div> element with a max-height style property. This can be done using a view template or a Calculated column with a HTML control:SELECT '<div class="activity-wrapper" style="max-height:200px; overflow:hidden;" > <style>.activity-wrapper h2 { margin: 0; }</style>' + t1.event_html + '</div>' If multiline or HTML content is used in a Scheduler activity, conditional layout such as font size, strikethrough, and underline will not be applied to the activity. Scheduler activities with HTML-formatted content, including bold titles, icons, bullet lists, and hyperlinksAdd text formatting to Scheduler tooltipsImproved behavior of 'Open document' actionchange Universal UIPreviously, when a process flow used the Open document action with Open as set to Floating, the process flow stopped executing after opening the floating document.The process flow now continues executing inside the floating document. This can be used, for example, to jump to a specific record or to filter the data.When the process flow triggers the Close document action, the floating browser window closes and execution continues in the document behind.The document behind the floating document is not locked, which means the user may have changed or closed it in the meantime. To avoid unexpected behavior, open the subject from scratch and store the active content in process flow variables. Alternatively, reactivate the document before continuing the process flow.This change introduces some breaking changes for existing process flows that use the Open document action with Open as set to Floating. See Check process flows with 'Open document' action for more information. Improved behavior of 'Favorites' and 'Start objects'change Universal UI main administratorWe have improved the behavior of Favorites and Start objects to better reflect their different purposes.Previously, you could configure Start objects for a user in IAM. These objects would automatically start when opening the application. We have renamed start objects for a user to Favorites and changed its behavior. Menu items marked as Favorite are no longer automatically started. Instead, the Favorites group is now expanded by default.Administrators can still configure Start objects for user groups in IAM. These still work as before and start automatically on startup. To align with their behavior, these objects are no longer shown in Favorites. Invalid date no longer automatically correctedchange Universal UIPreviously, when a user would type an invalid date in a date field (for example, 02-30-2026), the Universal UI would automatically correct this to a valid date (in this case, 03-02-2026). This could occur without the user noticing, potentially leading to incorrect dates being saved. Now, if the user enters an invalid date, the field is highlighted with a red border and an error message is shown to indicate that the date is invalid. The date must be corrected before the user can save the form.If an invalid date is entered, the field is highlighted with a red border and 'the value for Date is invalid' is shownUpdated keyboard shortcut for column header filteringchange Universal UIPressing Ctrl + Enter now applies the filter and closes the filter popup when using Excel-style filters in a grid column header. Filters that already closed using Enter alone, such as date time filters, can still be applied with or without pressing Ctrl. FixedSoftware Factory and Intelligent Application ManagerDB2 In DB2 models, each code file previously started with a set schema and set path statement. These statements were always based on the database configured in the default runtime configuration, even when connecting through a different runtime configuration. As a result, code could unintentionally be executed against the wrong database. This has been fixed by removing the set schema and set path statements from the start of code files. The provision_db process action during installs and the application_connector process action during upgrades already set the correct schema and path, making these statements redundant. The task Update Active Directory group in IAM (menu Authorization > User groups) assigned the old language code for English to newly imported users from the active directory group. This has been fixed. New users will receive the en-US language code. When setting up a custom action bar, including and then excluding an action via edit-in-grid could clear mandatory fields. This prevented you from saving the record. This has been fixed. Previously, setting a tab page icon required uploading a file separately. You can now select it from the central repository in the Software Factory, similar to other places in the Software Factory where icons are used. The task Assign rights in Roles is now a primary action (menu Access control > Roles). IndiciumIf an expression field was set to Editable and Mandatory, the mandatory check was not performed. This has been fixed.Universal UIFor grids:When filtering in a grid column header, translation objects of domain elements were not displayed correctly. This has been fixed. When filtering in a grid header that used a lookup with domain element translations, the translations were not displayed correctly. This has been fixed. Fixed an issue where switching rows in a grid while the form was in edit mode and Auto-save was enabled, the form would not update to display the data of the newly selected row. When switching between rows in a grid, the Universal UI would start loading data for a detail tab before context logic had finished executing. If the context logic caused the active tab to become hidden, the data request could be processed against an invalid context, resulting in data-type errors. This has been fixed.For pivot grids:When all categories or rows in a pivot grid were expanded by default, the tree expanded slowly on screen. We have optimized the performance of pivot grids to fix this issue. Fixed an issue where the Universal UI could crash if you sorted on a date (part) in a pivot grid.For Schedulers:Font size, strikethrough, and underline font styling are now applied to Scheduler activities. Scheduler activities containing HTML content will not apply these decorations or font sizes. Scheduler events now return to their original position, if a user attempts to drag items that have no update permissions. When a hierarchical Scheduler had an ID containing double quotes ("), expanding the corresponding level would cause the Scheduler to freeze. This has been fixed.For process flows:Fixed an issue where a process flow would stop after using the Close all documents process flow action. The Change filters process action now no longer hangs when used in a process flow on a document that starts empty with filter.Other fixes:Fixed an issue where resizing the browser window to a smaller size and then back to a larger size, could cause task popups containing a Code diff editor control to slowly grow back to their original size instead of resizing instantly. A task popup containing a Signature control could shrink in size after opening. This has been fixed. Improved the Treeview performance for large datasets. Model insight is now deactivated if the session expires or the user logs out. When a request to Indicium fails due to a URL path segment longer than 260 characters, an error message is now displayed: For users: 'The request URL contains segments which are too long. Please contact your system administrator.' For developers: 'The request URL contains segments which are possibly too long. The longest segment was [segment length].' Trailing whitespaces are now stripped from lookup values in Form. This aligns with the default display behavior of values in the Universal UI. The Maps component now adheres to the zoom limits defined per layer and overlay, so zooming in and out stays within the range intended for each map style. When a map opens or is navigated to via a process action, the zoom level is automatically adjusted to stay within the supported range for the active layer. If the data used for an Import contained a period ('.'), the data preview would not display the data correctly. This has been fixed. When uploading a file or image through a task that had a confirmation pop-up, a 422 error occurred and the file was not uploaded. This has been fixed. The Switch branch did not automatically execute in the Software Factory in the Universal UI. This has been fixed. Data model changesData model changes for the Software Factory and IAM meta-models are listed here. This overview can be used as a reference to fix dynamic control procedures, dynamic model code or custom validations after an upgrade.Changes Software FactoryTable changesSF - From table SF - To table - branch_rdbms_type - col_data_sensitivity_query - col_query - cube_field_query - custom_component - data_migration_col_query - data_set_query - dom_input_constraint_query - dom_query - dttp_conv - indx_query - message_broker - message_broker_message - message_broker_message_input_parmtr - message_broker_message_mqtt - message_broker_message_mqtt_input_parmtr - message_broker_message_mqtt_output_parmtr - message_broker_message_mqtt_usr_property - message_broker_message_output_parmtr - message_broker_mqtt - message_broker_mqtt_configuration - message_broker_mqtt_version - model_vrs_data_migration_col_query - process_action_message_broker_message_input_parmtr - process_variable_query - report_parmtr_query - report_variant_parmtr_query - tab_check_constraint_query - tab_data_col_query - tab_prefilter_query - tab_query - tab_variant_col_query - task_parmtr_query - task_variant_parmtr_query - unit_test_query - validation_configuration dttp_conv -  Column changesSF - Table SF - From column SF - To column Mandatory Default value branch db_prog_lang_id db_prog_lang_id 0 - code_file - rdbms_type 1 - code_file_code - rdbms_type 1 - code_search_result - pk_col_5 0 - col default_value_query - - - col view_col_id - - - col calculated_field_query - - - col_data_sensitivity expression - - - cube_field formula - - - data_migration_col default_value_query - - - data_migration_col history_default_value_query - - - data_set preparation_query - - - dom prog_lang_id - - - dom dttp_id - - - dom length - - - dom prec - - - dom dttp - - - dom user_defined_dttp - - - dom allocate_length - - - dom min_value - - - dom max_value - - - dom default_value_query - - - dom_input_constraint constraint_expression - - - drag_drop - drop_date_time_task_parmtr_id 0 - dttp - rdbms_type 1 - dttp prog_lang_id - - - execute_object_code_log - rdbms_type 1 - execute_object_code_step - rdbms_type 0 - execute_object_code_step - prog_object_id 0 - execute_source_code_step - rdbms_type 0 - generate_object_code_step - rdbms_type 0 - generate_object_code_step - prog_object_id 0 - indx indx_where_clause - - - model rdbms_type - - - model_settings fallback_appl_lang_id fallback_appl_lang_id 0 en-US model_vrs_data_migration_col default_value_query - - - model_vrs_data_migration_col history_default_value_query - - - post_sync_code - rdbms_type 1 0 process_action - message_broker_id 0 - process_action - message_broker_message_id 0 - process_action_output_parmtr - message_broker_id 0 - process_action_output_parmtr - message_broker_message_id 0 - process_action_output_parmtr - message_broker_message_output_parmtr_id 0 - process_variable default_value_query - - - prog_object - rdbms_type 1 - prog_object_archive - rdbms_type 1 - prog_object_item - rdbms_type 1 - prog_object_item_parmtr - rdbms_type 1 - prog_object_parmtr - rdbms_type 1 - report_parmtr default_value_query - - - report_variant_parmtr default_value_query - - - runtime_configuration - rdbms_type 0 - scheduler_view - day_label_format 1 0 screen_component - tab_page_icon_id 0 - screen_component tab_page_icon - - - screen_component tab_page_icon_data - - - tab - custom_component_source 0 - tab - custom_component_id 0 - tab - custom_component_entry_point 0 - tab view_schema_id - - - tab view_from_clause - - - tab view_where_clause - - - tab view_grp_by_clause - - - tab view_having_clause - - - tab_check_constraint check_constraint - - - tab_data_col value_query - - - tab_prefilter query - - - tab_variant - apply_custom_component 1 0 tab_variant - custom_component_source 0 - tab_variant - custom_component_id 0 - tab_variant - custom_component_entry_point 0 - tab_variant apply_custom_component_ref - - - tab_variant_col default_value_query - - - tab_variant_scheduler_view - day_label_format 1 0 task_parmtr default_value_query - - - task_variant_parmtr default_value_query - - - template_prog_object_item - rdbms_type 1 - template_prog_object_item_parmtr - rdbms_type 1 - unit_test preparation_query - - - unit_test assertion_query - - - usr - primary_rdbms_type 0 - write_code_files_to_disk_job_step - rdbms_type 0 - write_code_files_to_disk_job_step - code_file_id 0 - write_prog_objects_to_disk_job_step - rdbms_type 0 - write_prog_objects_to_disk_job_step - prog_object_id  Changes Intelligent Application ManagerTable changesIAM - From table IAM - To table - branch_rdbms_type - col_query - cube_field_query - cube_field_query_dependency - custom_component - dom_input_constraint_query - expression_query_dependency - iam_message_broker_mqtt - process_variable_query - report_parmtr_query - report_variant_parmtr_query - role_custom_component - sf_message_broker - sf_message_broker_message - sf_message_broker_message_input_parmtr - sf_message_broker_message_mqtt - sf_message_broker_message_mqtt_input_parmtr - sf_message_broker_message_mqtt_output_parmtr - sf_message_broker_message_mqtt_usr_property - sf_message_broker_message_output_parmtr - sf_message_broker_mqtt - subroutine_parmtr_query - tab_prefilter_query - tab_prefilter_query_dependency - tab_variant_col_query - task_parmtr_query - task_variant_parmtr_query cube_field_dependency - expression_dependency - tab_prefilter_dependency - usr_open_id -  Column changesIAM - Table IAM - From column IAM - To column Mandatory Default value col default_value_query - - - col calculated_field_type - - - col calculated_field_query - - - col dttp_id - - - col xml_dttp_id - - - col length - - - col prec - - - col min_value - - - col max_value - - - cube_field formula - - - dom_input_constraint constraint_expression - - - drag_drop - drop_date_time_task_parmtr_id 0 - global_settings - enable_slow_query_log 1 1 global_settings - include_slow_query_log_data 1 0 global_settings slow_query_threshold slow_query_threshold 0 200 process_action - message_broker_id 0 - process_action - message_broker_message_id 0 - process_variable default_value_query - - - process_variable dttp_id - - - process_variable xml_dttp_id - - - process_variable length - - - process_variable prec - - - process_variable min_value - - - process_variable max_value - - - report_parmtr default_value_query - - - report_parmtr dttp_type - - - report_parmtr dttp_id - - - report_parmtr xml_dttp_id - - - report_parmtr length - - - report_parmtr prec - - - report_parmtr min_value - - - report_parmtr max_value - - - report_variant_parmtr default_value_query - - - scheduler_view - day_label_format 0 - subroutine_parmtr dttp_type - - - subroutine_parmtr dttp_id - - - subroutine_parmtr xml_dttp_id - - - subroutine_parmtr length - - - subroutine_parmtr prec - - - subroutine_parmtr min_value - - - subroutine_parmtr max_value - - - tab - custom_component_id 0 - tab - custom_component_entry_point 0 - tab_prefilter query - - - tab_variant - custom_component_id 0 - tab_variant - custom_component_entry_point 0 - tab_variant_col default_value_query - - - tab_variant_scheduler_view - day_label_format 0 - task_parmtr default_value_query - - - task_parmtr dttp_type - - - task_parmtr dttp_id - - - task_parmtr xml_dttp_id - - - task_parmtr length - - - task_parmtr prec - - - task_parmtr min_value - - - task_parmtr max_value - - - task_variant_parmtr default_value_query -  

Extra release - Universal GUI 2026.1.14.1
Release notes Thinkwise Platform 2026.1.14

Release notes Thinkwise Platform 2026.1.14

Since release 2026.1.11, we have introduced a new format for our release notes. You can now find all updates of the Thinkwise Platform, Indicium, and the Universal UI in one release blog. This supports our full-stack approach and provides a better overview of the changes in each release.Hello everyone,This release brings several noteworthy improvements to the Universal UI and the Software Factory. You can now update all data in a grid using the renewed Update wizard, making bulk data updates faster and more intuitive. We have also added a None action type for reports, allowing you to use a report button as the starting point for a process flow. For developers, refreshing the model no longer triggers pop-ups related to unsaved changes or edit mode in Developer mode, streamlining the development process.For users who work across sessions, the Universal UI now automatically restores open documents after a model refresh, so you can pick up where you left off. The Universal UI now automatically detects connection loss and switches between online and offline mode, improving the experience for users with unstable internet connections. In addition, filtering improvements from 2026.1 are now available for older platform versions so that more users can benefit from the extended filtering capabilities.This release includes breaking changes, such as a rolled back DB2 .NET Core driver version and an updated syntax for refreshModel=true in the URL. Check the breaking changes and the data model changes to ensure a smooth upgrade. This is a short-term support (STS) release of the Thinkwise Platform. STS release support expires as soon as a new release is made available. For example, support for version 2026.1.12 ends when version 2026.1.13 is released.See our Lifecycle policy for information about supported versions. ContentsBefore you upgrade Demo and download Breaking Rolled back the DB2 .NET Core driver version Updated syntax for 'refreshModel=true' Filtering is available for older platform versions New and changed Processes - Report action type 'None' added Updated NuGet package for Oracle Update all data in a grid Editable 'Barcode scanner' control in a grid Keyboard navigation for 'Card list' Open documents restored after refresh Updated 'Refresh model' behavior for Developer mode Reorder menu items in 'Favorites' Improved experience for offline mode Improved advanced filtering Improved login behavior Hide any grid column in user preferences Improved contrast for buttons in advanced filter Fixed Software Factory and Intelligent Application Manager Indicium Universal UI Data model changes Before you upgradeFeatures for the Software Factory and the Intelligent Application Manager are only compatible with this STS version of the Thinkwise Platform. Indicium and Universal UI features are backward compatible with previous Thinkwise Platform versions, unless otherwise noted.Demo and downloadTry a demo of the Thinkwise Platform here. Download the latest versions of our components here. BreakingRolled back the DB2 .NET Core driver versionbreaking Indicium DB2Due to an IBM bug in the DB2 .NET Core driver, we rolled back from version 9.0.0.400 to version 8.0.0.511. If you are using Indicium with a DB2 .NET Core driver, you must use this version.To ensure everything continues to work as expected:Download DB2 .NET Core driver version 8.0.0.511. You can only use this driver if you have a valid license. Update the clidriver folder in Indicium with the new files.For more information, see Use DB2 .NET Core drivers. Updated syntax for 'refreshModel=true'breaking Universal UIIn a previous release, we noted that you can use refreshModel=true in the URL to automatically refresh the model when the Universal UI is loaded. We have updated its syntax to use a path segment (/) instead of a query parameter (?). This makes the parameter consistent with other routing parameters in the Universal UI.Before, the URL would look like this: https://myuniversalui.com/universal/#application=myAppl?refreshModel=true. Now, the URL should be: https://myuniversalui.com/universal/#application=myAppl/refreshModel=true.To ensure everything continues to work as expected:Update any URLs in your model that use refreshModel=true to the new syntax to ensure they continue to work as expected. refreshModel=true is only recognized as the final path segment in the URL; placing it mid-URL has no effect. Filtering is available for older platform versionsnew Universal UIbreakingIn previous releases, we extended the filter capabilities for the Universal UI, but these were only available for Thinkwise Platform 2026.1 and higher.We have now made the following filtering capabilities available for all supported older platform versions:Filtering on date intervals Cube view filters available in the 'Filter' pop-upCheck the lifecycle policy for more information about supported versions.The following limitations apply: For saving filters as a prefilter, Date(time) columns with an Interval type other than Date and time are not saved as a prefilter. For example, filters with a Year, Quarter, or Month interval type are not saved. For saving filters as a custom cube view, only In and Equal to operators are supported. The following filter settings are not saved: Column filters that do not match a predefined or model cube field. Column name and (group) interval type are used for matching. Reference filter conditions. Advanced filters, other than All of the following filter group. Column filters with an IN operator filtering empty values. Filters will remain active if the user saves them, but are not restored when the subject is refreshed.As part of this update, we have included default translations for interval filtering in English and Dutch for older platform versions. From Thinkwise Platform 2026.1 onwards, these translations are added to your model. This allows you to add translations for additional languages if needed.Breaking: When a subject contains a cube definition, the filters from the first active cube view will be applied to the subject’s data, regardless of which components are available in the screen type. New and changedProcesses - Report action type 'None' addednew Software Factory IndiciumWe have added support to set a Report action to None. If a report action is set to None, no report will be generated. This works similarly to setting a Task logic type to None for a task. This option allows you to use a report button as a starting point for a process flow. This is especially relevant when replacing the deprecated TSFReportMailer with the Thinkstore Reporting Service. Updated NuGet package for Oraclechange Indicium OracleWe have updated the Oracle.ManagedDataAccess.Core NuGet package from version 3.21.130 to version 23.26.200. This update does not include breaking changes. Update all data in a gridnew Universal UIYou can now update the entire dataset in a grid using Update from the overflow menu. Previously, updating data was limited to the current page.As part of this update, we have redesigned the Update wizard to align with the Import and Export wizards. To update all data, select whether to update Selected rows or All rows. In the next step, select the fields using the dropdown and specify the new value for each field. Finally, review your changes in the summary step and select Update to apply the changes.Select new values for the fields you want to updateEditable 'Barcode scanner' control in a gridnew Universal UIYou can now also edit fields in a grid with a Barcode scanner control. The barcode and virtual keyboard icons have also been vertically centered for better readability. Keyboard navigation for 'Card list'new Universal UIWe have improved keyboard navigation in the Card list screen component to make it easier to navigate between cards using the keyboard.You can now use ↑ and ↓ to move to the previous or next card in the list. You can now use Shift + Tab to navigate to the previous card. If you press Tab on a card's overflow menu, the focus now moves directly to the next card instead of automatically focusing the next card's overflow menu. When you open a card's overflow menu, the focus is now automatically set to the first menu item. Pressing Enter or Space on a menu item will activate that item and close the overflow menu. When you return to a Card list via keyboard navigation, the focus is now automatically restored to the previously active card. Open documents restored after refreshnew Universal UIIf a model refresh is triggered, the Universal UI now automatically restores previously open documents and refocuses the active document after the page reloads. Up to ten of the most recently used open documents are restored, and only those associated with the current application are included. Start objects are not reopened if the model is refreshed.The Client-Instance-Id session variable persists across the model refresh, allowing Indicium to correlate requests from the same browser tab before and after the page reload.If the browser is manually refreshed (F5 / Cmd + R), open documents are not restored, and a new session is started. Updated 'Refresh model' behavior for Developer modechange Universal UIIn Developer mode, refreshing the model no longer triggers pop-ups related to unsaved changes or edit mode.Refresh model now cleans up any staged resources and reloads the model without any confirmation dialog. This streamlines the development process by allowing you to quickly refresh the model without interruptions. Reorder menu items in 'Favorites'new Universal UI 2026.2+You can now reorder menu items in the Favorites menu group by dragging them to the desired position. Improved experience for offline modechange Universal UIPreviously, it was possible to use offline menu tasks in the Universal UI. This allowed users to use tasks from the menu when an internet connection was lost or unavailable. Users had to manually select Go offline or Go online to switch between these modes.Offline mode is now automatically enabled when the Universal UI detects no internet connection. If the connection is restored, the Universal UI automatically switches back to online mode and synchronizes any changes made while offline. If any errors occur, they are listed in the profile menu > Offline status.Offline tasks have several restrictions, these limitations apply to both online and offline mode. Improved advanced filteringchange Universal UIWe have made several improvements to the advanced Filter pop-up that improves overall usability.When you open the advanced filter, the focus is set to Add field and the default Value is set to All of the following. When you add a Group condition, the focus shifts to the Add field in the newly created group. When you delete a Group, the focus shifts to the Add field button of the parent. If all fields in a group are deleted, the focus shifts to the Add field button of the parent. When an operator is selected for a field, the focus shifts to the field Value. Improved login behaviorchange Universal UIIn the Indicium 2026.1.10 release, we set AlwaysDeferLogin to true by default, forcing the Universal UI to defer to Indicium for login. This has been done to improve security and offer additional login options, such as multi-factor authentication with OAuth.In some situations, the Universal UI would still show the Universal login form with username and password fields, instead of the Indicium login form. This could also occur after a login error. We have improved this behavior. The Universal UI now consistently shows the Indicium login form when AlwaysDeferLogin is set to true in appsettings.json. If AlwaysDeferLogin is set to false, then the Universal login form is shown instead.In addition, changing the Indicium URL now gives the user a quicker response when an incorrectly typed URL is entered. Hide any grid column in user preferenceschange Universal UIPreviously, users with the Column visibility user preference could only hide grid columns that were set to Read only (Subject > Grid settings) in the Universal UI. Users can now hide any column, regardless of the underlying column settings. This behavior now matches the Windows GUI.This setting is available by default if you upgrade to the Thinkwise Platform 2026.1.14. For older versions, install the hotfix 20260423 - Hide any grid column via UP.sql Improved contrast for buttons in advanced filterchange Universal UICertain color combinations in a theme could cause buttons in the advanced filter to have insufficient contrast. The Universal UI now checks the contrast of these buttons and automatically adjusts their color if the contrast is too low. This ensures readability and accessibility of the buttons in the advanced filter across all themes.Before, buttons with insufficient contrast could be hard to readNow, button colors are automatically adjusted to ensure sufficient contrast and readabilityFixedSoftware Factory and Intelligent Application ManagerThe validation 'Conditional layout has no values' checks to see if conditional layouts changed the background color or font color, but did not check for other settings. The validation now also checks the value for bold, italic, underline, strikethrough, and font size. Due to oversight, dots were stripped from the extended property ID. This resulted in developers being unable to add extended properties that add session variables. This has been fixed. When creating a Deployment package, the Meta version listed in the generated Manifest would incorrectly be appended with a dot. This would result in an error when the application is deployed using the Thinkwise Deployment Center. This has been fixed. The tsf_optimize procedure did not place brackets around all object names mentioned in its code. This could lead to an error upon execution. This has been fixed in the tsf_optimize procedure. When upgrading the SF to a new version, the application layer of the SF in IAM would have its sequence number increased by 10. This could cause the SF to no longer be the first application when you start up, and instead open another application that has a lower sequence number. This has been fixed; the SF will keep the same sequence number upon upgrading.IndiciumOptimized the Redis health check to improve the performance and stability of the /health endpoint. Indicium now no longer allows saving a record while an upload is in progress. This prevents possible issues with concurrent uploads and saves. Fixed an issue where clearing the cache could cause Indicium to crash in environments with overlapped IIS recycling or multiple running instances of Indicium in Azure. On Azure, Indicium now uses an instance-specific temporary folder for caching instead of a shared cache folder. In some cases, if a column in a subject was used in a context procedure and the user had no rights to that column, users could not execute tasks on multiple selected rows. This has been fixed. If an application model contained Execute user subflow process actions that formed a loop, for example, A calling A, or A calling B which then calls A, Indicium would crash when loading the application model. This has been fixed. The creation of file_id and E-Tag values for the file download and preview APIs of database storage configurations has been improved. The method to create the file hashes has been made consistent across all database platforms, meaning that file_id and E-Tag values are the same for identical files on SQL Server, PostgreSQL, DB2, and Oracle. Furthermore, the performance has been greatly improved for DB2 and slightly improved for SQL Server and PostgreSQL (Oracle is unchanged). This change means that the file_id values will change, so if you have hardcoded download or preview URLs with a file_id=xyz parameter, then these URLs need to be updated. For the Universal UI, there is no notable impact aside from the existing browser cache being invalidated and cached files needing to be redownloaded once.Universal UIImprovements for default editable grids:Auto refresh now works in default edit mode. You can now select multiple consecutive rows using the keyboard shortcut Shift + ↑ or Shift + ↓. In edit mode in a grid, the functionality of the keyboard shortcut Ctrl + A has been improved: Using this shortcut once will select all the content in the current cell. This allows you to edit the cell content quickly by overwriting it or copying it. If the full value in the cell is already selected, using this shortcut again will select all rows in the grid. If you use this shortcut again, the focus is no longer on the cell content but on the grid. Any changes made to the cell are saved before the focus is removed. Previously, if the multirow selection was disabled, you could still select multiple rows using Ctrl + A. This has been fixed. Fixed for process flows:In some cases, if an Open document process action had the input parameter Try use an existing document, the document_id was not given as an output parameter. This could especially occur if an open document was reactivated. This has been fixed. Fixed an issue where process flows would stop after a Close document process action. This could occur if the document was not opened as a modal document or if there was no document behind the closed document. Fixed an issue where a process flow with an Open document process action would only continue after switching rows or after refreshing the subject. This could happen if a task was executed on an unrelated detail, where the parent subject was empty or hidden.Fixed for cubes:Fixed an issue where a pie chart would always display values as a percentage, even if Show percentage was disabled (menu User Interface > Cubes > Cube views > Chart settings). Editable pivot tables with Show total for rows disabled and Show grand total for rows enabled, would not update the row grand totals and sibling values. This has been fixed. If a pivot table with a detail was opened in a pop-up, the detail would initially display the wrong record. This has been fixed. Fixed an issue where a chart used as a detail would briefly show incorrect data when you switched focus to another active record in the main subject. This has been fixed.Other fixes:Items in the action bar are no longer duplicated in the overflow menu after resizing the screen. The overflow menu now updates correctly. Fixed an issue where the code editor would sometimes show no code after viewing a program object with an error in the Software Factory. Fixed an issue where checkboxes would be set to Unknown when adding them to a grid, even if the default settings were set to On or Off. Added a tooltip including the keyboard shortcut Alt + F5 to the Refresh button in the action bar. Fixed an issue where if a user executed a task with a task parameter and a message that displays audio, the audio would not play. Improved badge updating behavior for the Open documents and Favorites menu groups. In a Scheduler, Auto refresh is now temporarily suppressed if the user is dragging an event onto a time cell. This improves the user experience and prevents the event from being reset to its original time slot during dragging. In some cases, when double-clicking a detail tab, the breadcrumbs could display '[object Object]' instead of the actual name of the detail. This has been fixed. If a lookup had a domain with elements set as its Display column, filtering in the control would be based on the database values instead of the translations of the domain elements. This has been fixed. Tab container, Detail tiles, Task tiles, and Report tiles screen components are now hidden from the user interface if they have no content, instead of showing empty space. Screen components may have no content, for example, if the context changes and there are no values to show, or if the user does not have access to the content. The screen components will reappear when there is content to show. Fixed an issue where the Barcode control did not automatically commit changes if the last visible field in a task pop-up had a '[col_id]_type' set to '-2'. When editing in an HTML control, the Save button is now enabled. Previously, it would only enable after the focus was moved away from the HTML control. If there is only one option available in the Import wizard, it is now automatically selected. For example, for a subject with only Update permissions, Only update existing rows is now automatically selected. Previously, changes made to a user-defined prefilter in Own prefilters would result in an error. This has been fixed. Data model changesThere are no data model changes in this release.

Related products:Software FactoryIntelligent Application ManagerUniversal UIIndicium Service Tier
Release notes Thinkwise Platform 2026.1.13

Release notes Thinkwise Platform 2026.1.13

Since release 2026.1.11, we have introduced a new format for our release notes. You can now find all updates of the Thinkwise Platform, Indicium, and the Universal UI in one release blog. This supports our full-stack approach and provides a better overview of the changes in each release. Hello everyone,This update includes several quality-of-life improvements for the Software Factory and the Universal UI.You can now have multiple tabs with different models and branches in the Software Factory, making it easier to work on multiple projects at the same time.Additionally, you can now add parameters to translation labels in the Universal UI, enabling dynamic and informative labels that adapt to the displayed data.We have also improved the behavior of copying unit tests and role management for process flows with subflows, as well as several layout and contrast improvements to the Universal UI.Debugging is now easier with support for parameter values in the Debug Center.We have also updated the file upload API in Indicium to allow for more efficient file uploads.Finally, users can now view cube view filters in the Filter pop-up and import CSV data from the clipboard into grids in the Universal UI. This is a short-term support (STS) release of the Thinkwise Platform. STS release support expires as soon as a new release is made available. For example, support for version 2026.1.12 ends when version 2026.1.13 is released.See our Lifecycle policy for information about supported versions. Thinkwise Platform version 2026.1.13ContentsThinkwise Platform version 2026.1.13 Before you upgrade Demo and download Breaking Filter cube views with the 'Filter' pop-up New and changed Models - Active model and branch are now bound to browser tabs Models - Added 'Reset merge conflicts' task Quality - Improved behavior when copying unit tests Access Control - Improved role management for process flows with subflows Parameter values now displayed in Debug Center New session variable for browser tabs Updated file upload API in Indicium Add parameters to translation labels Import CSV data from clipboard into grids Added support for 'Column width' user preference 'Refresh model' moved next to profile menu Only reachable details shown in 'Detail settings' user preference Fixed Software Factory and Intelligent Application Manager Indicium Universal UI Data model changes Changes Software Factory Table changes Column changes Changes Intelligent Application Manager Table changes Column changes Questions or suggestions?Before you upgradeFeatures for the Software Factory and the Intelligent Application Manager are only compatible with this STS version of the Thinkwise Platform. Indicium and Universal UI features are backwards compatible with previous Thinkwise Platform versions, unless otherwise noted.Demo and downloadTry a demo of the Thinkwise Platform here. Download the latest versions of our components here.BreakingFilter cube views with the 'Filter' pop-upbreaking Universal UInew 2026.1+You can set up filters for cube views in the menu User Interface > Cubes > tab Cube views > tab Filter in the Software Factory. These filters would be applied in the Universal UI but were not available to users.Cube view filters are now available in the Filter pop-up in the Universal UI for the corresponding cube view. This allows users to view, modify or combine them with other filters in the Universal UI.If a user selects a different cube view, the filters are replaced by the filters of the newly selected cube view. Modified filters are carried over to the new cube view if they are still valid for that cube view.Applied filters will now be saved as part of a new cube view by selecting *Save as cube view* from the overflow menu. To save their own cube views, in IAM, the user preferences configuration must be set to Complete. For finer control, you can select Custom cube views in the menu Authorization > Users > tab Form > group User preferences > group Cube settings to allow users to save cube views without giving them access to all user preferences.This feature is supported for Thinkwise Platform 2026.1 and higher. Support for older platform versions will be added later.Breaking: When a subject contains a cube definition, the filters from the first active cube view will be applied to the subject’s data, regardless of which components are available in the screen type.New and changedModels - Active model and branch are now bound to browser tabschange Software Factory 2026.1.13+Previously, in the Software Factory, the chosen model and branch would depend on the authentication session. If you opened multiple tabs in the same browser (or multiple PWA instances), they would load the same model and branch. This resulted in unexpected behavior, since switching branch would not close all documents in other tabs.We have improved this behavior, so the active model and branch is now bound to the current browser tab. Opening a new tab prompts you to select a model and branch. Additionally, switching branch no longer affects other tabs.This update is part of our efforts to improve support for multiple tabs in the Universal UI and the Software Factory. Since sessions are now bound to browser tabs, you can use this to your advantage for your applications as well. For example, you can bind the chosen administration, company, business unit, workspace or search result for a user to a browser tab using the tsf_client_instance_id session variable. This allows users to work with different contexts in different tabs. See also New session variable for browser tabs.This feature is supported for Thinkwise Platform 2026.1.13 and higher. Models - Added 'Reset merge conflicts' tasknew Software FactoryPreviously, it was not possible to reset a merge conflict after resolving it in the Software Factory. If you wanted to change how a conflict was resolved, you had to manually undo the changes made to resolve the conflict.To improve this process, we have added the task Reset merge conflict in the menu Models > Merging > tab Active conflicts.The task 'Reset merge conflict' allows you to resolve a merge conflict again Quality - Improved behavior when copying unit testsCommunity idea change Software FactoryUnit tests help you test each unit of functionality of an application separately. In the Software Factory, you can link unit tests to control procedures to ensure that they work as expected. Previously, when you copied a unit test in the menu Quality > Unit tests > task Copy unit test, the field Control procedure remained empty even if it was linked to a control procedure. This behavior has been improved. If you now copy a unit test with a linked control procedure, the Control procedure field is automatically completed.The field 'Control procedure' is now automatically completed when copying a unit test with a linked control procedure Access Control - Improved role management for process flows with subflowsnew Software FactoryIn the Thinkwise Platform 2026.1 release, we introduced the ability to add user and system subflows to process flows. To execute these subflows, rights must be assigned to the roles that access these process flows.To simplify role permission management for process flows, we have added the column Subflow to the tab Process actions in Roles screen (menu Access control > Roles > tab Process flows > tab Process actions).This allows you to see if a subflow is linked a process action. Additionally, if you execute the task Assign rights  to assign rights for a process flow, rights for subflows in that process flow are now automatically granted.A process flow is unavailable to a role if any of the individual process actions of that process flow is missing rights.The column 'Subflow' allows you to see if a subflow is linked to a process action Parameter values now displayed in Debug Centernew IndiciumWe have added support for parameter values in the Debug Center for DB2, Oracle and PostgreSQL databases. This allows you to track the values of parameters used in, for example, default, layout, and handler procedures, which can be helpful for debugging and troubleshooting. This was already supported for SQL Server databases. New session variable for browser tabsnew Indicium Universal UIIndicium now adds a session variable, tsf_client_instance_id, to the connection. This allows you to distinguish between different browser tabs, which can be useful for debugging and troubleshooting purposes.In the background, the Universal UI now sends a unique identifier, called Client-Instance-Id, in the header of each network request. This identifier is used to instantiate the session variable tsf_client_instance_idA new Client-Instance-Id is created in the following situations:Refresh of the browser tab Opening a new tab and copying the URL Right clicking on the browser tab and selecting the Duplicate tab (this name might differ per browser)An exception to this is floating documents. A floating document can, for example, be opened by pressing Alt and then clicking on a menu item. This floating document uses the same Client-Instance-Id as its parent tab, and refreshing the floating document also persists this Client-Instance-Id. If you refresh the main tab, a new Client-Instance-Id is created for the main tab, but the floating document will keep using the old Client-Instance-Id.As part of this update, we also fixed an issue where Indicium would not always set session variables correctly on DevExpress reports. This could cause the tsf_appl_id to be incorrect. Updated file upload API in Indiciumchange Indicium Universal UIYou can now also use multipart/form-data for file uploads in Indicium, allowing you to upload files in a more efficient way. Previously, only application/octet-stream was accepted for file uploads in Indicium. As of this release, the Universal UI uses this file upload method by default.Previously, when using an Azure Web Application Firewall (WAF) in prevention mode, request bodies from file uploads with an application/octet-stream header were limited to 128KB. A workaround was to relax this limit, but then the request body would not be inspected anymore. Because of this change, multipart/form-data can now be used to upload files without this limitation.This update reduces the number of requests when uploading files, resulting in a small performance improvement. Additionally, it allows you to upload larger files when using a WAF in prevention mode, while keeping request inspection enabled. Add parameters to translation labelsnew Universal UIYou can now add parameters to translation labels in the Universal UI. This allows you to design forms with more dynamic, informative labels that adapt to the data displayed.This feature is supported for translation labels in forms, including groups and sections, formlists, and parameters in task and report pop-ups.For example, when currency_type = (EUR) and amount = 50 in that row, the translation label Amount {currency_type} {amount} resolves to Amount (EUR) 50 in that row. If you add another region, such as the UK, and set currency_type to (GBP), the translation label resolves to Amount (GBP) 50 in that new row.To add parameters to a translation label, go to the menu User interface > Translations > tab Translations or any Translation tab in the Software Factory.For form and formlist labels, add the translation to the field Translation form. For task and report parameter labels, add the translation to the field Translation form. For group and section labels in forms, and task and report pop-ups, add the translation to the field Translation.In the field, you can enter the translation and a parameter, for example, Amount {currency_type} {amount}.The following applies to parameters in translation labels:Recursive parameters are not supported, and parameters are resolved only once. For example, Some {text_field} will result in Some {other_field} if text_field = {other_field}. In this case, other_field will not get resolved any further. If a parameter resolves to either undefined or null, it is omitted from the label while other parameters remain. For example, Amount {currency_type} {suggestion} resolves to Amount (EUR) if currency_type = (EUR) and suggestion = null. Import CSV data from clipboard into gridsnew Universal UIYou can now import CSV data directly from the clipboard into a grid. This simplifies the process of importing data from external sources, such as Excel.To import data from the clipboard, select Import from the overflow menu. In the pop-up, select Use Clipboard as data source as Upload method. Then, paste the data into the field Clipboard. Configure the Date format and Number format to match the data's format. After this, continue the import steps as usual.Import CSV data from the clipboard into a grid Added support for 'Column width' user preferencechange Universal UI Intelligent Application Manager main administratorIf users resize columns in a grid, these column width settings were previously saved to that specific device and browser. However, if a user used a different device or browser, these settings would not be migrated and had to be reconfigured by the user.To improve user experience, the column width settings are now saved in IAM as part of User preferences.To allow column width settings to be saved for a user, Column width must be included in a user preference configuration. Use one of the standard configurations Resize, Move, On_Off or Complete. Alternatively, create a custom configuration in the menu Advanced > Master data > User preference availibility and select the checkbox Column width in the group Grid settings availability.After setting up the configuration, assign it to a user or user group to allow users to save their column width settings.Allow users to save their 'Column width' settings across devices and browsers in the Universal UI 'Refresh model' moved next to profile menuchange Universal UI Community ideaIn Developer mode the task Refresh model is now available next to the profile menu. This makes it easier for you to find and use this task when working in the Universal UI. You can now also use the shortcut Alt + R (Windows) or Option + R (MacOS) to refresh the model.Refresh model is now also automatically applied when using the Launch application task from the Software Factory. This is done by adding refreshModel=true to the URL. You can also apply this in custom solutions to automatically refresh the model when the Universal UI is loaded. For example https://myuniversalui.com/universal/?refreshModel=true or as part of the process flow action Open link in a process flow with the URL containing refreshModel=true.Select 'Refresh model' or use the shortcut to refresh the modelOnly reachable details shown in 'Detail settings' user preferencechange Universal UIDetails that cannot be accessed due to the current screen type configuration or active context are no longer shown in the overflow menu > Detail settings user preference.Previously, all subject details were listed regardless of whether they were visible on the active screen. This could cause confusion when details appeared in the menu but were not available in the user interface.With this update, only details that are actually reachable in the current screen type and context are displayed. Details assigned to other screen areas or hidden by context conditions are excluded from the menu, resulting in a clearer and more accurate configuration experience. FixedRefer to previous Community posts for additional releases provided during the sprint. These additional releases (for example, Universal UI 2026.1.13.1) are automatically included in this release.Software Factory and Intelligent Application ManagerPreviously, when you created a new Expression column, it would be set to Editable. Now, the column is set to Read-only by default. When you modified the sequence number of a domain element, the absolute sequence number would be incorrect. This has been fixed. Previously, when deploying functionality in the menu Business Logic > Functionality > tab Deploy the database server name of the linked runtime configuration was displayed instead of the actual server name, which could make it unclear which server was used. This has been fixed.IndiciumIf you would use the Search feature on a detail or look-up subject, Indicium previously included context reference columns. Because the values of these context reference columns are identical for all records in the context, this would cause all records to match when a context reference column satisfied the search term. Indicium now excludes context reference columns from the search for detail and lookup subjects. System flows that are started from user subflows via the Execute system subflow process action are now available in the Process Flow Monitor in the Debug Center. DB2 Due to the application connector not creating a message buffer for DB2 databases, issues could occur with smoke tests and other processes. This has been fixed. Fixed an issue with the JSON format of the chat history of the LLM Chat Completion connector. Fixed an issue in SQL Server where TIME values could not be converted from XML when the XML was generated by an XMLMultiselect task parameter. Fixed an issue with the links to the Debug Center which are shown in error messages in the Universal UI. The links were malformed due to an extra web application segment (for example: /indicium/indicium). Fixed an issue where files could not be downloaded in a task popup if the file came from a column via a table column -> task parameter link.Universal UIPreviously, when using a browser’s autofill in a Form, the auto-filled text would get a blue highlight. Users could confuse this highlight with conditional layouts already present on the screen. This has been fixed. Fixed an issue where the action bar would not appear if part of it was empty during the first render (for example due to a context procedure). In some cases, selecting an item from a lookup dropdown in a Filter form would return a previously selected record instead of the selected option. The selected option is now always returned. In cases where a pivot grid had many nested categories that were set to Expand by default, many requests were fired when the pivot grid was rendered. This would place a significant load on the server, causing performance issues. We have reduced the number of requests to fix this issue and improve performance. Custom components now update according to whether a related document is being edited. The pivot grid now updates if records are changed or deleted within the same subject in a different tab. Conditional layouts in cubes were applied incorrectly if the condition field was set to Hidden. The condition would be evaluated using the aggregated row value (for example, SUM, AVG, MAX) instead of the individual cell values. This issue has been fixed, and conditional layouts are now applied correctly. Fixed an issue where start objects were not displayed in the same order they were added after refreshing the page.Data model changesData model changes for the Software Factory and IAM meta-models are listed here. This overview can be used as a reference to fix dynamic control procedures, dynamic model code, custom validations, or custom enrichments after an upgrade. Changes Software Factory Table changesNo changes in this release Column changesSF - Table SF - From column SF - To column Mandatory Default value usr_session model_id model_id 1   usr_session branch_id branch_id 1    Changes Intelligent Application Manager Table changesNo changes in this release Column changesSF - Table SF - From column SF - To column Mandatory Default value gui_appl database_id database_id 1    Questions or suggestions?Questions or suggestions about the release notes? Let us know in the Thinkwise Community! 

Related products:Software FactoryIntelligent Application ManagerUniversal UIIndicium Service Tier

🚀 Platform improvements for week 11, 2026

Hi everyone!We’ve released the following platform improvements this week: SF All supported versions (2024.3 to 2026.1.12)20260310 - Scope deletion of program object item parameters to disabled control procedure When deactivating a control procedure, the Software Factory cleans up the underlying objects that the control procedure created. During this deletion, it deleted program object item parameters of other control procedures that were assigned to the same program object, causing unreplaced parameters once the program object was regenerated. This has been fixed.  SF 2026.1.1220260311 - Staged parameter length fix The maximum length of program object (item) parameter values is 4000 characters, which can be a bit of a challenge to work with if you want to put more than 4000 characters in a single parameter. We have completely eliminated this challenge if you use the Staged strategy for your SQL control procedures; the Software Factory will automatically take care of a parameter value that is longer than 4000 characters. In short, the datatype of column parmtr_value in temporary tables #prog_object_parmtr and #prog_object_item_parmtr has changed from nvarchar(4000) to nvarchar(max) In this STS version, the Software Factory needs this new capability if you have any unit tests in your SQL Server model that has either a preparation or assertion query that exceeds 4000 characters.

Related products:Software Factory
Release notes Thinkwise Platform 2026.1.12

Release notes Thinkwise Platform 2026.1.12

Since release 2026.1.11, we have introduced a new format for our release notes. You can now find all updates of the Thinkwise Platform, Indicium and the Universal UI in one release blog. This supports our full-stack approach and provides a better overview of the changes in each release.  Hello everyone,We have made important improvements to models and data in the Thinkwise Platform. Expression fields can now be set to Editable, allowing you to use them as input fields for queries and giving you more flexibility in your application design. Day-of-week intervals have been standardized in Indicium to make the display and filtering of days more consistent across different database platforms. Users can now also manage their data more efficiently by deleting rows across multiple pages in grids. We have added several keyboard shortcuts to further improve menu navigation in the Universal UI, and updated the styling of toolbars to match the Action bar.These changes introduce several breaking changes; see Breaking changes for details. This is a short-term support (STS) release of the Thinkwise Platform. STS release support expires as soon as a new release is made available. For example, support for version 2026.1.12 ends when version 2026.1.13 is released.See our Lifecycle policy for information about supported versions. Thinkwise Platform version 2026.1.12ContentsThinkwise Platform version 2026.1.12 Before you upgrade Demo and download Breaking Standardization of 'day of week' intervals in Indicium Calculated field expression columns only refreshed when dependency changes value New and changed Models - Thinkwise base models set to read-only Models - Formalized 'ShowTabIcons' extended property Data - Editable expression fields User Interface - 'Branch' renamed to 'Version' in IAM Data - Support for checkbox control for 'VARCHAR' and 'CHAR' Deployment - Simplified configuration for data protection keys, vapid keys and OpenID certificates Changed behavior for 'day of week' intervals in Indicium Delete rows for multiple pages in grids Support for 'Close document' as starting action Keyboard shortcuts for menu navigation Updated cube view buttons in the Action bar Matched styling for toolbar buttons Fixed Software Factory and Intelligent Application Manager Indicium Universal UI Data model changes Changes Software Factory Table changes Column changes Changes Intelligent Application Manager Table changes Column changes Questions or suggestions? Before you upgradeFeatures for the Software Factory and the Intelligent Application Manager are only compatible with this STS version of the Thinkwise Platform. Indicium and Universal UI features are backwards compatible with previous Thinkwise Platform versions, unless otherwise noted.Demo and downloadTry a demo of the Thinkwise Platform here. Download the latest versions of our components here. BreakingStandardization of 'day of week' intervals in Indiciumbreaking Indicium Universal UIAs a result of changed behavior for 'day of week' intervals in Indicium, some breaking changes have been introduced. Depending on your database settings, these changes may not affect you. Check the sections below for your database platform to see whether you are impacted.SQL ServerDatabases configured to UK English, German, or Dutch should not be impacted.Run the following queries separately:SELECT DATEPART(WEEKDAY, GETDATE())SELECT DATEDIFF(DAY, '19000101', GETDATE()) % 7 + 1If these queries give different results, then you are impacted. DB2Run the following queries separately:SELECT DAYOFWEEK(DATE '1900-01-01')FROM sysibm.sysdummy1;SELECT DAYOFWEEK_ISO(DATE '1900-01-01')FROM sysibm.sysdummy1;If these queries give different results, then you are impacted. OracleRun the following queries separately:SELECT TO_NUMBER(TO_CHAR(SYSDATE, 'D'))FROM dual;SELECT TRUNC(SYSDATE) - TRUNC(SYSDATE, 'IW') + 1FROM dual;If these queries give different results, then you are impacted.  PostgreSQLRun the following queries separately:SELECT DATE_PART('DOW', NOW());SELECT EXTRACT(ISODOW FROM NOW());If these queries give different results, then you are impacted. If you are impacted, check the following for your applications:Cubes with cube view fields that have a Day of week interval type will have changed values for the day of week numbers. For example, if Sunday was previously day number 1, it is now day number 7. Visualization of pivot grids and charts that use cube fields with a Day of week interval type may also be affected, as the day numbers on axes and the order of series can be impacted. Sorting on cube fields with a Day of week interval type may also be affected. Filter conditions saved as part of a user preference are affected if they contain hardcoded day of week numbers. For example, a filter condition with day_of_week = 1 might need to be updated to day_of_week = 7. Calculated field expression columns only refreshed when dependency changes valuebreaking Indicium Universal UICalculated field expression columns with dependencies will now only be re-evaluated when the value of one of its dependencies is changed. Previously, these expressions would be re-evaluated after every change made by a user. If an expression column has no dependencies, it will only be evaluated once, upon entering edit mode. Subjects with heavy expression queries will see a noticeable improvement in performance when adding or editing records.In all realistic scenarios, this change is simply a performance improvement and not a functional change. It is however technically possible that an expression not only depends on one or more columns but also has a time-sensitive aspect and is expected to be updated with unrelated column changes as well. If this is the case, we recommend forcing all editable columns to be expression dependencies via comments in the expression query.Please ensure that your expressions correctly use t1. table aliases to reference columns, otherwise these columns will not be recognized as expression dependencies. This is not new and expressions that do not use t1. table aliases already don't work in Indicium, but we wanted to stress the importance of this. New and changedModels - Thinkwise base models set to read-onlychange Software FactoryPreviously, Thinkwise base models for the Software Factory could be modified, which could unintentionally break core functionality. We have set branch access for important base models such as ENRICHMENTS, GUI_TRANSL_ENG and SQLSERVER_DB to read-only by default. This prevents unintended changes and helps ensure the stability of the Software Factory. Models - Formalized 'ShowTabIcons' extended propertychange Software FactoryPreviously, the extended property ShowTabIcons could be used to show tab icons for detail tabs and tab containers in the Universal UI. We have formalized Show tab icons as a setting in the menu Models > Model content > Model settings > group Screen type.Select 'Show tab icons' to display tab iconsBy default, this setting is disabled for all models. However, when you upgrade to this version, the setting is automatically enabled for all models that had the ShowTabIcons extended property set to true.As a result of this change, the extended property ShowTabIcons is deprecated and removed. This also means you can no longer modify this setting in IAM. The extended property remains available for lower Thinkwise Platform versions. Data - Editable expression fieldsCommunity idea change Software FactoryPreviously, columns with calculated fields could only be set to Read-only or Hidden. You can now set columns with an Expression field to Editable in the menu Data > Data model > tab Tables > tab Columns. This can be useful, for example, when you want to use an expression field as an input field for a query.A parameter for insert and update handlers is added if you set up an expression column as Editable. You can use these parameters to process the value of the expression column. This change is not breaking, as expression columns that are set to Read-only or Hidden will not have parameters added and continue to work as before.Set 'Column type' to 'Editable' for expression fields User Interface - 'Branch' renamed to 'Version' in IAMchange Intelligent Application ManagerWhen you synchronize branches from the Software Factory to IAM, they retained the name 'Branch' in IAM. After synchronization, these branches become fixed snapshots that can no longer be changed, merged, or compared like normal branches in the Software Factory. To better reflect this behavior, we have changed the translation label of synchronized branches to 'Version' in IAM. Data - Support for checkbox control for 'VARCHAR' and 'CHAR'new Universal UIThe Checkbox control is now supported for domains with VARCHAR and CHAR data types. This allows you to use checkboxes in your application when the underlying database values are, for example, 'Y'/'N' or 'T'/'F'.To use the Checkbox control for these domains, add the following domain elements to a domain (menu Data > Domains > tab Elements):One Element with the name 'true'. The Database value should correspond to a checked checkbox, for example 'Y' or 'T'. One Element with the name 'false'. The Database value should correspond to an unchecked checkbox, for example 'N' or 'F'The Checkbox control only works correctly if the domain contains exactly these two elements. Otherwise, the checkbox control will not work as intended. An indeterminate checkbox corresponds to a null value in the database, similarly to regular checkboxes. A validation has been added to the Software Factory to check whether domain elements with a Checkbox control are set up correctly.Additionally, in the Thinkwise Platform 2026.1 release, we introduced behavior to the Software Factory where the control type for domain elements is automatically set to Combo. This behavior does not apply when you add domain elements to a domain with a Checkbox control.Domain elements with corresponding database values and a 'Checkbox' control in the Universal UI Deployment - Simplified configuration for data protection keys, vapid keys and OpenID certificatesnew IndiciumYou can now configure storage for data protection keys, vapid keys (push notifications) and OpenID certification in one central place in the appsettings.json file. This helps to improve ease of use and reduces configuration and maintenance effort.Data protection keys, vapid keys and OpenID certificates are enabled by default. If you are just setting up the Thinkwise Platform and have not yet configured any keys, see the configuration examples below for AWS and Azure hosting. Example configuration for AWS hostingIf you are using a hosting on an AWS EC2 instance that uses the instance identity to read, write keys and certificates, you can use the following configuration to enable all features: { "Agent": { "Enabled": true }, "DataSecuritySettings": { "Storage": { "Mode": "Aws" } } }  Example configuration for Azure hosting with KeyVault If you are using Azure hosting with KeyVault, you can use the following configuration to enable all features: { "Agent": { "Enabled": true }, "DataSecuritySettings": { "Storage": { "Mode": "Azure", "Azure": { "TenantId": "<optional - leave blank for managed identity>", "ClientId": "<optional - leave blank for managed identity>", "ClientSecret": "<optional - leave blank for managed identity>", "KeyVault": { "Url": "https://<vault>.vault.azure.net" } } } } }   If you have already set up the Thinkwise Platform and are using data protection, it is important to use the same data protection keys in the new configuration. Otherwise, encryption and decryption will fail. See the examples below to migrate your existing configuration to the new DataSecuritySettings configuration. New configuration for AWS hosting We recommend migrating to the new DataSecuritySettings configuration as follows: { "Agent": { "Enabled": true }, "DataSecuritySettings": { "Storage": { "Mode": "Aws" }, "DataProtection": { "EncryptionKey": { "Name": "DataProtectionKeyName" } }, "OpenID": { "ServerSigning": { "Certificate": { "Name": "OpenIDCertificateName" } } }, "PushNotifications": { "VapidKey": { "Name": "VapidKeyName" } } } }   New configuration for for Azure hosting with KeyVault We recommend migrating to the new DataSecuritySettings configuration as follows: { "Agent": { "Enabled": true }, "DataSecuritySettings": { "Storage": { "Mode": "Azure", "Azure": { "TenantId": "<optional - leave blank for managed identity>", "ClientId": "<optional - leave blank for managed identity>", "ClientSecret": "<optional - leave blank for managed identity>", "KeyVault": { "Url": "https://<vault>.vault.azure.net" } } }, "DataProtection": { "EncryptionKey": { "Name": "dataprotection" } }, "OpenID": { "ServerSigning": { "Certificate": { "Name": "open-id" } } }, "PushNotifications": { "VapidKey": { "Name": "web-push" } } } }   Changed behavior for 'day of week' intervals in Indiciumchange Indicium Universal UIPreviously, Indicium followed the locale settings of the database to determine what the weekday number of a date is. This could lead to differences in weekday numbers across different database platforms. For example, some databases return Sunday as day number 1, while others return Monday as day number 1.We have introduced date filtering in the Filter pop-up in the Universal UI, which allows users to filter on days. This functionality requires day numbers to be standardized, but the previous behavior of Indicium did not allow for this. In some cases, this resulted in unexpected behavior for users when filtering on days, as the value '1' had no deterministic meaning.Indicium now returns 'day of week' intervals (i.e. weekday numbers) differently for date values, following the ISO-8601 standard. This means that Monday is standardized as day number 1 and Sunday as day number 7.See Standardization of 'day of week' intervals in Indicium to see whether this change impacts you. Delete rows for multiple pages in gridsnew Universal UIPreviously, if you had paging set up in grids, you could only delete rows that were selected on the current page. You can now delete all rows across multiple pages in grids. This aligns with the recent added functionality to execute task or reports on multiple selected rows across pages in grids.To select rows, use keyboard shortcuts to select all the rows on the current page. Then, select Delete from the action bar. In the pop-up, select whether to delete the Selected rows or All rows that match the current filter. Select Delete to confirm the deletion.Use the pop-up to confirm deletion of selected rows Support for 'Close document' as starting actionCommunity idea new Universal UIYou can now use the process action Close document as a starting action in the Universal UI. When a normal or modal document is closed, the process flow will continue from the active subject.In some scenarios you may want a process flow that ends with Open document and then trigger a new process flow with Close document after closing that document. It is recommended to set the Open as input parameter to Modal document for Open document process action in this scenario. Using a Modal document prevents underlying interactions with the application while the document is open. This ensures that the subsequent process flow is only triggered when the intended document is closed, avoiding unintended activation of the process flow during other user interactions. Keyboard shortcuts for menu navigationnew Universal UIWe have added keyboard shortcuts to improve menu navigation: For the List bar and Treeview menus, to focus the Menu search field: Windows or Linux: Alt + M MacOS: Option + M If the menu is collapsed, the shortcut will expand it focus on the Menu search field. For the Tiles menu: To return to the tiles menu from an open document: Windows or Linux: Alt + M MacOS: Option + M Use Enter or Space to open a focused tile. Use Tab to navigate through the tiles in the menu.  Updated cube view buttons in the Action barchange Intelligent Application Manager Universal UI 2026.1.12+User-defined cube views are now grouped under a grouped button in the action bar. They are now also displayed before model-defined cube views in the action bar. This change helps users find and access their personalized cube views more easily, improving the overall user experience.User-defined cube views are only available if users are allowed to create their own cube views. You can set this up in User preferences in IAM. Matched styling for toolbar buttonschange Universal UIPreviously, the Task bar, Prefilter bar, Search bar, Cube view bar and Report bar screen components were displayed as separate toolbars in the Universal UI.To create a more consistent styling for all bar components in the Universal UI, these buttons in these bars are now styled to match the Action bar. Underlying functionality remains the same, only display changes have been made.As part of this change, we have fixed an issue where the Search field would collapse even when sufficient space was available. It now behaves as expected.This change does not apply to Thinkwise Platform 2024.3 and earlier, because the action bar was introduced in Thinkwise Platform 2025.1.This is a breaking change to the data-testId and the Testwise pre-built component for TaskBar.Upgrade Testwise to the latest version 0.2.21 to resolve the Testwise-specific issue.FixedSoftware Factory and Intelligent Application ManagerThe migration of Windows GUI user preferences to Universal GUI user preferences incorrectly handled user-defined prefilters in some situations. This has been fixed. Ad-hoc system flow instances would be kept underwater if the application was taken offline before the ad-hoc instance would run, causing the instance to be started and then cancelled in a loop. The instance was never seen as processed, as the instance was never successfully started. This has been fixed. Some added start objects would result in the tab/task/report variant field being an empty string rather than NULL. This has been fixed. The view i_ui_cube_view_filter_node would return duplicate records in some cases; this has been fixed. Fixed an issue where the Indicium application tier was trying to execute system flows that are planned manually. This could occur even if the GUI application no longer exists. Resolved an issue where an error could occur when deleting a prefilter in the Windows GUI. This happened when the prefilter was created by a user via the Universal UI. Fixed an issue where an error could occur when using the task to migrate the Windows GUI user prefilters to Universal user prefilters. Resolved an issue where some favorites in the Universal UI were deleted after a synchronization of the branch. In the platform improvements for week 6, we communicated the hotfix “20260202 - Disable API trigger for user subflows”. We made an improvement to this hotfix that prevents errors occurring when role permissions are updated and synchronized. It does so by granting user subflow rights to all roles with access to the parent flow.IndiciumThe end date of session logs in the Intelligent Application Manager used the time zone of Indicium's web server instead of the UTC time zone, which caused incorrect end dates to be shown in the session logs. This has been fixed. Fixed an issue where DevExpress reports with sub-reports did not work as expected when running in a Linux container. Fixed an issue where expressions without dependencies would not be evaluated. A common workaround was to mimic a dependency by adding a comment like -- t1.my_col to the expression query. This workaround is no longer necessary. When entering edit mode, expressions without dependencies will be evaluated once.Universal UIImprovements for drag-and-drop behavior:When dragging a file on a FILE LINK or FILE UPLOAD control in a task or report group pop-up, the file now no longer opens in a new browser tab. When dragging a file on an IMAGE LINK or IMAGE UPLOAD control in a task or report group pop-up now works as expected.Fixed for process flows:Fixed an issue for process flows where the Go to row or Refresh table process actions did not work as expected after the Close document process action on a zoomed detail modal document. When starting a process flow from a start object, the process flow would sometimes crash due to a timing issue. This has been fixed.Fixes for menus:When you used searched in the menu while having one or more documents open, the Open documents group would disappear, and the message 'No open documents found' was shown. This was incorrect and misleading, as there were open documents, but they did not match the search results. This message is now no longer shown. The Open documents group is now only shown when a matching search result exists. The Open documents group can now be expanded or collapsed when searching in the menu. The menu groups Favorites or Open documents would sometimes show a badge indicator when there were no badges in the menu group items. This has been fixed. Tooltips are now shown when hovering menu items in the Open documents group in the tile menu. When refreshing an open document, the last start object would become the open document. This has been fixed.Other fixes:The Universal UI now ignores cube value fields with the aggregation type Formula (deprecated), as these fields are deprecated and do not work in the Universal UI. In some cases, in a grouped editable grid, editing could manually reset collapsed or expanded groups. It could also cause the active row to switch unexpectedly after editing, especially for fields with a CHECKBOX control. This has been fixed. Fixed an issue where the action bar would sometimes collapse earlier than intended. This would particularly happen if users were not allowed to change screen types. Fixed an issue where a task pop-up with a Code editor control would continuously increase in size until it filled the entire screen. After uploading a file when using a relative path as a Meta URL, the URL pointing to the uploaded file did not work as expected. This has been fixed. Previously, if a lookup field was cleared programmatically, for example, by business logic triggered by a default, the field would display '[object Object]' as its value. This issue has been resolved, and the lookup field is now cleared as expected. Increased the padding at the bottom of the main content container for mobile devices, so elements are now spaced out better and easier to use. ↑ and ↓ arrow key navigation in default editable grids has been improved. Keystrokes no longer get lost on slower devices when the user quickly presses the ↑ or ↓ arrow keys. When using a grid with aggregations, the application could crash if there was an error resolving the aggregations. This has been fixed. Two issues have been fixed in the Filter pop-up: In some cases, a crash would occur when a date column started with a BETWEEN condition and the operator was changed to a single value type, such as FROM or EQUAL TO. The dropdown for selecting values for a column with an IN operator sometimes automatically selected values. Fixed an issue where Universal would sometimes crash when opening a lookup pop-up. Fixed an issue where saving changes in the Code editor to an external file and immediately switching rows could cause updates to be applied to the wrong row. Changes are now saved to the correct record.Data model changesData model changes for the Software Factory and IAM meta-models are listed here. This overview can be used as a reference to fix dynamic control procedures, dynamic model code, custom validations, or custom enrichments after an upgrade. Changes Software Factory Table changesNo changes in this release Column changesSF - Table SF - From column SF - To column Mandatory Default value model_settings - show_tab_icons 1 1  Changes Intelligent Application Manager Table changesNo changes in this release Column changesSF - Table SF - From column SF - To column Mandatory Default value branch - show_tab_icons 1 0  Questions or suggestions?Questions or suggestions about the release notes? Let us know in the Thinkwise Community!

Related products:Software FactoryIntelligent Application ManagerUniversal UIIndicium Service Tier
Out With the Old, In With the New: Archiving Release Blogs for Unsupported Versions