Skip to main content
For the list of issues covered in this release, see the Changelog. For information on upgrading from previous versions, see the Migration guides.
5.0.0-AS6.1
2026-04-24

Summary

New featuresBreaking 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.