Skip to main content
  • 564 Product updates
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 GUI
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
Release notes Universal UI 2025.3.13

Release notes Universal UI 2025.3.13

December 22, 2025Full release (from release candidate 2025.3.13) Additional fixes this release: Fixed an issue that was introduced in Universal UI 2025.3.13 release candidate where grid controls, such as checkboxes, were vertically misaligned. Fixed a crash that could occur when loading data in pivot grids and charts, caused by non-unique aliases in the SQL query. This issue could occur in Universal UI 2025.3.10 and higher Hello everyone,We have extended filtering capabilities in this release, allowing you to filter numeric and date/time values directly from column headers. You can now also use additional operators in the Filter pop-up, allowing for more precise filtering of data. To improve your workflow, we have added the ability to execute tasks or reports across multiple pages in a grid. Display limits will no longer restrict you from performing actions on all relevant rows. We have also made some optimizations and minor fixes to enhance your overall experience with the Universal UI, such as improving the Export immediately task and fixing issues with keyboard shortcuts. Last but not least, we have improved the usability and styling of Multiline and HTML controls in grids and forms. 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 GUI user interface guide to get familiar with the GUI. Universal GUI version 2025.3.13For 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 GUI 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.13 here ContentsDemo Universal GUI version 2025.3.13 Hotfix 2025.3.12.1 for charts Upgraded Next.js to version 16.0.10 Breaking Changed data-testid for column header filters New and changed Spell check for HTML editor Added operators to Filter pop-up Execute tasks or reports across multiple pages Extended column header filtering Changed asterisk color for mandatory fields Updated availability of 'Filter' popup Minor fixes and tasks What we will be working on next sprint Hotfix 2025.3.12.1 for chartsThe hotfix of Universal GUI 2025.3.12.1 is included in this release. This fix resolves an issue where charts were not available and a license expiration watermark was shown.If you cannot upgrade to this version, create a ticket in TCP. We will provide an alternative hotfix for your current version. Upgraded Next.js to version 16.0.10Recently, a critical 10/10 vulnerability in React Server Components was disclosed by the React team. The Universal UI is not affected by the vulnerability. Read more in the recently published blog Information about React and Next.js vulnerabilities.To prevent false positives in dependency scanners, Next.js is upgraded to version 16.0.10 in this release.Our development team continuously monitors security advisories and responds promptly. Additionally, we are preparing a living security document to keep you informed about relevant security updates. BreakingChanged data-testid for column header filtersbreakingAs a result of improvements made to column header filtering, the following data-testid has been changed:grid__custom__menu__icon to grid__custom__filter__iconCheck your automated tests and update them if necessary. New and changedSpell check for HTML editorCommunity idea newSpellcheck is now available in the HTML editor. The spellchecker uses the browser's built-in functionality. Behavior may vary between browsers.Errors are underlined in red, in this case right-click was used to show suggestions.Added operators to Filter pop-upnewTo further improve filtering capabilities, we have added the following operators to the Filter pop-up for look-up type columns:Contains Does not contain Starts with Does not start with Ends with Does not end with Execute tasks or reports across multiple pagesnewPreviously, if you had paging set up in your application, tasks or reports could only be executed for the visible rows on the current page. The same applied if you had no paging set up, but the number of records exceeded the maximum display limit. In these cases, the message 'There are more records than can be displayed' was shown, and tasks or reports could only be executed for the visible rows.You can now execute tasks or reports for rows across multiple pages in a grid. In addition, you can execute tasks or reports for rows that are not displayed in a grid due to the maximum display limit. To do this, select all visible rows in a grid by holding Shift, or by pressing Ctrl + A (see also, Available keyboard shortcuts). After selecting the rows, execute the desired task or report. A popup is displayed with the following options:Selected Rows - Execute the action for selected rows. All Rows - Execute the action for all available rows in the grid. If you select this option, active search, filters, and prefilters are applied when executing the action for all available rows. This means that if you have filtered the grid on a specific value, for example a customer, the action will only be executed for all customers matching that filter.Select whether to execute the action for selected rows or all available rowsExtended column header filteringCommunity idea changeIn the previous 2025.3.12 release, we introduced column header filtering for all types of numeric values. We have now added a distinction between qualitative and quantitative value types, allowing you to filter a range of numeric values instead of selecting absolute values.This included values with the following domain controls: Numeric, Calculator, Progress bar, Currency, and Percentage.Filter on numeric values in the column headerIn addition, you can now filter date and time values in column headers using the Date, Time, and DateTime domain controls.Filter date and time values by entering a 'From' and 'Up to (inclusive)' valueYou can filter quantitative numeric, Date, Time, and DateTime values in the following ways:Specify a range by entering values in the From and To fields. Enter a value in the From field to filter for values greater than or equal to a specified value. Enter a value in the To field to filter for values less than or equal to a specified value. Enter the same value in both the From and To fields to filter on that specific value.Styling of the column header filter pop-up has also been improved for all available filter types. The three-dot menu has been replaced with a filter icon in the column header. Clicking on the icon opens the filter pop-up directly. Additionally, a badge on the filter icon is shown if a filter is applied to a column. This improves usability and makes it easier to identify which columns have active filters.Previous styling included a three-dot menu to access filtering options A badge now indicates that active filters are applied to the columnChanged asterisk color for mandatory fieldschangePreviously, the asterisk (*) indicating mandatory fields used the color of the main theme. The asterisk now uses a red color (#EF5350) to improve visibility and consistency with common design practices. Furthermore, the position of the asterisk in grid cells has been adjusted to be in the top left corner. Updated availability of 'Filter' popupchangePreviously, the Filter popup would be disabled when all columns had the Visible for filter setting set to Extended. This resulted in users being unable to access the Filter popup.The Filter popup is now always available in the action bar, regardless of the column filter visibility settings. In cases where you want to disable the Filter popup for a subject, clear the checkbox Filter in the menu Subjects > tab Settings > tab Permissions > group Data. Minor fixes and tasksWe have made the following minor fixes and changes in this release: When hovering over a checkbox or its label, tooltips were not shown. This is now fixed. To hide field labels, the Label width of a label can be set to '0'. In these cases, the asterisk (*) for mandatory fields was not displayed. Asterisks (*) are now shown when the label width is set to '0' to indicate mandatory fields. Previously, scrolling to to the beginning or end of the Code editor and SQL editor stopped scrolling on the entire form. Now, scrolling to the beginning or end of these editors continues scrolling if more content is available in the form. Using characters like &, #, and + in a Contains operator in Filter pop-up would lead to bad_request errors. This has been fixed and special characters can now be used in filter operators. Previously, when executing the task Export immediately from the overflow menu to export data to Excel, the desired columns were not always included in the export. This has been fixed in the following way: Primary key columns are always included in the export. Password-type columns are always excluded from the export. The general column visibility is used, and only visible columns are exported. The grid column definition is now loaded first to ensure the correct order of columns in the export. IMAGE COMBO fields did not correctly display both icon and text when there was insufficient space. It now only displays the icon to prevent this behavior. Edit row process flow start action would not be triggered when a Scheduler event was resized or dragged. This has been fixed. Fixed an issue where Ctrl + Enter keyboard shortcut would not work for HTML and Code editor controls. This shortcut is used to save records in Add, Edit, or Copy mode for both classic and modern key bindings. For more information, see Available keyboard shortcuts. Fixed an issue where the selected text in a HTML control would sometimes be lost when opening a dropdown menu in the toolbar. We have optimized performance by removing an unnecessary delay that occurred when expanding or collapsing Listbar groups. Previously, it took a significant amount of time to switch rows and expand or collapse groups when many rows were present in a Tree screen component. We have improved the performance, so these actions are now much faster. Conditional layouts were applied incorrectly to grid aggregation rows. This has been fixed. We have improved the usability and styling of Multiline and HTML controls: In grids: Multiline controls with Word wrap selected are always top-aligned. Multiline controls without Word wrap remain center-aligned in non-edit mode and become top-aligned in edit mode. HTML controls are now: Scrollable in both edit and non-edit mode. Top-aligned in both edit and non-edit mode. Consistent in styling with HTML controls in forms. Both controls now have a padding of 4 px at the top to ensure sufficient space between the top of the cell and cell values. In forms, HTML controls now: No longer have a white background when focused in Dark mode. No longer have shifting contents upon focus in forms or pop-ups. Have the same padding between the label and the content as Multiline controls. Have consistent spacing between elements in both edit mode and non-edit mode. When the Row height in a grid was not the default value, the input fields in an editable cube were not aligned correctly. This has been fixed. Fixed an alignment issue in the Import screen in the Prepare data step. Open document in a Floating window now behaves as expected. If a process flow opens a document in a Floating window, it is opened in a new browser tab or window. The browser may sometimes block this action for security reasons. In such cases, the user must allow the new tab or window to open from the browser's address bar Improved the display of dropdown lists in domain elements and lookups. Dropdown lists now better utilize available space on the screen, preventing text from wrapping on smaller dropdowns. Fixed an issue where the Color control would show black (#000000) as the value when the value was actually empty. Improved tooltips: If a prefilter has a tooltip, Universal now also displays the prefilter translation in the tooltip. This helps users understand the purpose of the prefilter. You can now base conditional layouts for cubes on fields that are not included in the cube view. For example, a conditional layout for the field customer_name can now be based on the field order_status, even if order_status is not part of the cube view. In some cases, when you edited a time value in the grid, default values for other columns were not displayed. This issue has been resolved.  What we will be working on next sprintThe next sprint we will be working on:Date interval filtering in filter pop-ups Cube view filters shown in the filter pop-up Filtering on empty values in quick filters and the advanced filter pop-up  Process flows that start after (automatic) refresh Full Universal UI support for the Software Factory, including modelers and code editor integration (planned for 2026.1) Grid group summaries  

Related products:Universal GUI
Release notes Indicium 2025.3.13

Release notes Indicium 2025.3.13

Hello everyone,We have improved the workflow when changing IAM settings by making Indicium automatically reload certain settings. In addition, we have addressed an issue that may appear when generating DevExpress reports on Azure Web Apps and fixed a bug in the Azure blob storage provider that affected several process actions.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.13 here.ContentsAbout Indicium New and changed Indicium reloads IAM settings automatically DevExpress reports on Azure Email for two-factor authentication Minor fixes and tasks New and changedIndicium reloads IAM settings automaticallynewPreviously, when certain changes were made to settings in IAM, these changes would not automatically be picked up by Indicium. It was necessary to manually restart Indicium to apply changes.Now, it is no longer necessary to manually restart Indicium when making changes settings available in the following screens in IAM:menu Client apps > Client applications menu Settings > Web domains menu Settings > Global settingsThinkwise platform version 2025.3 is required to reload settings in the background for Web domains.Indicium automatically picks up any added, removed, or updated settings and applies them at runtime. For performance reasons, it can take up to a minute for changes in settings to take effect.In the next release of Indicium, changes made to OpenID provider settings will receive the same treatment, removing the need to restart Indicium. DevExpress reports on AzurechangeIn some cases, reports could no longer be generated in Azure when using Azure Web Apps (Windows). After investigating the issue, we found that the child process (prockees.exe), which is used as a proxy to create reports on Azure, sometimes failed to start. This behavior was likely caused by a change on the Azure side, since the issue appeared unexpectedly. Logs indicated that the communication method used with the child process caused the crash.If you are experiencing issues, you can switch the communication method from named pipes to sockets. To do this, add the following code to the appsettings.json file:"Reporting": { "DevExpress": { "TransportMode": "Socket" }}Alternatively, add the following environment variable to your Azure Web App:Name: Reporting__DevExpress__TransportMode Value: Socket Email for two-factor authenticationchange main administrator user administratorFor TOTP authentication in IAM, you could allow users to reset their TOTP device via a validation code sent by email. You could do this by selecting Allow fallback to email in IAM in the menu Authorization > Users > tab Form > group Login. This was useful in cases where users were unable to use their device for TOTP authentication.We have now extended the functionality of Allow fallback to email. Users can now use a one-time code sent by email to sign in, instead of using TOTP authentication. This option is intended for users who do not have access to their TOTP device. It should not be used as a replacement for TOTP authentication.Users can choose between the following options on the verification page:Send Code by Email - sign in using email two-factor authentication. Reconfigure Authenticator - reset the device used for TOTP authentication.The translations for these labels can be changed to suit your organization's needs. For more information, see Translation.Users can now verify using their emailMinor fixes and tasks A bug in the Azure blobs storage provider caused Indicium to incorrectly list files of sub folders. This resulted in issues in several process actions that used Azure blob storage. For example, an empty zip file was received, even though the source directory was not empty. This has issue has been resolved. Regular file storage operations (i.e., via subjects and tasks) were not affected. This bug affected the following process actions: Email connector Copy Folder List Folder Zip file Unzip file Merge PDF Fixed an issue where number formatting in Excel exports did not follow how they were displayed in the Universal UI. DB2 Previously, when using the Database connector, Indicium did not correctly handle the data type nvarchar(max). As a result, all calls to the DB2 databases failed when using this data type, since Indicium provided a length of -1, which ODBC could not process. This has been fixed. Indicium now correctly detects the comma decimal separator when importing a CSV file, in addition to keeping support for the dot decimal separator. Previously, comma would be removed from numbers, resulting in incorrect values being imported.

Related products:Indicium Service Tier
Release notes Universal GUI 2025.3.12

Release notes Universal GUI 2025.3.12

November 24, 2025Full release (from release candidate 2025.3.12) Additional fixes this release: When a Context procedure disables a detail tab when the detail tab page was already open, it was still possible to interact with the detail tab page.  This has been improved in the following ways: Styling: Higher opacity for the detail tab page Cursor indicates that clicking is not allowed in the detail tab page Elements within the detail tab do not have any hover styling Clicking: It is not possible to click on any of the elements in the detail tab page Tabbing: It is not possible to use Tab to navigate into the detail tab page Shortcuts: It is not possible to use (Task) shortcuts to trigger any actions within the detail tab page Process flows: Process flow actions that try to interact with the detail tab page, e.g. "Add Row", will be unsuccessful  This means that, if relevant, the red arrow of the process steps is followed. Editable Components The components within the detail tab page will never be in edit mode, even if they are set to "auto-edit" in "Subjects". We have fixed scrolling to the start or end of the Code editor and SQL editor resulting in scrolling stopping. If there is more content in the form scrollable, the form scrollbar will now take over. Keyboard shortcut to go to a row new You can now use the keyboard shortcut CTRL+G to open the pop-up Go to Row. In this pop-up, you can enter a row number to quickly navigate to that row in a Grid, Tree or Card list screen component.   Enter a row number to quickly navigate to that row  Hello everyone,In this release we have significantly expanded the column header filtering, allowing you filter more data types. We have added some nice-to-have features such as color pickers in the HTML editor and a keyboard shortcut to quickly navigate to a specific row. Additionally, we have improved the performance of pivot tables and made several minor fixes. Note that this release contains a few breaking changes, so make sure to check these out before upgrading. 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 GUI user interface guide to get familiar with the GUI. Universal GUI version 2025.3.12For 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 GUI 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 GUI version 2025.3.12 Breaking Dropped support for legacy browsers and devices Grid conditional layouts without conditions will now be applied Changed data-testids for Excel-style filters Changes to 'GROUP HEADER LABEL' and 'LABEL' controls New and changed Added data types to column header filtering Color pickers for HTML editor Added functionality for custom components Action buttons Expand all/Collapse now work for grouped Grids too Version check performed before login Improvements for pivot tables Updated order of buttons for Schedulers Minor fixes and tasks What we will be working on next sprint Questions or suggestions? BreakingDropped support for legacy browsers and devicesbreakingAs part of our modernization work, we have removed a legacy code compatibility transformation to improve performance, maintainability, and future compatibility.In line with our lifecycle policy, we are dropping support for iOS versions below 16.4. This means the following devices are no longer supported:First-generation iPhone SE iPhone 6s and 6s Plus iPhone 7 and 7 Plus Seventh-generation iPod TouchUsers on these devices may experience degraded functionality or may no longer be able to access the application. Additionally, older browsers are now more likely to crash. We strongly recommend using a recent browser on a supported device to ensure continued access and optimal performance.Grid conditional layouts without conditions will now be appliedbreakingJust like the Windows GUI, Universal will now always apply grid conditional layouts that don't have any conditions.Changed data-testids for Excel-style filtersbreakingOnly relevant if you're using custom CSS or automated testing based on test-ids on column headers of the grid.As a result of improvements made to grid header filtering, we have updated the data-testid attributes for the Excel-style filter elements. This should only impact automated tests that actively interact with Excel-style filter functionality. Check your automated tests and update them if necessary.All grid header filters now adhere to the following naming convention:Component names - <type>-excel-filter (for example, numeric-excel-filter, domain-excel-filter) List containing checkboxes - <component name>__<field>__list ListItemButton (select all) - <component name>__<field>__list-item-button Select all checkbox - <component name>__<field>__list-item-select-all-checkbox ListItem - <component name>__<field>__list-item__<value> ListItemButton (individual items) - <component name>__<field>__list-item-button__<value> Individual checkbox - <component name>__<field>__list-item-checkbox__<value> Checkbox text - <component name>__<field>__list-item-name__<value> Autocomplete - form-field__<field>__controlThe following data-testids have been changed:Autocomplete Renamed label primitive-value-autocomplete-editor to form-field_<field>__primitive-control__<value> Renamed editor primitive-value-autocomplete-editor to form-field_<field>__primitive-control Boolean Basename excel-filter changed to boolean-excel-filter Added __<value> to individual items. Renamed individual checkbox excel-filter__<field>__list-item-option__<value> to boolean-excel-filter__<field>__list-item-checkbox__<value> Single line Added __<value> to individual items. Domain Basename change excel-filter to domain-excel-filter Added __<value> to individual items. Renamed thumbnail image excel-filter__<field>__<filename>__list-item-image to domain-excel-filter__<field>__<filename>__list-item-image  Changes to 'GROUP HEADER LABEL' and 'LABEL' controlsbreakingIn the Windows GUI, when using GROUP HEADER LABEL or LABEL domain controls, both the column name and value are shown. We have included this functionality in the Universal UI as well to ensure consistency across platforms. Additionally, conditional layout is now correctly applied to both LABEL and GROUP HEADER LABEL controls. Before, labels only displayed values After, labels now display column and valueDue to these changes made to the GROUP HEADER LABEL and LABEL controls, some breaking changes have been introduced.Label controls no longer apply values set in Field height in positions. To achieve the same effect as a multiline label control, use a read-only multiline control with Field height in positions. Label controls now display both the column name and value by default. This may affect existing screens that use these controls, for example, if the layout is designed to accommodate only the value. To revert to the previous behavior of only showing the value, set Label width (px) to '0'. New and changedAdded data types to column header filteringCommunity idea newWe introduced the ability to filter columns using the column header in the Universal GUI 2025.2.13 release. This functionality has been extended to include numeric data types (for example, Integer, Decimal, Float). The list of items is limited to 25 by default to optimize performance and usability. When the number of unique values exceeds 25, the list of checked items is replaced with a dropdown list with a search function. You can change these settings by using the extended property LookupGridHeaderFilterOptionsLimit.Filter numeric values in the column header by selecting from a list of items If the number of values exceeds 25, use the search function to find specific values Color pickers for HTML editornewYou can now select colors for text and background in the HTML editor using a color picker. Use the color picker to select text and background colors in the HTML editor Added functionality for custom componentsnewYou can use custom components to extend the functionality of Thinkwise applications. To further assist in developing custom components, you can now start a process flow from your custom component by posting a message to the parent (Universal) window.Use the following code to do this:window.parent.postMessage({ type: 'startProcessFlow', processFlowId, dataParams }, '*');In this code:processFlowId is the ID of the process flow you want to start. dataParams is a JavaScript object containing the process flow variables, for example, { 'variable_1': 'value of variable 1' }.In addition, we have added the IndiciumRootUrl property to the context message passed to custom components. This property provides the root URL of the Indicium server, which can be useful for constructing paths to resources or services hosted on the Indicium server.For more information, see Custom component. Action buttons Expand all/Collapse now work for grouped Grids toochangeWhen you have a Tree component with an action bar, the options Expand all and Collapse all are available from the overflow menu. These options are now also available for the Grid component.For a Grid, grouping in a grid must be enabled for these options to be available. If the Grid component does not have any groups, these options are not available. If a Tree and Grid component are present in a screen type, using these options expands or collapses all rows in both components simultaneously. Version check performed before loginchangeThe Universal UI checks for a new version on the web server each time it is accessed. Previously, the user would immediately be redirected to the OpenID or Indicium login screen without waiting for this version check to complete. Now, the Universal UI waits for the version check to complete before redirecting the user to the login screen. This ensures that the latest version of the Universal UI is applied before login, preventing potential issues caused by version mismatches. The text 'Checking for updates...' is now displayed while the version check is being performed. Improvements for pivot tableschangePreviously, some query calls were always executed in pivot tables, even when they were not required. We have optimized the performance of pivot tables by removing several of these unnecessary query calls.You can further improve the performance of your application by configuring the general settings of subjects that you do not use in a pivot table. To configure these settings, go to the menu User Interface > Subjects > tab Settings > tab General.For each subject:Set Max no. of records to '1'. Set Page size to '0' to disable paging. Select Start with empty filter. Updated order of buttons for SchedulerschangePreviously, when you changed a selected date range in a Scheduler, the previous and next buttons would move in the interface if the new date occupied more space. The order of the 'Today' button, the previous and next buttons, and the date has been changed to prevent this behavior. This ensures consistency in the user interface when changing date ranges.Previously, the previous and next buttons were positioned before the dateNow, the previous and next buttons are positioned after the date Minor fixes and tasksFixes for Model insights: When Model insights was active and you opened a Filter pop-up, the dropdown for any Operator field did not open. This has been fixed. When the user selected an HTML field with Model insights active, the information for that field was not displayed. This has been fixed. Fixes for modal documents: When a modal document was opened, the underlying document would show unwanted behavior by trying to display the same content as the modal document. This has been fixed. Fixed an issue where closing a modal document that was opened via a process flow would unexpectedly activate the tiles menu, instead of keeping the underlying document open. Fixes for the Scheduler: When deselecting Labels for lowest timescale in a Scheduler view, the events would incorrectly snap to time cells. For example, events occurring within a 15-minute interval would snap to the nearest hour if the lowest timescale was set to 15 minutes. This has been fixed. In the Scheduler, when using the Between / Not between conditions with the Value type set to Constant and the Until value type set to Column, the condition did not function as expected. This has been fixed. In some cases, grid header filtering would show an outdated list of items after the global search or filters on other columns were changed. This has been fixed. DB2 - Fixed an issue where messages sent from control procedures using SET V_MESSAGE_TEXT would only display one character instead of the full message. Previously, opening a screen or menu that contained many tasks or reports triggered numerous network requests, resulting in slow loading times. This was especially noticeable when the Software Factory was used as a metasource. Lazy loading has now been implemented to improve performance. The task or report model is only loaded when you open the task or report. In some cases, all prefilters would disappear after updating a user-defined prefilter. This has been fixed. Previously, if a lookup reference (for example, an untranslated lookup column) did not have a display column, a 'bad request' error would occur in the FormList when attempting to save data. This has been fixed. Previously, the date picker icon was clickable for read-only fields with a Date or Time control. This has been fixed. When you imported data from an Excel file (.xls, .xlsx) and no column header row was found by Indicium, incorrect values were shown in the fields Row which contains column headers and First row from where import begins in the interface. This has been fixed. Fixed an issue where the settings Show grand total for columns and Show total for columns were incorrectly translated in the user interface. In some cases, conditional layout was applied incorrectly: The Font color was not applied in to Read only fields in edit mode. The grid did not apply conditional layout when there were no defined conditions. In some cases, tasks on a custom action bar would not become visible after selecting a record. This issue has been resolved. In some cases, pivot grids would indefinitely show a loading indicator when a cube had no cube views defined. If there are no cube views, users can now create a cube view if the Enable cube panel is selected. Auto refresh for Modal documents did not work as expected. This issue has been resolved. In some cases Export was not visible in the action bar or toolbar for pivot tables. This has been fixed. What we will be working on next sprintThe next sprint we will be working on:Excel-style filtering for date and time columns. Support for date-interval filtering in filter pop-ups. Additional filter options for lookup-type columns, such as contains and starts/ends with. Support for filtering on empty values in both quick filters and the advanced filter pop-up. Numerical range filters following the Excel-style model. A new process action to open the filter pop-up directly (planned for 2026.1). Full support in the Software Factory for all Universal GUI filter functionality, including modeler and code-editor integration (planned for 2026.1). Improved grouping options: tasks, reports, prefilters, and cube views available as group dropdown buttons in the action bar when submenu mode is enabled (planned for 2026.1). Grid group summaries to better visualize aggregated data within grouped grids. Questions or suggestions?Questions or suggestions about the release notes? Let us know in the Thinkwise Community!

Related products:Universal GUI

🚀 Platform improvements for week 47

Hi everyone!We’ve released the following platform improvements this week: IAM 2025.320251117 - Correct sending notifications to tenant users When sending a notification to all users of a Tenant using a large title and text, the notifications could fail to be added. This has been fixed. SF all supported versions (2025.3 - 2024.2)20251119 - Ensure cleanup of unassigned triggers and instead of triggers when upgrading When upgrading an end product using the Smart method, only new objects, actual changes to objects, and deletions are performed on the end product database. However, the cleaning up of old removed triggers and instead of triggers did not function properly, causing these objects to remain on the database after an upgrade if the table or view was not being rebuilt or redeployed. This has been fixed.  Note: to ensure that no triggers and instead of triggers are left over on your end product databases, you can opt to perform a Full upgrade and only execute the Triggers and Instead of triggers code files. SF all supported versions (2025.3 - 2024.2)20251120 - Update cube view when modified through Windows GUI UP When, for example, deleting a saved user preferences cube view in the Windows GUI (2-tier), the GUI would reorder the remaining cube views. During this process, the contents of the user-created cube views were lost. This has been fixed.

Related products:Software FactoryIntelligent Application Manager
Release notes Indicium (2025.3.12)

Release notes Indicium (2025.3.12)

Hello everyone,In this release we have added support for connecting to Azure Cache for Redis using an Azure Managed Identity. Additionally, you can now export i-net Clear Reports to Excel format in Indicium. Finally, we have included a Redis health check in Indicium.You can read more about Indicium's features in the Indicium user manual. 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.12 here.ContentsAbout Indicium New and changed Support for Azure Managed Identity Added support for exporting i-net Clear Reports to Excel Added health check for Redis Minor fixes and tasks Questions or suggestions? New and changedSupport for Azure Managed IdentitynewIndicium now supports connecting to Azure Cache for Redis using an Azure Managed Identity. To enable this, add the following section to appsettings.json (or through environment variables)."RedisSettings": { "ConnectionString": "<connection string>", "UseAzureActiveDirectory": true}We updated the Microsoft Azure SDK libraries to enable this functionality. If you are using Azure Blob storage in combination with a Managed identity, ensure that it works correctly in your environment.  Added support for exporting i-net Clear Reports to ExcelnewIn the Windows GUI, users could already export i-net Clear Reports to various formats, including Excel. We have now added support for exporting i-net Clear Reports to Excel format (.xlsx) in Indicium. This allows you to export reports directly to Excel from Indicium when using the Universal GUI. Minor fixes and tasksFixed an issue where the Debug Center did not behave as expected when Indicium was scaled to multiple instances. In the Windows GUI, automatic column mapping is case insensitive for direct matches and translated values when importing data. Indicium now matches this behavior. Fixed an issue on Oracle where the tsf_global_lang_id session variable could return a stale value. Before, the extended property IgnoreDiacritics was only implemented in Indicium for combined filters. It has now also been implemented in the regular filter form, to align with the Windows GUI behavior. Questions or suggestions?Questions or suggestions about the release notes? Let us know in the Thinkwise Community! 

Related products:Indicium Service Tier
Release notes - Testwise v0.1.63

Release notes - Testwise v0.1.63

Hello everyone,We’re pleased to announce Testwise v0.1.63, delivering enhancements that improve stability, broaden UI component support, and refine the end-to-end testing experience for Thinkwise applications. As always, this Testwise version is fully compatible with the latest Universal GUI version available at the time of release. Alongside usability updates and new component support, this release lays the groundwork for upcoming model-driven automation capabilities.For those new to Testwise: It's a Playwright support library purpose-built for Thinkwise applications, making end-to-end testing simpler, more reliable, and seamlessly aligned with the platform. Learn more in our blog here: What's New in v0.1.63Debugging and LoggingConfigurable log-level support has been added for improved troubleshooting and runtime visibility.Bug FixesResolved a known issue with GoToDeepLink.Grid Testing EnhancementsNew helper functions simplify grid behavior validation:verifyNumberOfRowsInGrid() noResultsFound() rows()See the documentation for examples and guidance.Session ManagementIntroduced page.logOut() to streamline session resets during test automation.Dropdown Component SupportAdded support for dropdown controls, with full usage details in the documentation.Expanded UI Component CoverageNew components and tab support include:TaskTile and TaskTileObjects — see End-to-end tests | Task tiles Component and Detail tab componentsTest StabilityMultiple improvements increase reliability and reduce test flakiness.DocumentationComplete usage examples are available in the End-to-end tests documentation.Coming Next — v0.2.0The next release will introduce the first phase of model-driven automation, enabling automatic generation of Page Objects and UI components directly from Thinkwise application models. This will significantly reduce setup effort and improve test suite scalability.More details coming soon!

Related products:Testwise
Universal GUI version 2025.3.11

Universal GUI version 2025.3.11

October 27, 2025Full release (from release candidate 2025.3.11) Additional fixes this release: In some cases, the application would crash if there was a delay in loading user information. This has been fixed. Fixed an issue where user preferences would occasionally not load when starting a new session. In some cases, editable pivot grids would continuously refresh when displayed as a detail of subject. This has been fixed.  Hello everyone,In this release, we focused on improving the user experience for several components of the Universal GUI. The behavior of the Filter pop-up, grid header filtering, lookup hyperlinks, and HTML form fields have been improved.Additionally, we added an error message for cube views without configured fields. We also made improvements to domain and report action controls and fixed various issues for cubes, editable grids, conditional layouts, and the Scheduler.This release also includes a breaking change for time scale conditions in the Scheduler. Read the release notes carefully before updating. 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 GUI user interface guide to get familiar with the GUI. Universal GUI version 2025.3.11For 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 GUI 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.11 here ContentsDemo Universal GUI version 2025.3.11 Breaking Updated time scale conditions in the Scheduler Review custom CSS and test IDs usage New and changed Error message added for cube views Improvements to domain and report action controls Improvements for grid header filtering Improvements for lookup hyperlinks Improvements for HTML form fields Minor fixes and tasks What we will be working on next sprint Questions or suggestions? BreakingUpdated time scale conditions in the SchedulerbreakingYou can add conditional time cell formatting in the Scheduler based on different time scales, such as day, week, or month. Previously, to add a condition based on the month, you had to set the value to '0' for January, '1' for February, and so on. To make this more intuitive, values now match the actual month numbers. January is now represented by '1', February by '2', and so on.Check existing month-based time scale conditions and update their values accordingly. Review custom CSS and test IDs usagebreakingAs a result of improvements made to domain and report action controls, we recommend that you review the following:data-testid usage - The data-testid for the editor remains unchanged, however accessing child elements is now different. To access the input, use form-field__<your column id>__select__input To access the dropdown list, use form-field__<your column id>__select__options-list. Custom CSS - Check your custom CSS to ensure it is still working as expected in your applications.For grid header filtering, data-testids are renamed:list-option > list-item. list-option-button > list-item-button. list-item-option > list-item-checkbox (text-types). list-option-checkbox > list-item-checkbox (lookup-types). list-option-name > list-item-name. single-line-control-filter-loader > single-line-list-selection-filter-loader. single-line-control-filter-no-option (new). lookup-control-filter-no-option (new).  New and changedError message added for cube viewsCommunity idea changePreviously, when no cube view fields were configured in the Software Factory the user would see a continuous loading screen, without any visible result. To improve clarity, the error message "No cube fields configured" is now displayed when no cube view fields are defined. Improvements to domain and report action controlschangeWe have made improvements to domain and report action controls. You can now search by typing in the dropdown of a domain or report control, allowing you to quickly search and select items.The dropdown is automatically opened when a domain is selected and you start typing. To clear the field, use the Clear button. When the dropdown is open you can use the ↓ and ↑ keys to navigate the dropdown.Previously, you could select items from the dropdown Now, you can type to search as well as select items from the dropdown Improvements for grid header filteringchangeWe introduced the ability to filter columns using the grid header in the Universal GUI 2025.2.13 release. In some cases, header filtering would lead to unexpected behavior or crashes.To fix these issues the following changes have been made:Checkboxes are enabled by default. Improvements in synchronization between the header filter, the pop-up filter and the search bar. The header filter is only applied after closing the pop-up. Improvements for lookup hyperlinkschangeUsers can open a lookup pop-up directly from the grid and the card list by clicking a lookup hyperlink. Previously, all lookup hyperlinks in a grid were clickable, which sometimes caused users to unintentionally open the lookup pop-up of a row while selecting another row. To prevent this, clickable hyperlinks and their hover styling are now only active for the selected row. Improvements for HTML form fieldschangePreviously, when you edited a form field with an HTML control, the screen scrolled to the bottom of the field. We have corrected this behavior. Now, when you enter edit mode and the field already has content, the cursor is placed at the end, and the view scrolls smoothly to that position. Minor fixes and tasksFixes for the Filter pop-up:When a column was initially available in the overflow, was selected and the operator was set to Is (not) empty, the condition was not shown again when re-opening the popup. When a numeric column was filtered on the value of '0', it would not be applied. When the operator of a column filter was set to Between and no values were provided, a bad_request error would occur. In some cases, the Filter pop-up would ignore changes in the filter conditions. Fixed an issue where single-condition, single-column filters (also known as elementary filters), were not properly recognized in nested or complex filter groups.Fixes for cubes:Fixed an issue where editing a pivot field with the DATETIME2 or DATE domain in a pivot table could result in a bad request error. When a field of a category in a pivot table had the Field width (px) set to a fixed value, longer content would not be fully displayed. Now, ellipsis and a tooltip with the complete content are displayed when this occurs. In some cases, when editable cube view fields were deep nested in categories and series, they would not be saved. This has been fixed.Fixes for editable grids:Fixed keyboard shortcut behavior in default editable grids: When focus is on a field and the dropdown list or the date picker is not open, you can use ↑ and ↓ to navigate rows. When focus is on a field and the dropdown list or the date picker is opened, you can use ↑ and ↓ to select a value. Fixed an issue where switching rows in a grouped or default editable grid could cause unexpected behavior of grid headers. When you edited a column with an IMAGE COMBO in an editable grid, the selected column became misaligned with inactive records. This has been fixed. If an editable grid had a row height bigger than 44px, the IMAGE COMBO editor would be aligned incorrectly. The editor is now centered inside the cell.Fixes for conditional layouts:Conditional layouts are now correctly applied for negative values with Between conditions. When a condition for a negative value was defined on one column but the styling applied to a different column, the styling was not correctly applied. This has been fixed.Fixes for the Scheduler:When adding cell color conditions, using a column for Type of value did not work. This has been fixed. Fixed an issue where column conditions would be evaluated as true when no records match. Fixed an issue where having multiple copies of the same view caused the cell colors to only appear in the last view, instead of all views.Other fixes:In some cases, primary colors and accent colors set up in themes for the Universal GUI would result in insufficient contrast between screen elements such as text and background. This affected the following components: Third party licenses button in the About menu pop-up Update now button in the profile menu pop-up and the snackbar Install button in the snackbar Indicium error messages with links to logs 'Row not found' message This has been fixed. Black or white is now applied in cases where the accent color does not provide enough contrast with the background color. When a screen type included both an action bar and a bar component (Prefilter bar, Cube view bar, Report bar, Task bar) actions would be displayed twice if they were configured in both. We have changed this behavior so actions are no longer duplicated in the interface. If you want bar components to be displayed in the action bar in the correct order, enable the corresponding action bar actions. For more information on configuring the action bar, see Configure the default Action bar settings. If the preferred language was available in the User preferences menu but not yet loaded when opening the popup, the language options could be empty. This has been fixed. When you used a domain with elements and a RADIO BUTTON control, elements set to Unavailable were still displayed in the user interface. This has been fixed. The style of focused cells in editable pivot tables has been updated. When an editable cell is focused, its background color is now removed. Additionally, focused cells now use the main color of the application theme. The message pop-up displayed when users disabled push notifications was not translated correctly in the application. This has been fixed. Fixed an issue where alignment settings for grouped columns in a grid was not applied correctly. What we will be working on next sprintThe next sprint we will be working on:Add model caching over sessions to enhance performance when, for example, opening subjects or tasks. Introduce task/report/prefilter/cube as group split buttons in the action bar to optimize space. Start adding support for the Software Factory on Universal, including styling, custom components, and code editing. Implement grid header filtering for numeric and date(time) columns. Add interval filtering on date(time) columns, such as year, quarter, month, day, etc. 2026.1 - further enable customization of Scheduler views, including: Configuring a minimum and maximum displayed time, for example, to hide non-office hours. Ability to hide weekdays, for example, to hide the weekend. Offering an option to configure minimum timeslot width in pixels to prevent timeslots from being too narrow.  Questions or suggestions?Questions or suggestions about the release notes? Let us know in the Thinkwise Community! 

Related products:Universal GUI
Release notes Indicium (2025.3.11)