> ## 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.

# Release notes

<Info>
  For the list of issues covered in this release, see the [Changelog](./changelog).
  For information on upgrading from previous versions, see the
  [Migration guides](./migration-guide).
</Info>

<Update label="5.0.0-AS6.1" description="2026-04-24">
  ### Summary

  **New features**

  * [Database schema migrations with Liquibase](#database-schema-migrations-with-liquibase)
  * [Branch chaining](#branch-chaining)
  * [Spring Boot Starter](#spring-boot-starter)

  **Breaking changes**

  * [Removed deprecated classes and methods](#removed-deprecated-classes-and-methods)

  ### New features

  #### Database schema migrations with Liquibase

  This release introduces [Liquibase](https://www.liquibase.com/) 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](./migration-guide#413-as61-to-500-as61) 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](../dev-getting-started/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](./migration-guide#413-as61-to-500-as61) for details.
</Update>
