Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt

Use this file to discover all available pages before exploring further.

For a brief overview of the changes, see our Release notes. For information on upgrading from previous versions, see the Atoti Limits Migration Notes.
4.1.1
2025-09-05

Added

Issue KeyDetails
LIM-1828Added new services to start Activiti workflows in bulk.

Changed

Issue KeyDetails
LIM-1828The default implementation of ILimitsProcessInstanceWorkflowCacheService is now a no-operation implementation as this class is unused.
LIM-1837Updated the warning wording when creating a limit structure to “Warn when utilization reaches x% of a limit”.

Deprecated

Issue KeyDetails
LIM-1828ILimitsProcessInstanceWorkflowCacheService is unused and has been deprecated for removal. It’s still present to avoid breaking the API.
LIM-1828IEvaluationTaskManager has been deprecated for removal because most of its methods are unused.

Fixed

Issue KeyDetails
LIM-1827Fixed the logic and wording for warning thresholds. The warning threshold is now directly correlated to the limit utilization percentage.
LIM-1850Fixed an issue where JWT tokens weren’t being refreshed causing requests between servers to fail after token expiration (default is 12 hours).
4.1.0
2025-05-28

Added

Issue KeyDetails
LIM-1335Data permissions in Atoti Limits are now applied to the KPIs and calculated members created by the module in the business cube.
LIM-1378Added a cache service to store structures/limits that exist on the business server to speed up evaluations.
LIM-1403Atoti Limits now sends notifications to the UI when the initial data load completes, limit evaluations complete, and to users with the approval role when a FourEyes limit is created.
LIM-1444The newly developed Audit Service has been added and updated the version of workflow-core.
LIM-1488Moved the IAuthenticatedLimitsUserService to limits-common and created a new implementation in limits-activeviam to assist with tasks requiring unrestricted access to Atoti Limits data.
LIM-1489Updated dependencies for the Common Spring Services (audit-service and notification-service) to import the services from common-spring-services-bom.
LIM-1494Added an FAQ page in the Roles and Permissions documentation.
LIM-1511Updating Limit KPIs will now trigger a refresh of the application server’s data model in the UI.
LIM-1514Atoti Limits has been upgraded to Atoti Server 6.1.3. The 6.0.X and 6.0.X-sb3 modules have been upgraded to use Atoti Server 6.0.18 and 6.0.18-sb3 respectively.
LIM-1517sourceLimitId is now validated when temporary limits are created. This field should reference the limitId of the parent limit.
LIM-1531Added a property limits.cube.scope-hierarchies-enabled that can be used to disable scope hierarchies to improve loading performance for large cardinalities of limit scopes.
LIM-1538Added the Audit screen to the Atoti Limits UI.
LIM-1565A new service, JfrService, has been added to enable recording Java Flight Recordings (JFRs) on the fly.
LIM-1573Added properties for controlling which user roles will receive the server started and evaluation completed notifications.
LIM-1596Files can now be saved as attachments at each step of the default workflows.
LIM-1600Incident differences are now visible in the audit history.
LIM-1601Limit incidents can be reviewed directly from an incident’s linked dashboard.
LIM-1604Files saved as attachments in the workflow are now restricted to certain file types which are defined by the ‘limits.workflow.allowed-file-upload-extensions’ property
LIM-1756Updated the version of common-spring-services-bom to 1.0.1 and workflow-core to 2.5.0.

Changed

Issue KeyDetails
LIM-1241Errors that occur during the validation of limits and incidents are now reported in a more consistent format.
LIM-1434Temporary limits are now grouped under their source limit.
LIM-1456Atoti Limits now uses the IConfigurationService instead of REST requests to execute MDX statements when creating Atoti Limits calculated measures to improve performance.
LIM-1469Server-side limit structure errors are shown alongside the offending field in the UI.
LIM-1490The Inter Server event service that sends events from Atoti Limits to the connected server has been extracted into it’s own module.
LIM-1501Migrated workflow-related constants to dedicated class, WorkflowConstants.
LIM-1525Improved performance of limit evaluations by skipping unnecessary retrieval of limit workflow information.
LIM-1552Only required folders are now fetched from the connected server when resolving calculated measures.
LIM-1560Use one global CalculatedMeasuresResolver to speed up queries on limits on calculated measures.
LIM-1592The APIs for validation errors and error handlers have been updated to improve error handling. See the 4.1 migration notes for the list of changes to migrate your custom errors and/or error handlers.
LIM-1603Improved the default validation error messages provided by Atoti Limits to have a more consistent format and better readability.
LIM-1635The logic to filter objects based on user data permissions has been changed to use the Spring @PostFilter and @PostAuthorize annotations in ILimitsRetrievalService.
LIM-1659The ILimitsRestClientProvider, ILimitsRestTemplateProvider and ILimitsRestClientBuilderProvider have all been updated to return builders and now they have been renamed to ILimitsRestClientBuilder, ILimitsRestTemplateBuilder and ILimitsRestClientBuilder respectively.

