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.
For the list of issues covered in this release, see the Changelog.
For information on upgrading from previous versions, see the
Migration guides.
Summary
New featuresBreaking changesNew features
Database schema migrations with Liquibase
This release introduces Liquibase to manage database schema migrations in a versioned and repeatable way.A newPARENTBRANCH 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:DatabaseSimulationEngineandIUniqueIdGeneratorISimulationPersistenceManager(whenIWhatIfPersistencePropertiesbean is present)IDatabaseSimulationsSecurityManager(based on security configuration)IDatabaseSimulationsWorkflowDatabaseSimulationsRestService(in web application contexts)- Distribution beans (when distribution is enabled)
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— useHibernateSimulationPersistenceManager- Inner exception classes in
DatabaseSimulationsRestService— use standalone classes incom.activeviam.tools.whatif.rest RestDistributedDatabaseServiceconstructors withdistributedPivotparameterRestDistributedDatabaseService.isConsistentStatus()method