Skip to main content
  • 583 Product updates

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
Thinkwise Platform update

Release notes Thinkwise Platform 2026.1.11

With the introduction of full-stack Platform releases per version 2026.1.11, we have introduced a new format for our Product Updates. All updates of the Thinkwise Platform, Indicium and the Universal UI are now covered in a single release blog. The Universal UI now no longer publishes a release candidate, but all updates are included in the main release. Hello everyone,We have made some improvements to filtering, grids and cubes in the Universal UI. You can now filter on the entire dataset when using the Open without data setting, and we have extended filtering options in the Filter pop-up. Users can now configure start objects and favorites in the menu. Additionally, aggregations for each group can now be displayed in grouped grids. Users can now also use the new Expand all and Collapse all buttons in cube views to expand or collapse all categories and series at once. We updated the behavior of the Barcode scanner control to allow users to open the virtual keyboard when needed, and we improved the behavior and styling of hyperlinks in forms. As always, we have made various other improvements and fixes to enhance the user experience and performance of the Thinkwise Platform.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.11 ends when version 2026.1.12 is released.See our Lifecycle policy for information about supported versions.  ContentsBefore you upgrade Demo and download Breaking Process flows in Thinkstore solutions updated Update DB2 Core driver New and changed Configure start objects and favorites in the menu Improved suggestions for 'Create a cube' 'Expand all' and 'Collapse all' added for cube views Show aggregations for each group in grouped grids Updated behavior of 'Open without data' setting Extended date filtering in the 'Filter' pop-up Added filtering options to 'Filter' pop-up Added message for read-only code fields Added 'Clear color' button Updated 'Barcode scanner' control behavior Improved hyperlinks in forms 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. BreakingProcess flows in Thinkstore solutions updatedbreaking ThinkstoreIn the Thinkwise platform 2026.1 release, we made it possible for you to use subflows in regular process flows. As a result of this update, subflows were migrated to the corresponding process flow type based on certain conditions. This migration also affects the subflows used in the Process queue and Reporting service solutions in the Thinkstore. The checkbox Is sub flow has been removed from the process flows in these solutions. If you have implemented these solutions in your environment, check whether the subflows have successfully been migrated to system flows. Update DB2 Core driverbreaking Indicium DB2We have upgraded the DB2 Core driver from version 8.0.0.200 to 9.0.0.400. The previous version did not connect to newer DB2 databases, so this update is required to ensure continued compatibility with DB2 databases. We have added a workaround for an issue in the driver, since it could sometimes return empty messages. We are in contact with IBM to resolve this driver issue.To ensure everything continues to work as expected:Download DB2 Core driver version 9.0.0.400. 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. New and changedConfigure start objects and favorites in the menunew Intelligent Application Manager Universal UI Users can now configure their own start objects in the List bar and Tree view menu. Start objects can not be configured for the Tiles menu. To make this available, you must Allow a user to change preferences in IAM.Users can mark any menu item as favorite, by selecting the star icon next to it. The star icon is shown on hover or is always visible, depending on the type of device that is used. These marked items are then added to the new Favorites menu item for easy access.Select the star icon to add an item to your favoritesWe have also made some improvements to the menu to enhance the user experience:Open documents and Favorites are now collapsible groups in the menu, allowing users to easily hide or show these sections as needed. The Favorites group is collapsed by default to save space in the menu. Open documents and Favorites groups show a badge when there is an item with a badge indicator inside. Open documents are now re-ordered, the last opened document is now at the bottom instead of at the top of the Open documents.The 'Favorites' group is collapsed by default and has a badgeThis feature is available for all supported Thinkwise Platform versions, but requires the latest hotfixes of the Software Factory and the Intelligent Application Manager to be applied. See our Lifecycle policy for information about supported versions.  Improved suggestions for 'Create a cube'change Software FactoryWe have improved suggestions when you execute the task Create a cube  from the menu User Interface > Cubes > tab Tables.Several data and control types have been excluded from becoming dimensions, such as files and multiline controls. Numeric primary keys (identities) will now always be added as value columns using a Count aggregation type instead of a Sum aggregation type. All other numeric cube values use Sum and can now optionally be marked as editable. This makes the field, column and table editable. You can also enable the subject setting update handler for editable values. Writing the handler code itself is not part of the Create a cube task. Various options now offer more flexibility to set the screen type of the cube to be focused on either a chart, a pivot, a customization panel or a combination of these. 'Expand all' and 'Collapse all' added for cube viewsnew Universal UIYou can now expand or collapse both series and categories in a cube view in the Universal UI with a single click. This can be done by selecting Expand all or Collapse all from the overflow menu in the action bar. Alternatively, you can use the keyboard shortcuts Alt + Shift + ↑ to collapse all groups and Alt + Shift + ↓ to expand all groups.Select the 'Expand all' or 'Collapse all' buttons from the overflow menuShow aggregations for each group in grouped gridsnew Universal UIYou can already set up aggregations in grids to show totals, averages, counts, and so on at the bottom of the grid. We have now extended this functionality to also show aggregation values for each group in grouped grids. The aggregated value for a group is displayed in italics in the cell corresponding to the aggregated column.You can now view aggregation values for each group in grouped gridsWhen a group is not fully displayed in the grid, for example because of pagination, the aggregate is still correctly calculated using the complete group. To clarify this, we added an icon with a tooltip notifying the user that the aggregate is based on data that is not fully visible.This new behavior is enabled by default. In some cases, such as when working with large datasets, you may want to disable this feature for performance reasons. To do this, set the extended property DisableGroupGridAggregations to true. The totals at the bottom of the grid remain unaffected by this setting. Updated behavior of 'Open without data' settingchange Universal UIIn the Thinkwise Platform version 2026.1, we made the process action Open filter available to open the Filter pop-up on any subject in the Universal UI using a process flow. In addition, we renamed the subject setting Start empty with filter to Open without data to better reflect its functionality.In addition to these changes, you can now retrieve the entire set of data when clicking the filter button in the Filter pop-up on a subject with setting Open without data enabled. Extended date filtering in the 'Filter' pop-upnew Universal UI 2026.1+You can now use more advanced date filtering in the Filter pop-up by adding multiple (interval) conditions on the same column and combining them with different interval types. For example, you can now view data from a specific year and quarter more easily.Use the 'Filter' pop-up to apply date interval filters You can save these filters as custom prefilters to reuse them later.Available interval types are:For Date columns: Date, Year, Quarter, Month, Week of the year and Day of the month. For Datetime columns: Date and time, Date, Year, Quarter, Month, Week of the year and Day of the month.Filtering on date intervals is available from Thinkwise Platform version 2026.1 and higher.  Added filtering options to 'Filter' pop-upnew Universal UIIn a previous release, we added the Code diff editor as a new control type. To support this update, you can now use the following filtering options in the Filter pop-up:Code editor SQL editor Code diff editor Added message for read-only code fieldsnew Universal UIYou can open read-only fields in an external code editor to view the code. However, since these fields are read-only, changes made in the external code editor are not synced back to the application. To ensure clarity, the message 'Changes will not be saved: the selected code is read-only in the Software Factory.' is shown at the top of the code file when you open a read-only code field in an external code editor. Added 'Clear color' buttonnew Universal UIWhen using the Color control, you could not clear a previously selected color. To solve this, we have added a Clear color button. Use the 'Clear color' button to reset the selected color Updated 'Barcode scanner' control behaviorchange Universal UIPreviously, when you used the Barcode scanner control in your application, you could configure whether the virtual keyboard is shown or not when the control was focused by using the extended property SuppressBarcodeKeyboard. However, if a barcode was not scannable, there was no way to manually enter the barcode value using the virtual keyboard.To address this, we have updated the behavior of the Barcode scanner control. A keyboard icon has been added to the control, which allows users to open the virtual keyboard when selected. Select the keyboard icon to open the virtual keyboardThe extended property SuppressBarcodeKeyboard has been deprecated and does not affect the behavior of the control anymore.The virtual keyboard now behaves as follows:By default, the virtual keyboard is not shown when the Barcode scanner control is focused. When the keyboard icon is selected, the virtual keyboard opens, allowing users to manually enter the barcode value. If the data type of the control is numeric, a numeric keyboard is shown. The virtual keyboard closes when the control loses focus, for example, when the user clicks elsewhere in the application.Virtual keyboard APIs may not be fully supported for some devices and browsers, which can cause the virtual keyboard to appear when it should remain hidden. You can determine whether the barcode and keyboard icons are shown by using Show action button when you are setting up the Barcode scanner control.Always - the barcode and keyboard icons are shown in edit mode. :::note The keyboard icon is only shown on touch devices, since they usually have a virtual keyboard to trigger. ::: When editable - the same behavior occurs as if the option is set to Always. Never - the barcode and keyboard icons are never shown.If desired, you can use custom CSS to determine whether one of the icons is hidden. You can add the following code to the custom.css file in IAM:.keyboard-icon{ display: none; }.barcode-icon{ display: none; } Improved hyperlinks in formschange Universal UIWe have improved the behavior of hyperlinks in forms, making it consistent with hyperlinks in grids.This includes the following changes:Right-clicking on form fields with a lookup hyperlink will no longer open the hyperlink. Double-clicking on a lookup form field will now open only one popup, instead of two. Users can copy the value of a hyperlink by right-clicking with the mouse. This does not apply to lookup hyperlinks. Hyperlinks on form fields now open when the user clicks on the value (or the No value placeholder for lookup controls). Clicking outside of the value does not trigger any action.The changes apply to the following controls: lookups, EMAIL, PHONE NUMBER, MAPS, URL, FILE UPLOAD and IMAGE UPLOAD.We have also made improvements to double-clicking behavior:When editing a lookup value, double-clicking a different value in the lookup pop-up caused a loader to remain visible. The double-clicked row is now selected as the value. If a double-click task was not bound to a specific column and the user double-clicked on the text of a lookup value in the grid, both a lookup pop-up and the double-click task would be shown simultaneously. Now, only the double-click task is shown. When editing a lookup value and selecting a different value in the lookup pop-up by double-clicking, if the lookup subject had a double-click task, the double-click task would be wrongly executed. Now, the double-clicked row is selected as the value. FixedSoftware Factory and Intelligent Application ManagerWhen deploying your PostgreSQL model for the first time, the upgrade script applied correctly but columns that should get their default value from a created default value query function were not applied properly. This caused no default value to be applied. This has been fixed. Task procedure names in PostgreSQL would be based fully on the given Object name. However, due to the object name limit in PostgreSQL, the Alias of the task should be used instead of the object name if present. This has been fixed. The checkboxes in the task Add to table (Processes > Reports > Table reports > Task: Add to table) had an incorrect field width, causing the checkboxes to overlap with the field next to it. This has been fixed.IndiciumFixed a bug that would occur when executing a full dataset task or report on a table or view with context logic and a column of data type DATE.Universal UIImprovements for pivot tables:In certain situations, pivot tables showed unexpected behavior, such as flickering, resetting columns, losing focus, or scrolling to unexpected positions in the user interface. These issues have been resolved. When you expanded or collapsed a category or series in a pivot table, then changed tab pages, the state would be reset if you returned. In some cases, switching tabs also caused the pivot table to not remember the last focused field. This has been fixed.Other fixes:Previously, dates were inconsistently displayed across grids and forms for Oxford English locale (en-GB). For example, a grid would display dates in DD/MM/YYYY format, while a form would display them in MM/DD/YYYY format. This has been fixed. Cube view groups now correctly display the group icon when the checkbox Submenu is selected. Fixed an issue in Cubes where Date interval fields as Categories would be wrongly ordered compared to the other Categories. Fixed an issue where, in certain situations, items in the action bar continuously resized back and forth between smaller and larger display types. HTML controls showed unexpected behavior when using bulleted lists, such as the bullets disappearing when saving or unwanted empty lines between items. This has been fixed. Resolved an issue where grouped action buttons sometimes had an unclickable duplicate in the action bar. Fixed an issue where the grid column header would resize and cause the text to jump around when switching between edit and non-edit mode. In some cases, process flows would conflict and not run to completion. This occurred when a process flow was started while switching between similar applications with the same role rights. This has been fixed. Opening or activating a menu item will now clear the search in the sidebar. 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 Factory Table changesNo changes in this release. Column changesNo changes in this release. Changes Intelligent Application Manager Table changesNo changes in this release. Column changesIAM - Table IAM - From column IAM - To column Mandatory Default value usr_pref_cube_view_filter_node - date_time_interval 0 - usr_pref_variant_cube_view_filter_node - date_time_interval 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 TierUpcycler

