Release notes and changelog

For user-facing changes, refer to the What’s New page. For information on upgrading from previous versions, see the Atoti Limits Migration Notes

3.2.0

2024-04-19

Download the distribution files here

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.12-sb3 Maven repository files can be downloaded from here.

Summary

  • Atoti Server upgrade : Atoti Limits has been upgraded to Atoti Server 6.0.12-sb3.
  • Spring Boot upgrade : We have upgraded Spring Boot to version 3.2.0, which uses Spring Framework 6.
  • Common Parent POM and Common Dependencies BOM upgrade: The Common Parent POM and the Common Dependencies BOM have both been upgraded to version 2.0.0.
  • Activiti upgrade : We have upgraded Activiti to version 8.1.0 to be compatible with Spring Boot 3.
  • Added Custom Exception Handling on the UI : The Atoti Limits UI now parses custom exception responses in a consistent manner. See Adding Custom UI Exceptions for more details.
  • UI Activation : An import of react-query is required when using limits-sdk. See UI activation for more details.

Known issues

Issue Key Details
BAS-1330 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 /modules/limits-module/limits/rest/v2/limitDefinition/limits/save. The key of the limit structure will still be visible in the admin-ui.
LIM-846 Complex 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-840 Complex 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-813 Managers can incorrectly upload Limit Structures through the REST endpoint.
LIM-594 Having email notifications enabled for breaches causes decreased limit evaluation performance. See Configuring the breach email on how to disable breach emails.
LIM-357 The Six Eyes workflow is currently not implemented.
LIM-346 Limits on calculated measures only work through File Upload, not through the UI.
LIM-320 Calculated 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.

Dependency versions

Component Version
Atoti Server 6.0.12-sb3
Atoti UI 5.1.x
Common Dependencies BOM 2.0.0 (com.activeviam.apps)
Common Parent POM 2.0.0 (com.activeviam.apps)
Data Connectors 4.1.0-AP6.0-sb3
Java JDK17
UI Components 5.0.34

Added

Issue Key Details
LIM-899 Upgraded to Atoti Server 6.0.12-sb3, including Spring Boot 3.2.0.
LIM-967 Upgraded deprecated Atoti Server classes in preparation for upgrade to Atoti Server 6.1.
LIM-976 Replaced the Scope measure with a Scope level and added a Scope (Full) level.
LIM-986 Updated the version of Atoti Server that Atoti Limits runs on to 6.0.10.
LIM-990 If the input.data.root.dir.path or csvSource.dataset properties are not set correctly, Atoti Limits automatically generates the correct file structure.
LIM-1021 Added generic catch in LimitAutoConfig for greater error handling.
LIM-1027 Added custom UI exception handling for ProblemDetail responses.
LIM-1056 Added the action property to the ProblemDetails error response. See Adding Custom UI Exceptions.
LIM-1060 Updated the version of Admin UI that Atoti Limits uses to 5.1.7.
LIM-1080 Added a new ILimitsRetrievalService interface and LimitsQueryPayload object
LIM-1086 Added the lombok-maven-plugin to ensure the decompilation of the source code matches the Lombok annotated classes.
LIM-1089 Added performance enhancements when loading structures and limits from files and when evaluating limits.
LIM-1090 Added Spotify code formatter plugin to Atoti Limits.
LIM-1129 Upgraded Data Connectors to version 4.1.0-AP6.0-sb3.
UIACL-783 Replaced the Ant Design table component with the “bas-table” in the Limits screens.

Changed

Issue Key Details
LIM-706 Moved the roles setting from the UI’s LimitsSettings to the server settings in application.yml.
LIM-795 Precedence was moved from the LimitStructuresDTO to the LimitDTO.
LIM-959 The LimitsRetrievalUtil class has been converted into a Spring service and is now named LimitsRetrievalService.
LIM-962 Moved the limitsWorkflowParticipants and exceptionWorkflowParticipants settings from the UI’s LimitsSettings to the server settings in application.yml.
LIM-989 Polling Frequency and KPI Type are now represented as enums in the LimitsStructureDTO.
LIM-997 Removed the unused EvaluationTimestamp store and added documentation for the AsOfDate store.
LIM-1007 Centralized all HttpRequests in limits-activeviam and limits-stater modules to the WebClientService Spring service and migrated them to the RestClient API.
LIM-1075 Upgraded Atoti Server to 6.0.12-sb3.
LIM-1084 Migrated HttpClient invocations in limits-atoti-server/limits-atoti-server-60 modules and all test classes to RestClient API.
UIACL-931 React-query is now handled as a peer dependency. See UI activation for more details.

Removed

Issue Key Details
LIM-794 Removed support for the legacy limits file.
LIM-984 Removed the obsolete “Exception Category” and “Exception Comment” fields from the limit structure store and cube and the obsolete “comment” field from the incident store.
LIM-1038 Removed unused declarations of classes, fields, methods and variables.

Fixed

Issue Key Details
LIM-921 Fixed an error on discovery when an Atoti Server 6.0.x cube description contained the word “data” by using versioned REST services in the DiscoveriesManager, which is now a Spring component.
LIM-988 Fixed the incorrect logger in AsOfDateTuplePublisher.
LIM-1018 Fixed an issue where transactions were unnecessarily being started on the Incidents store in LimitsDatastoreService.
LIM-1066 Fixed an issue where uses were unable to approve/reject a limit if another limit in the same structure was rejected.
LIM-1085 Fixed an issue where limits defined with a time period that did not include the as-of-date were sometimes evaluated incorrectly from the UI.
LIM-1087 Fixed a file loading issue that would cause the UI to break due to missing a scope.
LIM-1092 Attempting to modify key fields now results in a meaningful HTTP 400 response instead of a generic 500 one.
LIM-1125 Fixed an issue where the starter jar didn’t start from the command line, by reverting to the CLASSIC loader implementation for Spring’s Nested Jar Support.