Removed

Issue KeyDetails
LIM-1070Removed evaluationDate field from Incident that was redundant to the evaluationTimestamp field.
LIM-1407limits-activeviam no longer has a dependency on limits-integration-common. Classes previously imported from limits-integration-common are now imported from limits-common.
LIM-1493Removed default value for property limits.autoconfiguration.content-service.limits-created-measures-owners. This property should be auto-configured, and if it is not then it should be explicitly set in the application configuration.
LIM-1591Removed the deprecated RemoteCubeRestService as calculated measures are now fetched directly from the application server.
LIM-1581The limits-activeviam source code has been removed from the released artifacts in an effort to ease client migrations. The javadoc sources are still available for download.
LIM-1629Removed deprecated code for Basic authentication in favor of using JWT authentication as the default for machine-to-machine communication.
LIM-1634Removed the LimitsPermissionOverrideUtil class and replaced its usage with queries that set LimitsQueryPayload::checkuserPermissions to false.
LIM-1636Removed the runWithAuthorization and decodeBase64EncodedAuthentication methods from IAuthenticatedLimitsUserService that are no longer used since the removal of the Basic authentication logic.

Fixed

Issue KeyDetails
LIM-1468Fixed an issue where trying to create a limit structure with the same key fields as an existing limit structure would be treated as an update.
LIM-1483Fixed an issue where KPIs were not refreshed after restarting Atoti Limits in persistent mode.
LIM-1486Attempting to edit a temporary limit on the Limits Viewer screen no longer produces duplicate temporary limits.
LIM-1492Fixed an issue where Atoti Limits calculated measures were being created on connected server KPIs that did not belong to Atoti Limits.
LIM-1498Fixed an issue where the connected application would not start if Atoti Limits Auto-configuration was disabled via limits.autoconfiguration.enabled=false.
LIM-1509Fixed an issue where the differences in historical versions of incidents were not being returned in the status screen
LIM-1512Fixed an issue where KPIs were not being created unless restricted users were defined.
LIM-1522Fixed an issue where generated IDs for limits created via the UI could collide with IDs for limits created via file upload if the uploaded limits respected the ordering of the generated IDs.
LIM-1533Fixed tooltip message inside of the Limits Viewer screen, which suggested that the user is not authorized to delete limits.
LIM-1536Fixed an issue where having multiple valid temporary limits on the same official limit could cause errors when evaluating.
LIM-1542Fixed an issue where workflow actions were not set on retrieved limits if property limits.workflow.workflow-rules.can-approver-be-same-as-creator was set to false.
LIM-1550Fixed an issue where users with the ROLE_CREATE_ANY_LIMIT permission role were blocked when attempting to create a limit via the UI or REST.
LIM-1551Fixed an issue where filtering on a limit with scope (Total) or (For each) would display no data.
LIM-1578Non-limit features now remain accessible even if the Atoti Limits server is unavailable.
LIM-1605Fixed an issue where updating a limit structure with no differences from the existing limit structure would result in an exception.
LIM-1612Fixed an issue where some actions were not disabled when a limit was deleted or expired.

Known issues

Issue KeyDetails
BAS-1330Deleting the last limit value deletes the limit structure. As a workaround, don’t delete all limits on a limit structure unless you are sure that the structure won’t be used again. Alternatively, if you do need to reuse the structure, you can create a limit on it using the endpoint /modules/limits-module/limits/rest/v2/limitDefinition/limits/save. The key of the limit structure will still be visible in the admin-ui.
LIM-846Complex Scopes: Currently, a limit with an aggregated scope and a limit with a non-aggregated scope cannot be created on the same limit structure. As a workaround, create the limits on two separate structures.
LIM-840Complex Scopes: Currently, limits can’t be defined with an aggregated scope location and another scope location. As a workaround, create two separate limits on two separate structures.
LIM-813Managers can incorrectly upload Limit Structures through the REST endpoint.
LIM-594Having email notifications enabled for breaches causes decreased limit evaluation performance. See Configuring the breach email on how to disable breach emails.
LIM-357The Six Eyes workflow is currently not implemented.
LIM-346Limits on calculated measures only work through File Upload, not through the UI.
LIM-320Calculated measures need to be included in Pivot Table Query in order to view a Limit’s KPI in the Pivot Table. See Measures for more on how to create a query for Limits on calculated measures.