🚀 Platform improvements for week 6, 2026

Hi everyone!We’ve released the following platform improvements this week: SF & IAM 2026.120260202 - Disable API trigger for user subflows After upgrading to 2026.1, previously in-sync subflows inside process flows are converted into User subflows as the user executes the process flow. This, in turn, means the user subflow now needs rights to be used inside process flows. This also means the subflow should not have an API endpoint, as it was used within another process flow. This has been fixed by disabling "use API triggers" for these user subflows and granting rights for these subflows when the parent flow is a process flow. 20260203 - Screen type action bar detail always available Previously when configuring screen types, the Action bar detail tab was disabled until an Action bar was added. With the new Screen type modeler in Universal, the parent record refresh no longer occurred after adding an Action bar causing the detail tab to stay disabled. We have removed the Context logic responsible for disabing the detail, and with that the detail is always available. 20260205 - Action bar action casing With Javascript being case sensitive, the Action bar actions for UP where not showing properly when the casing was incorrect. This was only in some cases, and has been fixed. SF 2026.120260129 - Applying default value query function in Create script The default value query function was not applied in the Create script for PostgreSQL tables. The Upgrade script was working as intended. This has been fixed. 20260205 - Add user sub flow to process action parameter interface views ​​​​​​​When running the application on the SF metasource, input and output parameters of Execute user sub flow process actions would not function properly. IAM is not affected. This has been fixed. 20260205 - Default fallback area To mimic the Windows GUI screen type modeler behavior regarding fallback areasfor bars and tiles, the Default logic has been adjusted accordingly. The Use as fallback area setting will be toggled on when adding these screen components. IAM 2026.1 to 2024.220260205 - Increase length of start_object_id ​​​​​​​The Start object ID field only allowed 30 characters which is insufficent for Configuring start objects. The allowance has been changed to 300 characters.  

