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

# Release notes and changelog

For information on upgrading from previous versions, see the
[Atoti Limits Migration Notes](./migrate-3.1)

<Update label="3.1.0" description="2023-11-08">
  Download the distribution files
  [here](https://activeviam.jfrog.io/artifactory/activeviam-accelerators-artifacts/limits/3.1.0/)

  You can download the following zipped distribution files:

  * **UI source code**
  * **UI build**
  * **Source files** to build the module
  * **Sample bookmarks**
  * **Maven repository** required to build the project and run the tests. The Atoti Server 6.0.9 Maven repository files can be downloaded from [here](https://artifacts.activeviam.com/share/ActivePivot_stable/6.0.9/).

  ### Summary

  * **Improved table filtering** : Filters have been moved to the column headers and have been extended to more columns, including the **Location** and **Scope** of a limit.
  * **Status screen** : The **Breaches** screen has been renamed **Status**. It has also been enhanced to allow you to view the utilization of passed limits if they are stored.
  * **Linked dashboards** : A dashboard can be linked to a limit structure to let you view the utilization for a given limit. Viewing the utilization of an incident will apply scope and as of date filters to the dashboard.
  * **Added Utilization** : The [Utilization measure](../../../user-ref/cube/utilization) has been added to the Limits cube. This measure can be [extended](../../../dev/dev-extensions/custom-utilization) by clients.
  * **Custom User Workflow Actions Improvements** : We have simplified the addition of custom user actions in workflows. Please see `Adding Customizing Workflow Tasks`.
  * **Upgraded Java version**: We have upgraded the Java version used to compile Atoti Limits to 17.
    As a result, we have removed the sample Atoti Server 5.10 from our distribution, as it does not support Java 17. **Atoti Limits is still compatible with this version.**
  * **Updated Atoti Server and Spring Boot dependency versions**: Updated the version of Atoti Server that Atoti Limits runs on to
    6.0.9 and Spring Boot version to 2.7.16.
  * **Spring Security upgrade** : We have upgraded Spring Security to version 5.8.7 to resolve vulnerabilities and prepare for the upgrade to Spring Security 6.0 (via Spring Boot 3).
  * **Common Parent POM**: The Atoti Limits module now inherits third-party plugin versions from the Common Parent POM version 1.2.0, in line with other solutions. Details can be found in [the migration notes](./migrate-3.1#common-parent-pom).

  ### Known issues

  <table><thead><tr><th>Issue Key</th><th>Details</th></tr></thead><tbody><tr><td><a href="https://activeviam.atlassian.net/browse/BAS-1330">BAS-1330</a></td><td>Deleting 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 <code>/modules/limits-module/limits/rest/v2/limitDefinition/limits/save</code>. The key of the limit structure will still be visible in the admin-ui.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-846">LIM-846</a></td><td><strong>Complex Scopes:</strong> 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.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-840">LIM-840</a></td><td><strong>Complex Scopes:</strong> 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.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-813">LIM-813</a></td><td>Managers can incorrectly upload Limit Structures through the REST endpoint.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-594">LIM-594</a></td><td>Having email notifications enabled for breaches causes decreased limit evaluation performance. See <a href="../../../dev/limit-workflow">Configuring the breach email</a> on how to disable breach emails.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-357">LIM-357</a></td><td>The Six Eyes workflow is currently not implemented.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-346">LIM-346</a></td><td>Limits on calculated measures only work through File Upload, not through the UI.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-320">LIM-320</a></td><td>Calculated measures need to be included in Pivot Table Query in order to view a Limit’s KPI in the Pivot Table. See <a href="../../../user-ref/using-limits/measure-types">Measures</a> for more on how to create a query for Limits on calculated measures.</td></tr></tbody></table>

  ### Dependency versions

  <table><thead><tr><th>Component</th><th>Version</th></tr></thead><tbody><tr><td><a href="https://docs.activeviam.com/products/atoti/server/6.0.9/">Atoti Server</a></td><td>6.0.9</td></tr><tr><td><a href="https://docs.activeviam.com/products/atoti/ui/5.1/">Atoti UI</a></td><td>5.1.x</td></tr><tr><td><a href="https://docs.activeviam.com/products/tools/data-connectors/4.0/online-help/">Data Connectors</a></td><td>4.0.1-AP6.0</td></tr><tr><td>Java</td><td>JDK17</td></tr><tr><td><a href="https://docs.activeviam.com/products/tools/ui-components/5.0.27/online-help/">UI Components</a></td><td>5.0.27</td></tr></tbody></table>

  <Warning>
    Unlike other solutions or modules, Atoti Limits requires Atoti UI version **5.1.2** or higher.
  </Warning>

  ### Added

  <table><thead><tr><th>Issue Key</th><th>Details</th></tr></thead><tbody><tr><td><a href="https://activeviam.atlassian.net/browse/BAS-1514">BAS-1514</a></td><td>Updated the README.md files in the parent and starter modules.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/BAS-1537">BAS-1537</a></td><td>When attempting to auto-configure Atoti Limits we now only log the connection exception at debug level to avoid polluting the logs.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-823">LIM-823</a></td><td>Added utilization dashboard ID field to the limit structure. This allows you to link a limit structure with a dashboard based on its ID in the content server.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-848">LIM-848</a></td><td>Updated the version of Atoti Server that Atoti Limits runs on to 6.0.7 and Spring Boot version to 2.7.14 to patch CVE-2023-20883 and CVE-2023-33008.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-863">LIM-863</a></td><td>Added the option to store passes when evaluating limits.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-870">LIM-870</a></td><td>Added a <a href="../../../user-ref/cube/utilization">utilization measure</a> to the Limits cube.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-872">LIM-872</a></td><td>Created read-only REST endpoints to get row entries for the Limits Status screen.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-879">LIM-879</a></td><td>Created REST endpoints to update non-key fields of a limit structure.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-901">LIM-901</a></td><td>Upgraded Java version used to compile Atoti Limits from 11 to 17.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-905">LIM-905</a></td><td>Added an endpoint to query the distinct as of dates for limit evaluations.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-907">LIM-907</a></td><td>Upgraded to Spring Security 5.8.7 to resolve CVEs and prepare for the upgrade to Spring Security 6.0 (via Spring Boot 3).</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-908">LIM-908</a></td><td>Added an endpoint to return if the user is storing passes when evaluating limits.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-910">LIM-910</a></td><td>Improved support for custom user actions in workflows.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-911">LIM-911</a></td><td>Added a hook for custom workflow keys to execute user actions.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-916">LIM-916</a></td><td>Upgraded Spring Boot to version 2.7.16 by inheriting from the Common Parent POM version 1.2.0.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-923">LIM-923</a></td><td>Workflows for limit evaluations now exist for distinct as-of-dates.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-943">LIM-943</a></td><td>Updated the version of Atoti Server that Atoti Limits runs on to 6.0.9.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-946">LIM-946</a></td><td>Updated the version of the solutions-tools-bom to 2.0-AS6.0 to support Java 17 and Atoti Server 6.0.9.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-956">LIM-956</a></td><td>Added a new endpoint <code>/inventory-structures/filter</code> to reduce the amount of data sent to the limits inventory screen.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/UIACL-577">UIACL-577</a></td><td>Added the action to inspect the utilization from the <strong>Inventory</strong> and <strong>Status</strong> screens.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/UIACL-592">UIACL-592</a></td><td>Added ANTD built-in table filtering for the Limits screens.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/UIACL-623">UIACL-623</a></td><td>Renamed the <strong>Breaches</strong> screen to <strong>Status</strong> screen and added ability to fetch all passed limits.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/UIACL-671">UIACL-671</a></td><td>Enabled the workflow action button for authorized users only.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/UIACL-680">UIACL-680</a></td><td>Enabled sticky headers in the limits tables.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/UIACL-737">UIACL-737</a></td><td>Results are now cached for a minute inside the <strong>Status</strong> screen to prevent constant loading when browsing.</td></tr></tbody></table>

  ### Changed

  <table><thead><tr><th>Issue Key</th><th>Details</th></tr></thead><tbody><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-827">LIM-827</a></td><td>Changed the limit type from String to an enumeration LimitType that allows only “OFFICIAL” and “TEMPORARY” values.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-912">LIM-912</a></td><td>Renamed the <code>LimitWorkflowActionDTO</code> to <code>WorkflowTaskActionDTO</code> and updated it to improve custom workflow actions on the UI.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-934">LIM-934</a></td><td>Updated the version of Atoti Server that Atoti Limits runs on to 6.0.9.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/UIACL-654">UIACL-654</a></td><td>Replaced limit column action buttons with icons and a tooltip.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/UIACL-659">UIACL-659</a></td><td>Re-arranged the <strong>Status</strong> screen columns.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/UIACL-690">UIACL-690</a></td><td>Renamed the <strong>Workflow</strong> section to <strong>Review Process</strong> and updated the labels within the limit structure viewer.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/UIACL-707">UIACL-707</a></td><td>Rows are no longer de-selected when changing client-side filters.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/UIACL-714">UIACL-714</a></td><td>When creating a limit structure, the <strong>breach when</strong> field is disabled when the kpi type is not selected.</td></tr></tbody></table>

  ### Removed

  <table><thead><tr><th>Issue Key</th><th>Details</th></tr></thead><tbody><tr><td><a href="https://activeviam.atlassian.net/browse/UIACL-580">UIACL-580</a></td><td>Removed the “utilizationDashboards” limit setting. Utilization dashboards can be added to the limit structure directly in the UI instead.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/UIACL-640">UIACL-640</a></td><td>Removed server and cube columns from the <strong>Inventory</strong> screen.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/UIACL-685">UIACL-685</a></td><td>Removed the “exceptionAuditTrailNodeColors” limit setting. The “auditTrailNodeColors” should be used instead.</td></tr></tbody></table>

  ### Fixed

  <table><thead><tr><th>Issue Key</th><th>Details</th></tr></thead><tbody><tr><td><a href="https://activeviam.atlassian.net/browse/BAS-1437">BAS-1437</a></td><td>Incident files on deleted limits no longer break the status screen on startup.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/BAS-1449">BAS-1449</a></td><td>Equivalent scope strings now generate the same Limit keys.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/BAS-1463">BAS-1463</a></td><td>UI evaluation now correctly evaluates servers where the server keys don’t equal the server name.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-740">LIM-740</a></td><td>Evaluating a limit structure containing only expired limits or structures with no data results in an error.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-815">LIM-815</a></td><td>Limit structures loaded without limits will now load successfully, limits loaded without limit structures and incidents loaded without limits will be skipped.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-854">LIM-854</a></td><td>The <strong>Status</strong> screen now shows the value of the active temporary limit, instead of the official limit.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-856">LIM-856</a></td><td>The value of the discovery-manager.polling-delay property is now used.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-857">LIM-857</a></td><td>Connecting to Atoti Server version 5.x. generated useless logs.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-869">LIM-869</a></td><td>An error occurred if the <code>incident</code> directory didn’t exist.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-894">LIM-894</a></td><td>Limits of the same structure with mismatching scope levels will now be skipped on loading so they don’t break the limits management screen.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-913">LIM-913</a></td><td>New limits can now be correctly created after deleting a complex scoped limit.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-914">LIM-914</a></td><td>Incidents that fail workflow validation appear in the status screen.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-922">LIM-922</a></td><td>Workflow action buttons are no longer visible for deleted limits.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-925">LIM-925</a></td><td>The breach audit history endpoint no longer contains details about limit changes.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-926">LIM-926</a></td><td>Fixed a bug which prevented editing limits when the order of scopes posted in the UI request was different to the order retrieved from the datastore.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-927">LIM-927</a></td><td>Improved the exception handling on Limit evaluation.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-936">LIM-936</a></td><td>Workflow action buttons are no longer returned if they are disabled.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-954">LIM-954</a></td><td>Limits evaluated by managers are no longer visible in the status screen.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-955">LIM-955</a></td><td>Explicit scope matches on limits are now not over-ruled by temporary limits.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-957">LIM-957</a></td><td>Fixed the date-roll endpoint which was not correctly updating the as-of-date.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/UIACL-593">UIACL-593</a></td><td>The limits table was not displayed correctly when a limit structure didn’t contain any limits.</td></tr><tr><td><a href="https://activeviam.atlassian.net/browse/UIACL-669">UIACL-669</a></td><td>The <strong>Select all</strong> checkbox now selects all rows across multiple pages.</td></tr></tbody></table>

  ### For Removal

  <table><thead><tr><th>Issue Key</th><th>Details</th></tr></thead><tbody><tr><td><a href="https://activeviam.atlassian.net/browse/LIM-794">LIM-794</a></td><td>Support for the Legacy Limits file will be removed in Atoti Limits version 4.0.0</td></tr></tbody></table>
</Update>
