> ## 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.

# Changelog

<Info>
  For a brief overview of the changes, see our [Release notes](./release-notes-4.2).
  For information on upgrading from previous versions, see the
  [Atoti Limits Migration Notes](./migrate-4.2).
</Info>

<Update label="4.2.2" description="2026-04-16">
  ### Added

  * LIM-1877: Users with the `ROLE_AUTO_APPROVE_LIMIT` permission can now upload Six-Eyes limits and have them auto-approved.
  * LIM-2113: Users with the `ROLE_AUTO_APPROVE_LIMIT` role can now bypass the approval workflow when uploading limits via a new "Bypass Approval" checkbox in the limit upload dialog.
  * LIM-2157: Limit scope accepts free text values using the search input.

  ### Deprecated

  * LIM-2164: The `POST /limits/rest/v2/limitEvaluation/unschedule` endpoint has been deprecated. Please use the `DELETE /limits/rest/v2/evaluation/scheduling` endpoint instead.

  ### Fixed

  * LIM-2158: Scope dropdown not showing members with no contributions.
  * LIM-2162: Stale entries in the identity generator cache were not being cleaned up.
  * LIM-2163: Persisted workflow information was not being correctly re-loaded when restarting Atoti Limits.
  * LIM-2164: The scheduled limit structure evaluation.
  * LIM-2165: Error thrown in limits inventory when the limits server is configured without legacy workflows.
  * LIM-2168: Limits datastore containing objects that failed validation on save in persistent mode.
  * LIM-2169: Scope keys for limits on slicing multi-level hierarchies are now correctly resolved against their limit structure.
  * LIM-2170: Restarting the limits server did not update the limits cache on the connected server.
</Update>

<Update label="4.2.1" description="2026-02-20">
  ### Added

  * LIM-2060: A new direct limit approval process has been added as a default workflow, which does not require any approvals for limits to be created, updated or deleted. This workflow uses the more performant `workflow-service` and should be preferred to the `StraightThrough` workflow. See [this section](../../../dev/limit-workflow/default-workflows/direct-approval-process) for more details.
  * LIM-2073: Added a new configuration property `limits.autoconfiguration.connect-on-application-ready-event` (default: true) which determines if the application server should automatically connect to Atoti Limits on startup upon receiving the Spring `ApplicationReadyEvent`. Set this property to `false` to disable automatic connection and enable manual connection control.
  * LIM-2073: Added a new POST endpoint `/limits/autoconfig/connect` in the application server that will allow users to manually trigger a connection to Atoti Limits when `limits.autoconfiguration.connect-on-application-ready-event` is set to `false`.
  * LIM-2074: Improved performance in `LookUpPostProcessor` and `LimitsKpiEvaluator` by caching work across locations and failing invalid evaluations faster.

  ### Changed

  * LIM-2032: `IAuthenticatedLimitsUserService` now uses a Spring authentication object for improved compatibility.
  * LIM-2078: Upgraded the Atoti Server dependencies for version-specific modules to versions `6.1.16`, `6.0.27-sb3` and `6.0.27`.
  * LIM-2106: The `limits.autoconfiguration.server-name` property is now required to be set if the connected server uses the default catalog name (‘Catalog’), otherwise the connection will fail.

  ### Deprecated

  * LIM-2073: Deprecated the `limits/autoconfig/connecting` endpoint for removal in favor of the `limits/autoconfig/connected` endpoint, both of which were previously doing the same thing.

  ### Fixed

  * LIM-1928: Fixed an issue where real-time updates in the status screen weren’t respecting the filters applied to the screen.
  * LIM-2041: Fixed an issue where workflow variable changes were being applied before approval in the Six-Eyes Approval Process.
  * LIM-2084: Fixed an issue where the calculated measures for limits with workflows using the new workflow service were not being created immediately after limits were approved.
  * LIM-2121: Fixed an issue where temporary limits were not being exported.
  * LIM-2124: Fixed incorrect parsing of localized numbers on the limits viewer.
</Update>