Related products:Software FactoryIntelligent Application Manager
Release notes Universal UI 2026.1.10

Release notes Universal UI 2026.1.10

Hello everyone,We have added some new features, such as modelers for data models, screen types, and process flows in the Software Factory. Additionally we have made a 'Code diff editor' control available to compare code files, and added support for the Close document process action. Users can now also enable Auto row height in grids to dynamically adjust row heights based on content. Several improvements were made to the usability and behavior of existing features as well. Most notably, we improved the behavior of the Export immediately option in the export wizard to better match the current grid view.Do you have any questions or suggestions? Let us know in the Thinkwise Community! DemoAs always, we have made a demo for you: try it here. Before trying it out, press 'Clear Cache' on the login screen.Read the Universal UI user interface guide to get familiar with the GUI. Universal UI version 2026.1.10For more information about setting up the Universal GUI, see the Universal GUI setup guide.Note:Use a modern browser to access the Universal GUI, for example, a recent version of Chrome, Firefox, Edge, or Safari mobile. Deploy the Universal UI on the same server as Indicium or an allowed origin in appsettings.json. Run all hotfixes on IAM and the Software Factory that you plan to use for the Universal GUI. Use the latest version of Indicium.Download the Universal UI version 2026.1.10 here ContentsDemo Universal UI version 2026.1.10 New and changed Modelers in the Universal UI 'Code diff editor' control to compare code files 'Close document' supported for modal documents Tooltips shown in column headers Set 'Auto row height' in grids Improved 'Export immediately' behavior Updated alignment in 'Filter' pop-up Updated copying content from grid cells Minor fixes and tasks What we will be working on next sprint New and changedModelers in the Universal UInewWe have made modelers for data models, screen types, and process flows available for the Software Factory in the Universal UI. These modelers were available in the Windows GUI, but have now been updated and integrated into the Universal UI. With improved usability, a modern look and feel, you can now model faster and more efficiently in the Universal UI.Data modeler in the menu Data > Data model > tab DesignProcess flow modeler in the menu Processes > Process flows > tab DesignScreen type modeler in the menu User interface > Screen types > tab Design'Code diff editor' control to compare code filesnewWe have added a new domain control type Code diff editor to the Universal UI. This control is specifically designed for comparing and editing code files, making it easier to identify differences and resolve conflicts. When using this control, you must add two columns or task parameters: one for the original or source code, and one for the new or target code.Review code differences using the 'Code diff editor'We have added this control in the Software Factory in the following places:menu Models > Merging > tab Active conflicts > task Resolve code difference menu Business logic > Functionality > tab Code review > tab Changes > task Compare code history menu Business logic > Functionality > tab Deploy > task Compare program object with archive menu Quality > Code review > tab Changes > task Compare code historyThis will help you to review and manage code changes more effectively, while working in the Software Factory.You can add this control to your applications as well. To do so, you must create two columns, task parameters or report parameters with the following settings:Setting Source code column or parameter Target code column or parameter Control Code editor Code diff editor State Read-only or Hidden Read-only or Editable  'Close document' supported for modal documentsnewThe process action Close document is now supported for documents opened as a modal popup. You can use this action to close the popup to continue the flow in behind. Tooltips shown in column headersnewIf a grid column does not have a tooltip assigned, it will now have a tooltip containing the column's display name when being hovered over. You can configure tooltips using alternative translations. For more information, see Alternative translations. Set 'Auto row height' in gridsnewYou can now use Auto row height to control the row height dynamically in grids. This option is available for grids that contain either:Multiline controls with the the checkbox Word wrap enabled. HTML controlsSelect Auto row height from the overflow menu in the action bar. When this is selected, the option Default row height becomes available to disable it again. By default, these options are available in the overflow menu, but you can change this behavior in a default or custom action bar.If Auto row height is enabled, the following behavior occurs:Each row in the grid will adjust its height based on the content within that row. In editable grids, when typing in a Multiline control with Word wrap enabled, the row height will dynamically increase or decrease as text is added or removed. When you change the Auto row height setting, the active row will be scrolled to the top of the screen to prevent scrolling issues. When you switch between subjects, the Auto row height setting is remembered for each subject. This setting is not stored in the browser or user preferences.When you have enabled Auto row height in a grid with many rows, lazy height calculation is applied to optimize performance. This ensures only relevant row heights are calculated. This has several consequences, further described in Lazy height calculation. Improved 'Export immediately' behaviorchangeWe have improved the behavior of the Export immediately option in the export wizard. When you select this option, the exported data will now match the current grid view more closely.The following changes have been made:Only the columns that are currently visible in the grid will be exported. This includes any user-defined column visibility settings. For example, if a user has customized Grid settings in the toolbar that hide certain columns. If Copy to clipboard is disabled for a column in the Software Factory, that column will not be included in the export. The order of the columns in the exported file will match the order of the columns as they are displayed in the grid, including any user-defined column ordering. For primary key columns, this order will also be respected, even if they were originally placed at the front of the grid.Since primary key columns may not always be included in the export, importing and updating data from an Excel export may not work as expected. The entire primary key is required to accurately identify records. If you need to ensure that primary key columns are included in the export, make sure that these columns are configured to be visible in the grid. For more advanced export options, use Custom export. Updated alignment in 'Filter' pop-upchangeWe have updated the alignment of the field Operator when it contains Between with the value fields From and Up to in the Filter pop-up. The operator and value fields are now aligned vertically to improve readability.Before, the fields were misalignedFields are now aligned vertically Updated copying content from grid cellschangePreviously, when you copied text from a grid cell, the entire content of the cell would be copied to the clipboard. It did not matter if you had selected the entire cell or just a portion of the values within it. We have updated this behavior, so you can now copy a selected portion of values from a grid cell. Minor fixes and tasksIn some cases, when hovering over grid rows, the conditional layout background color would not be applied throughout the entire grid row. This has been fixed. Resolved an issue where SVG icons were sometimes not displayed correctly, leading to some parts being cut off. When importing data, the preview would display 'Invalid Number' for zip codes containing letters if the zip code in the first row consisted only of numbers. This has been fixed. Fixed column header filters in the Software Factory, so sorting on Sequence no. or alphabetical order now works as expected. In the Maps component, an unwanted marker was automatically being placed at coordinates [0, 0] that could not be interacted with. This marker has been removed. Fixed an issue where too much width was given to grid group columns when some of the group columns were hidden in the grid. When a DATETIME domain control was set to Local, times shown when a Form was in edit mode were incorrect. This has been fixed. In some cases, task settings for positioning the fields or for a custom text on the execute buttons were ignored since version 2025.3.12.0. This has been fixed. What we will be working on next sprintThe next sprint we will be working on:Enhanced date interval filtering in filter pop-ups. Cube view filters available directly from the filter pop-up. Group summary support added to grids. Support for user-defined start objects. Configurable checkbox values for true and false (for example J/N or Y/N). Ability to delete the full data set in a single action. Improved offline support, including opening subjects marked as available offline.

