Version 1.28.0
In this version, we have expanded the functionality of the authorization module. We have added the ability to use simultaneously different authorization services. We have updated the system behavior algorithm when entering credentials to enhance security. Additionally, we have introduced a new authorization widget that supports this functionality.
Additionally, we have made browsing information more convenient. This version includes:
- a compact form view mode that displays more information on the page and reduces the need to scroll.
- the ability to add digit separators for numeric values. These separators can be customized for each language.
- an updated employee profile view in the self-service portal.
Another major improvement has been made for users of the service component of the platform: you can use the VIP attribute of the Caller in the reports.
The update also contains several system enhancements and fixes to improve security and overall system behavior.
Starting from this version, each workflow activity, except for the End activity, must have an exit leading to another activity. Otherwise, the workflow will fail to execute.
Before updating the Platform from version 1.27.0 and older, ensure that all workflows on your instance meet the above condition.
New functionality
Numeric separators in fields, Simple tags and Activity Feed
In this version, we have optimized the display of digits to improve readability. As part of this improvement, several separator options for digits and fractional parts are now available. They are also used in the condition builder and the Activity Feed.
To enable separators, use the simple.number.enable_grouping_separator system property. You can also set different separator types for each language your system is localized to. Default separators are:
- English:
1,000.25. - Russian:
1 000,25.
The enableGroupingSeparator attribute has been added to the Simple-tag string allowing control over the display of numeric separators in text fields. This attribute takes precedence over the system property.
Separators are not applied to certain column types, for example, they are not applied to the columns of type sys_id.
Read more in the documentation.
Compact view mode for records
We have added an option to display all fields in a compact layout. You can enable Compact mode in the Preferences menu. This mode reduces the headers and margins of the form fields, allowing more data to be displayed on a single page.
Authorization through third-party SSO providers
This version includes a new feature that supports simultaneous use of different authorization providers. Users can now choose whether to authorize with the basic method or with a third-party provider. To support this, the system now includes:
- The SSO Providers (sso_provider) table that you can use to create provider records for system authorization. You can also configure how these providers appear in the authorization widget.
- The authorization widget has been updated to display new buttons for signing in with any of the available providers. You can customize both the number and type of buttons.
Read more in the documentation.
Improvements
Improvements to the employee profile on the self-service portal
In this version, we have updated the employee profile page in the self-service portal. In the “out-of-the-box” version, the available information is now organized in two widgets:
- Static User Information SA – displays user details.
- Static Record Information SA – displays organization-related data.
This update enables users to locate information more efficiently thanks to a refined layout that offers enhanced usability and the ability to highlight specified fields. Additionally, administrators can now define which user data is shown in the self-service portal more effectively.
Read more in the documentation.
VIP attribute for the Caller field
In this version, the Caller field of the Task (task) table refers to the Employee (employee)table. With this change, you can mark callers as VIP and use this attribute in reports.
Security Enhancement for the SimpleSystem Class
In the platform version 1.28.0, we strengthened the system security by adding ACL verifications to the methods of the SimpleSystem server class. Now, the system verifies the user’s access rights for create, read, and update operations when:
- Modifying the system properties (setProperty());
- Managing users (getUser(), getUserID());
- Modifying the system properties (setProperty(), getProperty());
- Managing users (getUser(), getUserID(), getApplicationId());
- Generating URL actions (generateUrlAction());
- Handling events (eventQueue(), eventQueueScheduled()).
However, for the eventQueue() and eventQueueScheduled() methods, ACL verifications are skipped if the script runs in a context with ACL rules disabled.
The implemented rules address vulnerabilities, such as unauthorized property modifications via the setProperty() method.
Read more in the documentation.
Fixes
DEF0021221: In the previous version of the platform, when selecting a date, the system set a date different from the specified one if the user selected a time zone in which the date differed from the date in UTC. In this version, we have implemented support for correct calendar operation in different time zones.
DEF0021197: In the previous version, there was no option to add access criteria for portal cards. This version includes a new Access сriteria field on the form, where you can specify records from the User Criteria (sys_user_criteria) table. As a result, portal cards are now displayed according to the access control configurations.
The documentation has been updated to include information regarding the restrictions associated with the portal card links. These links can be absolute or relative but must redirect to pages within the portal.
DEF0020813: It has been determined that the access control rules were not effective when the fields of the condition builder were autocompleted. When a user initiated the input of a value, the system showed all options, including those that should have been hidden from the current user. In this version, the access control rules function correctly, the suggested options contain only search results the user can access, and a "Results not found" message is displayed if no suitable or available results are found. A 404 error is displayed in dictionaries in such cases.
DEF0020414: In the preview window of a record containing a WYSIWYG field, the content of this field was displayed in full. Now, this content is shown in a collapsed form, similar to fields of type Text.
DEF0020379: Previously, when creating organizational units below the Company level, there was no possibility to select a company due to incorrectly configured filters. In this version, the issue has been addressed, and the Company field is now populated automatically.
DEF0019784: The retry and back-off values were not supported when working with the gRPC connection. This caused the Timer action that was used in the action specified in the Subflow action to be aborted with an error. Since this version, the Subflow action has been executed correctly.
DEF0019048, DEF0019047, DEF0019044: In the previous version, microservice vulnerabilities were identified due to the use of outdated Go libraries, x/net, and gRPC. In the current version, the following libraries have been updated to their most recent versions:
- list-exporter
- external-rabbitmq-producer
- external-rabbitmq-consumer
DEF0018874: In previous versions, the system tended to cease functioning in response to a high volume of repetitive requests. In this version, we have implemented a secure mechanism for gRPC clients to make repeated requests.
DEF0017118: A Switch workflow action froze after reassigning a default exit. The issue arose due to the repositioning of the exits of the actions, which also resulted in an update to the wf_activity_exit data. This data contained the updated order value of the action exit record. However, the business rule did not update the default value of the order number of the action exit record, which resulted in the workflow being halted. This version includes updated business rule logic and stable Switch action.
DEF0014524: Due to the untimely updating of some links on portal pages, users were unable to access the actual versions of the my_sc_tickets and view_model pages after updates. In this version, the links have been corrected.
DEF0020716: The SimpleOne complex-offline.yml distribution was missing the itglobal_com.docker_apps_monitoring role used for monitoring containers kafka_server and kafka_connect. This made it impossible to install them concurrently with the Offline and Online distribution of SimpleOne. In this version, the monitoring containers (exporters) are deployed on the same virtual machine as the Kafka containers.
In addition the itglobal_com.docker_apps_monitoring role has been reconfigured to ensure stable operation of the containers.
Patch 1.28.2
In this patch, we have fixed critical vulnerabilities and strengthened the system's security. Also, this patch introduces the following updates to the configurations and layout of the agent interface:
- extended list of interface elements that change their display view when the Compact mode is on.
- new Immediate unit field on the Employee forms.
- multiple Static User Information SA widget instances can now be placed on the same form with the display conditions configured.
System improvements and fixes include:
- an updated authorization mechanism and password policies,
- the use of the silentMode() method that excludes indications when updating records,
- a migration script to transfer portal cards from the Node(system_node) table to the Portal Card (portal_card) table.
Improvements
Compact mode updates
The Compact mode, introduced in the previous version, now extends to more agent interface components:
- Table list views
- Condition builder
- Related lists
Read more in the documentation.
Specify Immediate unit on the Employee form
A new Immediate unit field has been added to the Employee form. Now managers can specify the unit where the employee is hired.
Read more in the documentation.
Multiple instances of Static User Information SA widget
In this version, you can configure display conditions for the Static User Information SA widget. This means you can now place multiple instances of the widget on the same form and display only the ones that meet the specified conditions. For example, on an Incident form, different widget instances can show information about the Service Owner or the Caller, depending on whether the incident is infrastructural.
Read more in the documentation.
Portal cards migration from the Node to the Portal Card
Portal card data has been moved from the Node (simple_node) table to the Portal Card (portal_card) table introduced in version 1.28.0. When upgrading to this version, all previously created cards are moved to the Portal Cards table and displayed in the Portal Cards widget.
To run the script, follow the steps:
- Navigate to System Settings → Server Scripts.
- Find and open the Portal Card Migration record.
- Click Run.
After the script is executed, the migrated records appear in the Portal Card (portal_card) table. You can view them in the table and configure their display in the Portal Cards widget.
Read more in the documentation.
New search bar position on self-service portal
The search bar widget is now located in the header of the self-service portal. This improves UI consistency across the agent interface, self-service portal, and documentation site.
The silentMode() method in the indicator calculator
You can now change target records without triggering indication updates using the silentMode() method.
Read more in the documentation.
Strong Password Policy
Starting with version 1.28.0, you can define a password policy. The system now supports two options:
- Simple password – must contain at least 6 characters and no spaces.
- Strong password – must contain at least 8 characters including uppercase and lowercase letters and digits (0-9).
To enable the strong password policy, use the simple.auth.strong_password_policy.enabled system property.
Passwords created before the strong password policy was enabled will remain valid until changed or reset. After enabling the policy, all new passwords must meet the new requirements.
Read more in the documentation.
Authorization and password policy updates
In this version, we have finalized the authorization and password policy updates:
- Input validation has been added for the authFull tag in both the agent and login interfaces.
- System behavior has been optimized to avoid slow server response on repeated invalid inputs.
- A strong password policy is now enforced for local accounts in the web application.
Read more in the maintenance documentation.
Authentication and authorization updates
In this version, the token processing logic has been moved to a new microservice.
Deleted from the system:
- the User Token (user_token) table.
- the user.token.ttl method.
Read more in the maintenance documentation.
Rule Engine service optimization
To prevent saturation of the Rule Engine, the following options have been added:
- Using the
inventoryparameter to define the number of Rule Engine instances per virtual machine. - Increasing partitions using new tools.
- Monitoring saturation.
Read more in the maintenance documentation.
Fixes
DEF0020935: The deprecated Contract Category (contract_category) field remained on the Contract (contract) form while the new Contract Category (category) field was active. In this version, the deprecated field has been disabled, and the new one renamed Asset Contract Category.
DEF0020335: An error has been fixed where images were not transferred during field conversion from the html type to the WYSIWYG type.
DEF0019715: An invalid backend_worker_attachment_index caused abnormal RAM/CPU usage and instances break downs with errors 502 and 503. In this version, the problem has been fixed.
DEF0019671: In the Heapselect page, the Save and Cancel UI action titles were missing. Also, the users could not save the changes. This version has brought back the button names and fixed the saving issue.
DEF0018425: In the previous versions, unauthorized users could access platform version information. Now, the security settings have been updated, and this data is available to authorized users only.
DEF0015397: The record creation was not registered fully in the system History logs when the value in the fields of type Text and Choice was set to 0, and the value in the fields of type Boolean was set to false. In this version, the validation conditions have been updated, and the History displays all records.
DEF0014651: Client scripts could not be executed on the portal pages due to an error in the Record Default Widget instance. In this version, the widget options are fixed.