<Update label="4.2.0" description="2025-11-12">
  ### Added

  * LIM-357: Added a new six-eyes workflow for limits that require two levels of approval before they can be evaluated.
  * LIM-1809: We have added new services to start Activiti workflows in bulk.
  * LIM-1812: All workflow variables are now visible on the status screen table.
  * LIM-1818: Added a new set of properties, `LimitsInitialLoadConfigurationProperties`, to replace `LimitsDlcConfigurationProperties` for the new file loading service.
  * LIM-1819: Added a new service, `ILimitsFileLoadingService` with default implementation `DefaultLimitsFileLoadingService`, to replace the DLC in the initial load of Limits data.
  * LIM-1829: Added a new column to the table to display the ‘limit type’ of each incident.
  * LIM-1836: Added a new set of properties and a new API, `ILimitsStatusMananager`, that allow for statuses in custom workflows to be mapped to limit actions.
  * LIM-1839: Added a field `limitType` to the `Incident` class. This indicates which type of limit was used in the evaluation: `OFFICIAL` or `TEMPORARY`
  * LIM-1853: The audit differences drawer now supports array / JSON payloads from the server.
  * LIM-1854: Filter on limit ID is automatically applied to the table when navigating from the Status screen to the limit structure screen using links.
  * LIM-1856: Added a rest endpoint in the auto-configuration module to retrieve the limits with a location and a kpi name.
  * LIM-1862: Added a new endpoint `/activeviam/limits/rest/v2/startup`, which is used to ping the Atoti Limits server.
  * LIM-1864: Added a new endpoint `/limits/rest/v2/incidents/filter-with-variables` to retrieve the
    incidents along with their workflow variables, which is used to dynamically generate columns in
    the status screen.
  * LIM-1864: Added an optional request parameter `includeVariableDefinitions` to the endpoint
    `/limits/sse/v2/incidents/subscribe/filter` to send the initial incidents along with their
    workflow variables, which is used to dynamically generate columns in the status screen.
  * LIM-1921: Added a new endpoint
    `/activeviam/limits/rest/v2/workflow-service/workflow-history/{workflow-type}/{object-id}` for
    retrieving workflow histories in the new format.
  * LIM-1923: Added a new field `actionName` to the `WorkflowTaskActionExecutionDTO`.
  * LIM-1924: Updated Atoti Server to version 6.1.13. This includes the upgrade of artifacts required to connect to 6.1.13 versions of Atoti Server.
  * LIM-1924: Added a new endpoint `/activeviam/limits/rest/v2/dataexport/download` in the auto-configuration modules to handle evaluation responses.
  * LIM-1943: Added a new Incident workflow, `incident-review-process.bpmn`, that uses the new workflow service.
  * LIM-1962: Added new columns for limit structure files: `Limit Workflow Variables` and `Incident Workflow Variables` that are used to populate new fields in the limit structure table: `Limit Workflow Details` and `Incident Workflow Details`.
  * LIM-1962: Added new properties `limits.workflow.limit-business-functions` and `limits.workflow.incident-business-functions` to map the business functions used for limit and incident workflows respectively.
  * LIM-2019: Added a new column for setting limit workflow initialization variables
  * LIM-2027: Added new property `limits.workflow.structure-deletion-workflows` to configure the workflows where structure deletion is enabled

  ### Changed

  * LIM-1506: Removed server-specific properties from `application.yml`. Properties specific to the `ConnectedAcc` reference test servers released with Atoti Limits can be found in `application-connectedacc.yml` and can be activated with the `connectedacc` Spring profile.
  * LIM-1750: Realtime mode can now be toggled off during a long initial load.
  * LIM-1809: The default implementation of `ILimitsProcessInstanceWorkflowCacheService` is now a no-operation implementation as this class is unused.
  * LIM-1810: The status screen is filtered by default to only show the user’s outstanding tasks.
  * LIM-1838: Enhanced the filtering of the Server-sent events replacing the `asOfDates` and `incidentTypes` by a `FilterConditionDTOs`.
  * LIM-1849: Improved performance of executing workflow actions using the default workflows by skipping unnecessary retrieval of limit workflow information.
  * LIM-1849: Scope hierarchies are now disabled by default to improve performance. They can be enabled by setting `limits.cube.scope-hierarchies-enabled=true`.
  * LIM-1862: The optional property `limits.autoconfiguration.limits-ping-url` is now auto-configured to point at the newly introduced endpoint `/activeviam/limits/rest/v2/startup`
  * LIM-1912: The name of the process in `limit-process-straight-through.bpmn` has been renamed from `Straight-through instance process` to `StraightThrough`
    to match the name in the UI.
  * LIM-1912: The name of the process in `limit-process-four-eyes.bpmn` has been renamed from
    `Four-eyes instance process` to `FourEyes` to match the name in the UI.
  * LIM-1912: The name of the process in `limit-process-exception.bpmn` has been renamed from
    `Exception Workflow` to `Exception` to match the name in the UI.
  * LIM-1912: The property to define the file types allowed to be uploaded as attachments in the
    workflow has changed from `limits.workflow.allowed-file-upload-extensions` to
    `activeviam.apps.workflow-service.settings.allowed-file-upload-extensions`.
  * LIM-1912: The property to define the file storage path for uploaded attachments in the workflow
    has changed from `limits.workflow.file-storage-path` to
    `activeviam.apps.workflow-service.settings.file-storage-path`.
  * LIM-1923: The field `taskKey` in `WorkflowTaskActionDTO` has been renamed to `taskName`.
  * LIM-1924: The default value of the `limits.autoconfiguration.atoti-mdx-download-url` property has been changed from `/dataexport/download` to `/activeviam/limits/rest/v2/dataexport/download`.
  * LIM-2034: The `limitValue` field on the `Limit` and `Incident` objects has been changed from a `double array` to a `double`. The `double array` was previously unused.

  ### Deprecated

  * LIM-1809: `ILimitsProcessInstanceWorkflowCacheService` is unused and has been deprecated for removal. It is still present to avoid breaking the API.
  * LIM-1809: `IEvaluationTaskManager` has been deprecated for removal because most of its methods are unused.
  * LIM-1912: `LimitsWorkflowService` has been renamed to `LegacyLimitsWorkflowService` and deprecated for removal in a future release.

  ### Removed

  * LIM-1822: Removed the DLC and all related configuration properties and classes. It has been replaced by `ILimitsFileLoadingService`.

  ### Fixed

  * LIM-1777: The limits viewer sometimes incorrectly displays a notification that a limit was added on another table page
  * LIM-1799: Errors while creating a structure sometimes do not show up on the screen.
  * LIM-1811: Input fields are now properly disabled while submitting workflow actions.
  * LIM-1827: Fixed the logic and wording for warning thresholds. The warning threshold is now directly correlated to the limit utilization percentage.
  * LIM-1846: Fixed an issue where JWT tokens were not being refreshed causing requests between servers to fail after token expiration (default is 12 hours).
  * LIM-1848: Fixed an issue where duplicate incident events may be published by the SSE emitters.
  * LIM-1851: Fixed an issue where the Atoti Limits KPIs were not updated after a change of KPI
    description.
  * LIM-1862: Fixed an issue where the reconnection to the Atoti Limits server wouldn’t happen properly if the Atoti Limits server was behind a loadbalancer.
  * LIM-1865: Fixed an issue where a limit could not be created if it overlapped with an inactive limit.
  * LIM-1915: Fixed an issue where structures created without a `Limit Changes` workflow defaulted to using the `StraightThrough` workflow instead of
    throwing an exception.
  * LIM-1924: Fixed an issue where evaluation requests were failing due to the streaming responses.
  * LIM-1936: Fixed an issue where limit statuses were defaulting to `INITIALIZED` if they were not set on creation in `LimitsCrudService`.
  * LIM-1954: You can now create limits on calculated measures where the underlying is a hierarchy.
  * LIM-2002: Fixed an issue where creating and updating structures, limits and incidents simultaneously could fail intermittently.
</Update>