Related products:Universal UI
Release notes Indicium 2026.1.10

Release notes Indicium 2026.1.10

Hello everyone,In this release we are enforcing a response size limit for table endpoints to protect both Indicium and the database from accidental or malicious large data requests. We are also preparing for Indicium's login screen to become the default login method for the Thinkwise platform. Note this release includes a breaking change, so please read the details below carefully before updating.You can read more about Indicium's features in the Indicium user manual.Download Indicium release 2026.1.10 here. Do you have any questions or suggestions? Let us know in the Thinkwise Community! ContentsBreaking Response size limit enforced for table endpoints New and changed Preparation for Indicium login as default  BreakingResponse size limit enforced for table endpointsbreakingFrom this version onwards, Indicium now limits the response size for tables and view to 1000 records for Thinkwise platform version 2026.1 and higher. We have implemented this change to protect both Indicium and the database from accidental or malicious large data requests that could overload either the web server or database server.Thinkwise platform GUIs are not affected, since they automatically send additional requests when more than 1000 records are requested.Ensure that Indicium 2026.1.10.0 is only used with GUI versions 2026.1.10.0 or newer. If an older GUI version is used, these automatic additional requests will not occur, and data will be cut off after 1000 records (if the page size exceeds 1000). This may lead to incomplete data being displayed in the GUI.External applications and third-party integrations and other clients may be affected by this change. Previously, these clients received all records from table endpoints in a single response. Now, the response size limit is enforced by default, meaning that a maximum of 1000 records are returned per response.To retrieve all records, these integrations must now use the @odata.nextLink to fetch subsequent pages of data in multiple requests. Alternatively, you can use the option to exempt specific API endpoints from this response size limitation in the Software Factory and Intelligent Application Manager:In the Software Factory, go to the menu Maintenance > Runtime Configurations > tab Response size limit exemption. In the Intelligent Application Manager, go to the menu Authorization > Applications > General settings > tab Response size limit exemption.Expanded detail and lookup sets are also limited to 1000 records each, depending on the response size limit exemption settings of the main target of the request. For example, if /project is exempted and you expand the sub_project detail in the same request, then the expanded detail is not limited to 1000 records. If /project is not exempted and you expand the sub_project detail in the same request, then the expanded detail is limited to 1000 records.For Thinkwise platform 2025.3 and lower, you can limit the response size by setting the extended property enableresponsesizelimiting to 1 for the corresponding application in IAM. New and changedPreparation for Indicium login as defaultchangeIn Thinkwise platform 2025.2 we added features to improve the login experience. Here, we noted that the Universal login screen would be fully replaced by Indicium's login screen in the future. We also recommended to set AlwaysDeferLogin to true in the appsettings.json to already force Universal to defer authentication to Indicium. In this release, we are taking the next step in making Indicium's login screen the main method for signing in:The AlwaysDeferLogin setting in the appsettings.json will be true by default. It is still possible to override AlwaysDeferLogin in the appsettings.json for now. However, this setting will be removed in the near future.

