Skip to main content
From version 6.1.20 onwards, Atoti Sign-Off version numbers are aligned with the Atoti Java SDK. Previously, Atoti Sign-Off used its own versioning scheme which had moved ahead of the Atoti Java SDK. The last release under the old scheme was Atoti Sign-Off 6.2.1.Although the version number appears to go backwards, this is not a rollback or downgrade. It reflects the realignment with the Atoti Java SDK release track.
For a brief overview of the changes, see our Release notes. For information on upgrading from previous versions, see the Migration guide.
2026-09-30
Follow this link to download the zipped distribution files for:
  • UI source code
  • UI build
  • Source files to build the module
  • Maven repository required to build the project and run the tests.

Added

Changed

  • SO-1146: Loading sign-off definitions and tasks no longer queries the Atoti Server once per definition to resolve as-of-dates; dates are now resolved once per server and cube instead.
  • SO-1146: Loading sign-off audit history no longer processes each record’s full payload upfront; records are now processed only when read, improving performance when history is extensive.
  • SO-1146: The Tasks screen and GET /sign-off/rest/v2/tasks now load the adjustment definitions of the requested tasks in a few batched queries instead of one query per adjustment.

Deprecated

  • SO-1147: AKeyedObjectWorkflowService, AVersionedObjectWorkflowService and ABitemporalObjectWorkflowService are marked as internal. They were never intended as extension points for users, their protected constructors now take the ProcessEngine they used to have injected as a field, and they are candidates for removal in the next version.

Removed

Fixed

  • SO-1147: Opening the Definitions, Tasks or Adjustments screens returned an HTTP 500 Internal Server Error once an installation held several thousand sign-off tasks. The screens now load this data in batches instead of a single request, so the error no longer occurs.
  • SO-1139: Restricted users could click the “Create Sign-Off Task Configuration” button and only find out they lacked permission after submitting. The “Create Sign-Off Task Configuration” button is now disabled for users who don’t have permission to create a definition.
  • PIVOT-15093: Applications supplying their own IExportStatusService implementation failed at runtime with a NoSuchBeanDefinitionException. SignOffProcessInstanceWorkflowService now injects the IExportStatusService interface instead of its default implementation.

Security

2026-09-03
Follow this link to download the zipped distribution files for:
  • UI source code
  • UI build
  • Source files to build the module
  • Maven repository required to build the project and run the tests.

Added

Changed

  • SO-1117: Sign-Off dashboards no longer queue behind a single global reload when many task actions happen at once.
  • SO-1110: Loading sign-off definitions no longer scans the workflow audit-log tables once per definition, improving performance when many definitions exist.
  • SO-1138: Loading sign-off definitions no longer issues Activiti workflow queries once per definition, improving the load time of the definition and task screens when many definitions exist.
  • SO-1122: The return type of ISignOffWorkflowStatusActionManager::getPendingApprovalTaskStatuses changed from List<String> to Map<String, List<String>> keyed by workflow type, since pending-approval status differs per workflow; see the migration guide for details.
  • PIVOT-14093: AStatusService#addRequest(String, AStatusTask) now takes a Supplier<AStatusTask> instead of a task instance; existing callers should wrap construction in a lambda, for example addRequest(pId, () -> new MyStatusTask(...)).
  • PIVOT-14106: Improved performance of audit history filtering.
  • PIVOT-14310: The dashboard and notification service SSE subscriptions now send X-Accel-Buffering: no and Cache-Control: no-cache, no-transform headers so reverse proxies stream updates immediately instead of buffering them.

Deprecated

  • PIVOT-14093: AStatusTask#run() is deprecated since 6.2.1 in favor of execute(); existing overrides of run() still work but log a warning the first time such a task is scheduled.

Removed

  • PIVOT-14667: The Dependencies page has been removed from the release documentation because the dependencies are now aligned with the Atoti Server version. See the Atoti Server dependencies page for the underlying Spring Boot and Java versions.

Fixed

  • PIVOT-14093: The export status poller no longer cancels itself while a sign-off is APPROVING, which previously stranded the sign-off at EXPORTING instead of letting it complete.
  • PIVOT-14093: A poller could leak past a rejected-and-re-exported sign-off and apply transitions concurrently with its replacement, causing data races; pollers are now stopped when their sign-off is rejected and re-exported.
  • PIVOT-14093: Cancelling a poller mid-transition could leave the audit log and database inconsistent; cancellation now waits for an in-flight transition to finish instead of interrupting it.
  • PIVOT-14093: Audit records for a completed workflow transition could store pre-transition data instead of what was actually persisted; they now reflect the transition’s actual result.
  • PIVOT-14093: Attachment and comment variables could be silently dropped from the audit history under heavy load when their timestamp drifted ahead of Activiti’s clock; it is now taken from Activiti’s clock.
  • SO-1116: Adjustment audit records written by the status poller stored the executionId in the definitionId field, breaking definition-based audit queries and correlation; the definitionId is now persisted correctly.
  • SO-1116: The adjustment status poller could abandon an execution in a non-terminal state (e.g. REQUESTED) after a poll failure; failures are now retried, marking the execution FAILED after 5 consecutive failures.
  • SO-1116: The export status poller could abandon a repeatedly-failing poll silently, leaving the sign-off stuck at EXPORTING; poll failures are now retried, marking the sign-off EXPORT_FAILED after 5 consecutive failures.
  • SO-1116: A ~500ms race between the datastore cache update and the bulk publish could leave adjustment status stuck at its initial value; the update now retries briefly to bridge the race.
  • SO-1119: Adjustment execution and deletion failures were silently swallowed, leaving the execution stuck in a non-terminal status (PENDING/DELETING); uncaught exceptions are now logged and the execution is marked FAILED.
  • SO-1114: Creating or updating a sign-off definition as a user outside the definition’s candidate group returned HTTP 500 instead of 403 Forbidden; the access check now correctly returns 403.
  • SO-1121: Task-only approvers (in the workflow’s approvers group but not the definition’s candidateGroups) no longer receive an HTTP 403 on the SSE subscribe endpoint or the task approval window.
  • SO-1122: The “Pending Approval” column on the Sign-Off Task Configuration screen always showed 0 for simple-workflow tasks; awaiting-approval tasks are now counted correctly regardless of workflow type.
  • LIM-2319: Notifications could break after running for several hours, when a new subscriber’s stream raced a publish and failed with IllegalStateException; the notification store is now backed by a concurrent map.
  • SO-1144: Transactional CRUD operations no longer spawn many new threads when viewing screens in realtime mode; the maximum thread count is now sized by the sign-off.application.sse-executor-pool-size property (default 8).
  • SO-1144: Opening many screens at the same time no longer leaves some of them without their initial data until the page is reloaded.
  • SO-1115: Adjustments could show an outdated status (e.g. REQUESTED after EXECUTED) on the task screen and in API responses; the current execution version is now selected by its live range.

Security

2026-07-27
Follow this link to download the zipped distribution files for:
  • UI source code
  • UI build
  • Source files to build the module
  • Maven repository required to build the project and run the tests.
This release does not ship any changes.