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

# Migration notes 5.3

This page explains the changes required to migrate to the stated version
of Atoti Sign-Off.

## Migrate to 5.3.0

Upgrading from version 5.2.0 See [Atoti Sign-Off 5.3.0 Release Notes](../../release-notes#530).

Atoti Sign-Off is using Atoti Server 6.1.0, Atoti UI 5.2.x, and
Sign-Off API
4.1.0
.

For new features and fixes included in these releases, please see:

* [Atoti UI documentation](https://docs.activeviam.com/products/atoti/ui/5.2/) and [Atoti UI Migration Notes](https://docs.activeviam.com/products/atoti/ui/5.2/docs/changelog)
* [Release notes for Atoti Server](https://docs.activeviam.com/products/atoti/server/6.1.0/docs/release/changelog/)
* [Release notes for Signoff API](https://docs.activeviam.com/products/modules/signoff-api/4.1/online-help/release/release-notes.)

### Headline announcement

* **Upgrade to Atoti Server 6.1.0**: Atoti Sign-Off has been upgraded to Atoti Server version 6.1.0.
* **Upgrade to Atoti UI 5.2.x**: Atoti Sign-Off is now compatible with Atoti UI version 5.2.x.
* **Java 21**: Atoti Sign-Off now requires Java 21 to compile and run. This is to be compatible with Atoti Server.

### Breaking changes

* Starter changes: Several classes have been removed from the `signoff-starter` module.
* Upgrade to Atoti UI 5.2.x.

#### Migrating to Atoti Server 6.1.0

Please see the [Atoti Server 6.1.0 Release Notes](https://docs.activeviam.com/products/atoti/server/6.1.0/) for details on the changes in this version.
You only need to migrate customizations. No Atoti Sign-Off code needs to be changed for this migration.

##### Java 21

Update your Java version to Java 21 or later in order to run Atoti Sign-Off.

##### Atoti Spring Boot Starter changes

Atoti Server now ships with a suite of [Spring Boot Starters](https://docs.activeviam.com/products/atoti/server/6.1.0/docs/starters/starters_directory/).
These dependencies auto-configure default imports required by Atoti Server, that you may override at runtime.

If you do not use the out-of-the-box `signoff-starter`, import these starter dependencies and remove any explicit import of classes that are now auto-configured.
If you do use the out-of-the-box `signoff-starter` then no further changes are required.

The following core classes have been removed in `signoff-starter` as they are now inherited from starters:

* `ActivePivotWebMvcConfigurer.java`
* `BasicAuthenticationProviderConfig.java`
* `IUserLogoutSuccessHandler.java`
* `JwtAuthenticationConfigurer.java`
* `SameSiteConfig.java`
* `SecurityJwtProperties.java`

##### Security configuration changes

The upgrade to Atoti Server 6.1.0 includes changes to
the security configuration.
We expect you to implement your own security, but we provide a sample configuration in
the `com.activeviam.signoff.starter.cfg.security` package.

<Warning>
  This is not a production grade sample.
</Warning>

For details on how to implement your own security, please see
the [Atoti Server documentation](https://docs.activeviam.com/products/atoti/server/6.1.0/docs/starters/atoti_starter/#stock-security).

### Input file formats

No changes.

### Configuration files

#### Files modified

##### [application.yml](../../../user-ref/properties/property-files/application-yml)

New properties:

| Property Name            | Comment                                     | Value          |
| ------------------------ | ------------------------------------------- | -------------- |
| sign-off.workflow\.roles | The list of roles for workflow participants | USERS,MANAGERS |

Updated properties:

| Old Property Name | New Property Name        | Comment                                                | New Value                                                                                                     | Old Value                                                               |
| ----------------- | ------------------------ | ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| `workflow-types`  | `workflow.configuration` | Describes the workflows as a pair of key and approvers | e.g. `[{"dummy-workflow": {"key": "sign-off-process-instance.dummy-workflow", "participants": "approvers"}}]` | e.g. `[{"dummy-workflow": "sign-off-process-instance.dummy-workflow"}]` |

<Note>
  This also changes the REST endpoint mapping from `approve` to `update-state`.
</Note>

#### Added call to rest endpoint `/sign-off/update-state`

The state is updated by calling the `/sign-off/update-state` rest endpoint (declared in `ISignOffRestService.java` and implemented in the application server side).
This is implemented in the last step of the export (`EXPORT_SUCEEDED` / `EXPORT_FAILED`): `Connector` with bean name `signOffProcessInstanceFinal`.
A `SignOffProcessInstanceExportDTO` is sent based on the current `SignOffProcessInstanceDTO` to update the state of the task on the application server side.