Related products:Indicium Service Tier
Release notes Upcycler 2026.1.10
Thinkwise Platform 2026.1

Thinkwise Platform 2026.1

  This release significantly advances our Technology-as-a-Service strategy by adding PostgreSQL database as the fourth supported database type. PostgreSQL is an open-source and freely available database with a strong track record in enterprise applications. In addition to Microsoft SQL Server, IBM DB2 for iSeries, and OracleDB, developers can now opt to build applications with PostgreSQL.We are also proud to launch the full Software Factory in the Universal UI! You can now access the Software Factory on any device with supported browsers, eliminating the need for installing a client application. All 3-tier features are now available to further improve the Software Factory. We have already made some improvements, including upgraded graphical modelers, improved usability, and the launch application task being available directly from the menu.Following our Lifecycle policy, the Windows GUI is no longer supported from this release onwards. The 3-tier architecture is now enforced, so make sure all your applications run on the Universal UI before upgrading to Platform version 2026.1! Refer to our comprehensive 7-step approach in the documentation, to smoothly transition to the Universal UI on Platform version 2025.3 and sunset the Windows GUI.Recently, we have made Thinkwise Cloud available as hosting option for the Thinkwise platform. The Thinkwise Cloud is a managed Platform-as-a-Service (PaaS) environment, allowing you to deploy and run your Thinkwise applications without needing to manage your own infrastructure. If you host the Software Factory and Intelligent Application Manager in the Thinkwise Cloud, certain limitations apply. Unavailable features are automatically disabled from Thinkwise platform 2026.1 onwards.  For more information, see the Thinkwise Cloud page on our website.We have made the highly requested feature of using subflows in regular Process flows available. This helps developers create modular process flows that are easily reused, greatly accelerating development and boosting maintainability. In addition, for process flows, we added the new Open filter process action as a more flexible and formalized replacement for the Start empty with filter.While this release mainly focused on introducing PostgreSQL support and bringing the Software Factory to the Universal UI, it also includes 10 Community ideas representing 103 votes. A full overview of all release notes is available at  Thinkwise Platform 2026.1!

