Release notes 4.0

info

For the list of issues covered in this release, and known issues, see the Changelog.
For information on upgrading from previous versions, see the Atoti Limits Migration Guide

4.0.4

2025-10-21

Follow this link to download the zipped distribution files for:

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

Dependencies

Component Version
Atoti Server 6.1.1
Atoti UI 5.2.x
Common Dependencies BOM 2.1.0 (com.activeviam.apps)
Common Library 2.1.0-AS6.1
Common Parent POM 2.1.0 (com.activeviam.apps)
Data Connectors 4.2.0-AS6.1
Java JDK21
UI Components 5.2.3
Workflow Core 2.4.1

Summary

This is a maintenance release that includes performance enhancements, usability improvements, and minor functional updates.

Improvements

Improvements

Evaluation improvements

We’ve significantly optimised the evaluation process to improve responsiveness and reduce latency when working viewing KPIs in the cube:

  • Smarter Caching: Additional caching has been introduced, particularly in areas that handle high-cardinality evaluations involving numerous limits and locations. This reduces repeated computations and speeds up access.

  • Efficient Location Filtering: Locations are now automatically stripped of members that are irrelevant to the limits being evaluated. This minimises compatibility checks and streamlines processing.

  • Quicker Short-Circuiting: Evaluations now terminate earlier when incompatible location-limit combinations are detected, saving time and resources.

  • Improved MDX Query Batching: When evaluations are triggered via the UI, MDX statements are now batched into smaller, more manageable requests. This prevents application cubes from freezing due to large queries and ensures a smoother user experience.

Bulk Activiti Workflow Transactions

Creating workflows for limits and incidents is now significantly faster and more scalable. Instead of processing each workflow individually, the system now initiates them in bulk, reducing wait times and improving responsiveness, especially when dealing with large volumes. This enhancement is particularly beneficial when creating many limits or during post-evaluation processes, where many incident workflows may be triggered at once. Users can expect smoother performance and quicker turnaround when managing high volumes of data.

These new services are invoked by default, but you can revert to the old behavior by setting limits.workflow.enable-bulk-activiti-transactions=false.

Limits Data Reload Performance

The process of reloading previously saved limits into the datastore has been optimised to reduce startup time. This improvement ensures that systems are ready for use more quickly after a restart, enhancing operational efficiency and reducing downtime for users who rely on timely access to limit data.

Limits on calculated measures

You can now define limits on calculated measures where the underlying is a hierarchy.

Smarter Scope Refreshing

Scopes are now refreshed only if they haven’t already been cached, reducing unnecessary processing and improving system efficiency.

Batched Event Sending

System events are now sent in batches of 10,000 to avoid overload issues on the receiving server, ensuring smoother and more reliable communication.

4.0.3

2025-05-16

Follow this link to download the zipped distribution files for:

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

Dependencies

Component Version
Atoti Server 6.1.1
Atoti UI 5.2.x
Common Dependencies BOM 2.1.0 (com.activeviam.apps)
Common Library 2.1.0-AS6.1
Common Parent POM 2.1.0 (com.activeviam.apps)
Data Connectors 4.2.0-AS6.1
Java JDK21
UI Components 5.2.3
Workflow Core 2.4.1

Summary

This is a maintenance release that includes bug fixes and performance improvements.

Improvements

Improvements

DataLoadController changes

The default DataLoadController has been changed to use the DelegatingSpringSecurityContextDataLoadController. This delegating controller wraps DLC requests in a Spring Security context, which allows the threads used by the DLC to be authenticated and authorized.

IWebClientService changes

The getWithAuth(...) methods in IWebClientService have been deprecated and marked for removal. These are no longer invoked and the default implementations of these methods in WebClientService now throw an UnsupportedOperationException. The get(...) methods are now used instead.

If you have custom code that calls the getWithAuth(...) methods you will need to update it to use the get(...) methods instead.

ILimitsActivitiAuthenticationManager deprecation

The ILimitsActivitiAuthenticationManager interface is no longer used, has been deprecated and marked for removal. This interface was previously used to authenticate requests to the Activiti engine in threads spawned by the DLC. The authentication is now managed by the DelegatingSpringSecurityContextDataLoadController. It will be removed in the next minor release.

ConnectedAtotiServer and ConnectedAtotiServersManager deprecations

The following fields have been deprecated and marked for removal in ConnectedAtotiServer and ConnectedAtotiServersManager. These are no longer required because the ILimitsRestClientBuilderProvider is responsible for authenticating requests, so we don’t need to pass these variables through the application.

ConnectedAtotiServer fields:

  • authentication
  • limitsAuthentication
  • servicePrincipal
  • useJwtMachineToMachineAuth

ConnectedAtotiServersManager fields:

  • contentServerAuth
  • limitsAuth
  • servicePrincipal
  • useJwtMachineToMachineAuth

Property deprecations

The following properties have been deprecated and will be removed in the next minor release:

  • limits.autoconfiguration.limits-authentication
  • limits.autoconfiguration.authentication
  • limits.autoconfiguration.content-server.authentication

