Release notes 5.0

info

For the list of issues covered in this release, see the Changelog.
For information on upgrading from previous versions, see the Atoti What-If Migration guides.

5.0.0-AS6.1

2026-04-24

Summary

New features

Breaking changes

New features

Database schema migrations with Liquibase

This release introduces Liquibase to manage database schema migrations in a versioned and repeatable way.

A new PARENTBRANCH column is added to the DATASTORE_SIMULATIONS table to support chaining branches of what-if simulations. For existing databases, this column is applied automatically by Liquibase on startup. See the 4.1.3 to 5.0.0 migration guide for details.

Branch chaining

Simulations can now target non-master parent branches, enabling multi-level branch hierarchies. This allows building simulation chains where one simulation uses another simulation’s branch as its starting point.

For example, a simulation on branch A can use master as its parent, while a simulation on branch B can use branch A as its parent, creating a chain: master → A → B.

The workflow automatically validates parent branch references to ensure consistency. When executing a simulation on an existing branch, the system verifies that the parent branch matches other completed simulations on that branch. If a mismatch is detected, the parent branch is corrected automatically.

Edge cases are handled gracefully. Attempting to create a branch with a non-existent parent returns a failure status instead of throwing an exception. Child branches remain intact when their parent branch is deleted, preserving the simulation data.

Spring Boot Starter

Atoti What-If now provides a Spring Boot Starter that auto-configures all necessary beans. This simplifies integration by eliminating the need for manual bean definitions.

The starter automatically creates:

  • DatabaseSimulationEngine and IUniqueIdGenerator
  • ISimulationPersistenceManager (when IWhatIfPersistenceProperties bean is present)
  • IDatabaseSimulationsSecurityManager (based on security configuration)
  • IDatabaseSimulationsWorkflow
  • DatabaseSimulationsRestService (in web application contexts)
  • Distribution beans (when distribution is enabled)

All features can be disabled globally by setting atoti.what-if.enable to false. Configuration is managed through properties with the atoti.what-if prefix. See Configuration reference for details.

Breaking changes

Removed deprecated classes and methods

The following previously deprecated items have been removed:

  • DatabaseSimulationPersistenceManager - use HibernateSimulationPersistenceManager
  • Inner exception classes in DatabaseSimulationsRestService - use standalone classes in com.activeviam.tools.whatif.rest
  • RestDistributedDatabaseService constructors with distributedPivot parameter
  • RestDistributedDatabaseService.isConsistentStatus() method

See the migration guide for details.

4.1.3-AS6.1

2025-10-23

Summary

New features

New features

Exception Handling Cleanup

This release introduces the DatabaseSimulationsRestServiceExceptionHandlerController, which handles ActiveViamSimulationException and ActiveViamDeletionException, converting them to ProblemDetails.

Exceptions ActiveViamDeletionException, ActiveViamSimulationException, ActiveViamUnauthorizedException, ActiveViamUnknownSimulationException have been moved to the package com.activeviam.tools.whatif.rest and now all extend ServiceException. You can add a handler for ServiceException in your own controller advice to handle all these exceptions in a uniform way.

SpringDatabaseSimulationsSecurityManager no longer throws generic ActiveViamRuntimeExceptions but rather one of the appropriate exceptions above.

4.1.2-AS6.1

2025-10-09

Summary

New features

New features

A new branch permissions manager

This release adds the AdminBranchPermissionsManager, an implementation of IBranchPermissionsManager that adds Administrator-level roles as owners for every created branch. This ensures that administrators have the necessary permissions to manage branches effectively.

4.1.1-AS6.1

2025-10-01

Summary

Improvements

Improvements

Change to simulation execution logic

Branch creation now occurs before simulations are executed. This ensures branch permissioning is correctly applied when branches are created.

4.1.0-AS6.1

2025-09-29

Summary

Improvements

Improvements

Simulation and branch permissions

This release improves user authorization for simulation and branch management. See Permissioning for more information.

Error handling

This release improves error handling in the RestDistributedDatabaseService to provide more informative exceptions when operations on distributed nodes fail.