Related products:Software FactoryIntelligent Application ManagerUniversal UIIndicium Service Tier
Release notes Universal UI 2025.3.14

Release notes Universal UI 2025.3.14

January 19, 2026Full release (from release candidate 2025.3.14) Additional fixes this release: Executing an action on a full dataset would result in a Bad Request error when the subject contained an image. This has been fixed. Fixed an issue where a process flow could be canceled before executing a task when the task definition was not yet loaded. This issue was introduced in Universal UI 2025.3.12.0 and only occurred when a context stored procedure was running, typically after a subject refresh. Hello everyone,In this release, you can now filter on blank values in grids, edit code fields directly in your IDE, and see aggregations for each group in grouped grids. We now support using the new Refresh table process action as a starting action for process flows, allowing you to start process flows after a manual or automatic refresh. Note that this release includes a breaking change, so read the release notes carefully before upgrading.Do you have any questions or suggestions? Let us know in the Thinkwise Community! DemoAs always, we have made a demo for you: try it here. Before trying it out, press 'Clear Cache' on the login screen.Read the Universal UI user interface guide to get familiar with the GUI. Universal UI version 2025.3.14For more information about setting up the Universal UI, see the Universal UI setup guide.Note:Use a modern browser to access the Universal UI, for example, a recent version of Chrome, Firefox, Edge, or Safari mobile. Deploy the Universal UI on the same server as Indicium or an allowed origin in appsettings.json. Run all hotfixes on IAM and the Software Factory that you plan to use for the Universal GUI. Use the latest version of Indicium.Download the Universal GUI version 2025.3.12 here ContentsDemo Universal UI version 2025.3.14 Process flow API changed New and changed Edit code locally in IDE Filter on blank values Use 'Refresh table' as starting action Minor fixes and tasks What we will be working on next sprint Process flow API changedbreakingWe have made a change to the process flow API to support a new feature for process flows. This feature will be introduced in Thinkwise platform version 2026.1.This change affects Indicium running against older platform versions. If your Indicium, Universal UI, or Windows GUI 3-tier is older than version 2025.3.14, you may encounter issues with process flows that have multiple starting points.Keep your Indicium and Universal UI or Windows GUI 3-tier on the same version and upgrade to the latest version to prevent any issues. New and changedEdit code locally in IDEnewYou can now edit code in code fields directly in your preferred IDE. This feature was already available in the Windows GUI and has now been reintroduced in the Universal UI.To ensure a smooth experience, install the Thinkwise Workspace Listener from TCP here. This tool automatically opens the code files in your IDE when you select Edit in the Universal UI.Then, to set up code editing for the first time, select Edit. A pop-up appears, asking you to Select workspace folder. This folder must match the workspace folder configured in the Thinkwise Workspace Listener. After you have selected a workspace, a file is either opened automatically by the Thinkwise Workspace Listener or can be opened manually in your IDE.  Any changes saved in the IDE are automatically synchronized back to Universal.Select 'Edit' to open code fields in your IDEFilter on blank valuesCommunity idea newYou can now filter on blank values in column header filters and using Quick filter. This allows you to easily find records where a specific column has no value.To filter on blank values using the column header, select Filter from the grid header of a column:For domains with elements: select the checkbox (Blank Values). For domains without elements, select Filter  and enter (Blank Values) in the field.Select the checkbox '(Blank Values)' to filter on empty valuesType '(Blank Values)' to filter on empty valuesTo filter on blank values using Quick filter, select a grid cell with an empty value. Then select Quick filter from the action bar (or use the shortcut CTRL + ALT + R). The filter is then applied to the column of the selected cell. Use 'Refresh table' as starting actionnewYou can now use the Refresh table process action as a starting action for process flows. When a table is refreshed manually by selecting Refresh in the action bar or automatically, the process flow will start. This is useful for scenarios where you want to perform additional actions after refreshing the data in a table. Minor fixes and tasksIf detail tabs have a tooltip, they are now displayed when the user hovers over them. In some cases, when hovering over grid rows, the conditional layout background color would not be applied throughout the entire grid row. This has been fixed. If you used the Numeric datatype for checkboxes to filter, the checkbox in the filter popup was not clickable, resulting in a bad_request error. This has been fixed. In certain situations, Multiline controls in form lists claimed too much width and were misaligned. This has been fixed. What we will be working on next sprintThe next sprint we will be working on:Enhanced date interval filtering in filter pop-ups. Cube view filters available directly from the filter pop-up. Group summary support added to grids. Automatic row height calculation for grids. Support for user-defined start objects. Configurable checkbox values for true and false (for example J/N or Y/N). Ability to delete the full data set in a single action. Improved offline support, including opening subjects marked as available offline. 