They are currently used to configure Basic Authentication for REST requests between Atoti Limits and the connected servers. Basic Authentication will be replaced as the default authentication mechanism by the JwtAuthenticatedLimitsUserService, which requires only a service-principal to handle authentication.

Other changes

  • AuthenticatedLimitsUserService has been renamed to BasicAuthenticatedLimitsUserService to better reflect the form of authentication.
  • The unused Limits Base64 Encoded Authentication property in the LookUpPostProcessor has been removed from the KPIs.

4.0.2

2025-03-28

Follow this link to download the zipped distribution files for:

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

Dependencies

Component Version
Atoti Server 6.1.1
Atoti UI 5.2.x
Common Dependencies BOM 2.1.0 (com.activeviam.apps)
Common Library 2.1.0-AS6.1
Common Parent POM 2.1.0 (com.activeviam.apps)
Data Connectors 4.2.0-AS6.1
Java JDK21
UI Components 5.2.3
Workflow Core 2.4.1

Summary

New features

Improvements

New features

Machine-to-Machine Authentication customization

We have added RestTemplate and RestClient beans to allow clients to more easily customize the requests sent between Atoti Limits and the connected servers. This includes a new JWT flavor of authentication that can be configured via properties. For more information see Adding Custom MtM Authentication.

IWebClientService interface

We have introduced a new IWebClientService interface to give users more control in how they send REST requests from Atoti Limits to the connected servers. See the migration notes

Improvements

Performance

This release includes many performance improvements that result in reduced times retrieving limits and structures throughout the application and in reduced network traffic between Atoti Limits and the application server. To achieve this, we have:

  • removed the decoration of workflow statuses when not required, during retrieving limits and structures,
  • added an ICalculatedMeasuresRetriever to retrieve calculated measures from the application server rather than over the network.

4.0.1

2025-02-05

Follow this link to download the zipped distribution files for:

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

Dependencies

Component Version
Atoti Server 6.1.1
Atoti UI 5.2.x
Common Dependencies BOM 2.1.0 (com.activeviam.apps)
Common Library 2.1.0-AS6.1
Common Parent POM 2.1.0 (com.activeviam.apps)
Data Connectors 4.2.0-AS6.1
Java JDK21
UI Components 5.2.3
Workflow Core 2.4.1

Summary

Improvements

Improvements

Disable Scope Hierarchies

We have added 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.

Bug fixes

This release includes various bug fixes and performance improvements.

4.0.0

2024-11-20

Follow this link to download the zipped distribution files for:

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

Dependencies

Component Version
Atoti Server 6.1.1
Atoti UI 5.2.x
Common Dependencies BOM 2.1.0 (com.activeviam.apps)
Common Library 2.1.0-AS6.1
Common Parent POM 2.1.0 (com.activeviam.apps)
Data Connectors 4.2.0-AS6.1
Java JDK21
UI Components 5.2.3
Workflow Core 2.4.1

Summary

New features

Improvements

New features

Limit statuses

You can now achieve faster loading times when displaying a limit structure with a large number of limits by enabling a property to fetch the statuses in a separate process.

Role-based permissions

Atoti Limits now supports restricting data access and access to UI actions for users depending on their role. See Data access permissions and Permission roles for more information.

Configurable limit sensitivity to runtime filters

In Atoti Limits, you can now configure whether your limits are sensitive to runtime filters. See Cube Filters on Limit KPIs for more information.

Improvements

UI improvements

Atoti Limits features a number of improvements that makes interacting with your data easier:

  • Paginated limits : The Limits viewer now supports pagination.
  • Enhanced table filtering : The table filters are now virtualized to improve performance for large data sets.

Scopes

Atoti Limits introduces multiple additions and improvements to enhance defining and retrieving scopes:

  • Simplified Scopes : Scopes in the limits input file now support a simplified format. See Simplified Scopes for more information and examples.
  • Scopes Retrieval Service : A new Spring service has been added to retrieve Scopes from the datastore.
  • Enhanced scope levels : Users can now drill down by a limit scope’s level name and level member in a pivot table.

Enriched business cube measures

The business cubes have been enriched with “Available Amount” and “Utilization perc.” calculated measures for each limits KPI.

Simplified project structure

We have simplified the project structure in an effort to ease migrations. Please see the starter changes.

Dependency upgrades

The following dependency upgrades have been made:

  • Atoti Server upgrade : Atoti Limits has been upgraded to Atoti Server 6.1.1. This version requires Java 21.
  • Atoti UI upgrade : Atoti UI has been upgraded to version 5.2.0.
  • Common Parent POM and Common Dependencies BOM upgrade: The Common Parent POM and the Common Dependencies BOM have both been upgraded to version 2.1.0 (com.activeviam.apps) . This versions updates Spring Boot to version 3.2.9.
  • Activiti upgrade : We have upgraded Activiti to version 8.6.0 to be compatible with Java 21.
  • Java 11 connector artifacts : We have added artifacts for connecting to supported versions of Atoti Server running on Java 11.

Besides upgrading to the latest versions, Atoti Server version 5.11 is now out of support and is no longer supported within Atoti Limits.