Related products:Universal UI
Release notes Indicium 2025.3.14

Release notes Indicium 2025.3.14

Important: the Process flow API of Indicium contains breaking changes in version 2025.3.14. To keep Process flows working, the versions of Indicium and Universal UI / Windows GUI 3-tier should be in sync.Hello everyone,In this release we have introduced a new health check for Redis, improved the reloading of settings, and fixed several issues. Note that this release includes a breaking change, so make sure to read the details below.You can read more about Indicium's features in the Indicium user manual. Do you have any questions or suggestions? Let us know in the Thinkwise Community! About IndiciumTwo types of the Thinkwise Indicium Application Tier are available:Indicium Basic (EoL): for use with the Windows GUI and Mobile GUI. This basic version does not support features such as system flows and OpenID. Indicium: for use with the Universal GUI and via APIs. This version uses the full range of Indicium functionality.Download Indicium release 2025.3.14 here.ContentsAbout Indicium Breaking Process flow API changed New and changed Added health check for Redis Reloading settings in the background Resolved BOM handling issue when converting binary to text 'Open link' process action supports relative URLs Minor fixes and tasks BreakingProcess flow API changedbreakingWe have made a change to the process flow API to support a new feature for process flows. This feature will be introduced in Thinkwise platform version 2026.1.This change affects Indicium running against older platform versions. If your Indicium, Universal UI, or Windows GUI 3-tier is older than version 2025.3.14, you may encounter issues with process flows that have multiple starting points. To prevent possible issues, keep your Indicium and Universal UI or Windows GUI 3-tier on the same version and upgrade to the latest version. Technical details of the API changeA process flow can be started with a POST call to the /process_flow_id endpoint, this has not changed. If the process flow runs into an action that needs to be handled by the client (such as an Open document or a Go to row action), it will respond with a Location header that contains a URL points to the pending process action. The client uses this URL to continue the process action via a POST on /continue. However, when you want to start a process flow via a UI action and the process flow has multiple starting actions, then it is the responsibility of the client to append the ID of the process action to the URL returned in the Location header to start the process flow. This is where the breaking change occurs.For example, calling POST /process_flow_id on such a process flow will return:Location: /my_process_flow(<guid>).Previously, the client would have to append the following to start the process flow:/my_process_flow(<guid>)/my_process_action/continue Now, the client has to append this to start the process flow:/my_process_flow(<guid>)/my_process_flow.my_process_action/continue New and changedAdded health check for RedisnewIndicium now includes a health check for when Redis has been configured.Health checks in Indicium can be accessed via the /health endpoint.See also, Health check endpoint. Reloading settings in the backgroundchangeIn the Indicium 2025.3.13 release, we ensured that Global, Web Domain and Client Application settings are reloaded automatically from IAM without requiring a restart of Indicium.We have extended this functionality to include OpenID Connect Provider settings as well. Indicium will now reload OpenID Connect Provider settings automatically in a 1 minute interval. This means that adding, updating or removing an OpenID Connect provider in IAM will no longer require a restart of Indicium. Resolved BOM handling issue when converting binary to textchangeAn issue caused by incorrect handling of byte order marks (BOM) when converting binary data to text has been resolved. This issue would occur when mapping a binary output parameter of a process action (for example on a Read file connector) to a text process variable, such as (n)varchar. If the binary data contained a byte order mark (2-4 bytes at the beginning, indicating encoding), these bytes would also be converted to text, resulting in several unprintable characters at the start. With this change, if a byte order mark is present, Indicium will now use that encoding instead of the provided encoding input parameter. 'Open link' process action supports relative URLschangeThe Open Link process action now supports relative URLs as well (rooted by the Universal GUI that receives the process action), instead of only absolute URLs. Minor fixes and tasksFixed an issue where DevExpress reports using C# scripts failed to run when the Reporting:DevExpress:Runtime was set to use NET with the Reporting:DevExpress:UnsafeScripts option enabled. Windows machines default to using NETFramework for the Reporting:DevExpress:Runtime and were not impacted unless explicitly configured this way. DB2: You can now send abort messages using tsf_send_message from a trigger when using a DB2 driver that requires DB2 Connect (setting DataProviders:DB2:Mode to Core instead of iSeries). To use this feature, Thinkwise platform version 2025.3.11 or higher is required. If you are on a lower version, you can set the extended property DB2UseNewMessageBuffer to true.  

Related products:Indicium Service Tier
Release notes - Testwise v0.2.0-beta.22 (Beta)

Release notes - Testwise v0.2.0-beta.22 (Beta)

Hello everyone,We’re pleased to announce Testwise v0.2.0 (beta), a major milestone release that marks a big step in model-driven test automation for Thinkwise applications.This release significantly reduces setup effort by introducing automatically generated Subject Page Objects, providing a consistent and extensible foundation for building end-to-end tests. As always, this Testwise version is compatible with the latest Universal GUI version available at the time of release. Do you have any questions or suggestions? Let us know in the Thinkwise Community!About TestwiseTestwise is a Playwright-based support library built specifically for Thinkwise applications. It provides helpers and abstractions aligned with Thinkwise concepts, reducing boilerplate and making end-to-end tests easier to write and maintain.Testwise can be adopted incrementally and works alongside existing testing approaches. Learn more about Testwise here.ContentsAbout Testwise What’s New in v0.2.0 Installation Notes (v0.2.0 beta) Using the Generated Artifacts Coming NextWhat’s New in v0.2.0Model-Driven Subject Page GenerationTestwise can now generate ready-to-use Subject Page Objects directly from your Thinkwise Application model. Effectively, Testwise now performs a couple of API calls to the IAM of the Application you’re testing, in order to retrieve and prebuild all relevant information about the Subject and Screen Type combinations of your Application.These generated pages include:A fully initialized page context Standard layouts (forms, grids, tabs) Toolbars and common actions Built-in helper methods and utilitiesBy generating these artifacts, Testwise also takes ownership of their ongoing maintenance.As the platform evolves, improvements and fixes to these generated pages are handled centrally, meaning you benefit automatically without having to maintain this code yourself.This removes the need to manually wire components for every new page and provides a consistent structure across projects.This change requires you to a dedicated Playwright Project for each Thinkwise Application you test, to prevent risk of overrides and corruption of Subject and Screen Type information.Reduced Boilerplate & Faster SetupBy extending generated Subject Pages instead of building everything from scratch, teams can:Eliminate repetitive setup code Get productive faster when adding new pages or tests Reduce long-term maintenance effort Focus on test logic instead of plumbingExisting approaches continue to work alongside this new functionality, allowing you to adopt it incrementally.Predictable Naming & StructureGenerated pages follow a clear and consistent naming convention based on:Subject name Screen type (Main, Detail, Popup, Zoom) Optional variantsThis makes generated artifacts predictable, easy to import, and reusable across tests. Installation Notes (v0.2.0 beta)Existing Testwise usersIf you already have Testwise set up:Update testwise.json Add the required configuration under environmentSettings: {  "environmentSettings": {    "baseUrl": "https://<your-environment>",    "serviceUrl": "https://<your-environment>/service",    "metaEndpoint": "iam",    "authUser": "<username>",    "authUserPassword": "<password>",    "guiApplAlias": "<application-alias>"  }} Install the beta version npm i @thinkwise/testwise@0.2.0-beta.22 No further install steps are required.New usersIf this is your first time installing Testwise:Install Testwise npm i @thinkwise/testwise@0.2.0-beta.22 This automatically initializes the project and generates a testwise.json file. Update configuration Replace the example values in testwise.json with your actual environment and authentication details. Sync the model npx testwise sync Continue with Step 4 of the Testwise documentation. A note about Model synchronization: If your testwise.json configuration is already in place before installing this version, the model and artifacts are generated automatically during installation. If you install first and add or update configuration afterwards, you will need to run:  npx testwise sync The documentation currently still references npx testwise install. This step is no longer required for the v0.2.0 beta, but remains valid for the latest stable versions (v0.1.x). Documentation will be updated once v0.2.0 exits beta. Using the Generated ArtifactsThis release generates Subject Page Objects that you can directly import and use in your tests or extend in your own pages. Below are two examples to help you get started.Naming convention (important)Generated artifacts follow this naming pattern:<SubjectName><Variant?><ScreenType>RulesSubject name is converted from snake_case to PascalCase Screen type is one of: Main Detail Popup Zoom Variants (if used) are inserted between subject name and screen type, also in PascalCaseExamples:Model subject Variant Screen Generated name category - Main CategoryMain category - Detail CategoryDetail category Admin Main CategoryAdminMain  Before – Testwise v0.1.x (manual setup in test)Manual navigation and manual component lookup inside the test.import { test } from "@thinkwise/testwise";test("test", async ({ page }) => { // Navigate to the subject (example path — whatever you used in 0.1.x) await page.goToDeepLink('subject=category') // Manual component wiring (example – locate the input yourself) const nameInput = page.getByTestId("form-field__name__control"); await nameInput.fill("Category A");});CharacteristicsTest owns navigation logic Test knows DOM details (such as testId) Repeated code wiring across tests If the UI changes, the test changesAfter – Testwise v0.2.0 (beta) (generated Subject Page Object)Use a generated Subject Page Object with pre-wired components.import { test } from "@thinkwise/testwise";import { CategoryMain } from "@thinkwise/testwise/subjects/category";test("test", async ({ page }) => { const categoryPage = new CategoryMain(page); await categoryPage.form2.nameInput.fill("Category A");});What changedNo manual “find UI” wiring in the test The test reads like intent (page → form → input field) Generated artifacts are maintained by Testwise (less maintenance on your side) SummaryGenerated Subject Pages are ready to use You can import them directly in tests Or extend them in your own page objects Naming is predictable and based on your Thinkwise modelMore advanced patterns and guidance will be shared in upcoming sessions and documentation. Coming NextWe’ll be validating this new approach through:A Knowledge Session A hands-on Workshop immediately after the Knowledge SessionBased on feedback, we’ll expand the documentation and publish deeper technical blogs covering best practices, patterns, and advanced usage. 

Related products:Testwise