πŸ“¨ Alpha Platform Trinity Asset (1.0.17) Release Notes - 26.06.1.0.17

Release Date: June 30, 2026
Release Channel: Current
Version: 26.06.1.0.17
Trinity Asset Version: 1.0.17


:warning: Breaking Changes

No breaking changes were documented for this release.


:sos_button: Support Requests Resolved

  • NPFRBT-1439: Case Manager inbox and case-list requests that took more than 15 seconds on large datasets now use the Enquiry read model, server-side sorting, and caching. Complete the API migrations before using the new path.

:sparkles: New Features

Server-side inbox sorting

My Tasks, Team Tasks, Group Tasks, signal lists, and Admin re-attempt screens sort the full result set on the server. The first page now contains the first rows from the requested sort, not a reordered copy of the current page. Sorting remains stable across pages.


:wrench: Enhancements

  • Dashboard counts: Inbox grids and dashboards read from the same Enquiry projections. Signal counts include active signals only.
  • Filter ranges: Date and number filters validate their lower and upper bounds before submission.

:bug: Bug Fixes

Inbox and tasks

  • Cold-load cells: My, Team, and Group Task cells wait for application startup before resolving their values.
  • Parent processes: Inbox rows use the parent process from the read model instead of the task’s own process instance ID.
  • Server-side sorting: Re-attempt requests and Enquiry-backed task lists use the configured server-side order.

Admin and user management

  • Service-token user administration: Case Manager and Studio administrators can create or update users through service tokens. Audits attribute each change to the administrator rather than the service account.

UI

  • Custom fonts: The UI loads custom font variables and keeps text visible through font-display: swap while fonts load.
  • Case Manager navigation: Navigation and environment-defined case sort options now use their configured values.

:clipboard: Configuration

This release introduces new environment variables for inbox server-side sorting, migration backfill APIs, BPM DB trigger auto-install, and GTS task sync (outbox relay). Set them under the corresponding service envs block in your Helm values file.

New variables

Helm values path New variables
services.adapters.alpha-jbpm-service.envs BPM_TRIGGER_RECONCILE_ENABLED, BPM_TRIGGER_RECONCILE_INTERVAL_MS, ALPHA_LINEAGE_MAX_DEPTH
services.backends.alpha-case-service.envs BACKFILL_BATCH_SIZE, BACKFILL_BATCH_DELAY_MS
services.cron.gts.envs GTS_OUTBOX_BATCH_SIZE, GTS_OUTBOX_MAX_PUBLISH_ATTEMPTS, ALPHA_LINEAGE_MAX_DEPTH (only if customized)

alpha-jbpm-service

BPM DB trigger installation and BPM lineage backfill APIs.

Variable Default if not set Purpose
BPM_TRIGGER_RECONCILE_ENABLED Enabled (only false disables) Automatically installs/updates BPM DB triggers (taskevent β†’ task_index_outbox, lineage materialization) at startup and on a poll interval.
BPM_TRIGGER_RECONCILE_INTERVAL_MS 60000 Poll interval (ms) for retrying trigger installation when jBPM tables or migration DDL are not yet available at startup.
ALPHA_LINEAGE_MAX_DEPTH 31 Max ancestor depth when materializing process_instance_lineage. Deeper process trees are clamped instead of recursing indefinitely.
services:
  adapters:
    alpha-jbpm-service:
      envs:
        BPM_TRIGGER_RECONCILE_ENABLED: "true"
        BPM_TRIGGER_RECONCILE_INTERVAL_MS: "60000"
        ALPHA_LINEAGE_MAX_DEPTH: "31"

Prerequisite: migration-service DDL must create task_index_outbox, task_index_outbox_errors, and process_instance_lineage in the BPM DB before triggers can install. Until then, alpha-jbpm-service logs warnings and retries on the poll interval.

alpha-case-service

Enquiry projection backfill and inbox server-side sorting.

New variables

Variable Default if not set Purpose
BACKFILL_BATCH_SIZE 100 Default batch size for enquiry projection backfill when the API request body omits batchSize.
BACKFILL_BATCH_DELAY_MS 200 Default delay (ms) between backfill batches when the API request body omits batchDelayMs.
services:
  backends:
    alpha-case-service:
      envs:
        BACKFILL_BATCH_SIZE: "100"
        BACKFILL_BATCH_DELAY_MS: "200"

Existing variables used by server-side sorting

These names existed before 1.0.17 but are now used more broadly for inbox default/fallback sort. Review your values even if you are not adding new keys.

Variable Default if not set Purpose
CASE_FETCH_ALL_SORT_COLUMN No global sort (legacy inbox behavior) Default/fallback sort column on enquiry ci_* when the UI does not send sortBy, or when column sort cannot be resolved. Allowed: created_at, updated_at. Invalid values fall back to created_at.
CASE_FETCH_ALL_SORT_ORDER Not set Sort direction: ASC or DESC. Set it with CASE_FETCH_ALL_SORT_COLUMN. Invalid values fall back to DESC.
ENQUIRY_DEBUG_LOGS off Set true to log constructed enquiry SQL and matched rows (sort troubleshooting only).
services:
  backends:
    alpha-case-service:
      envs:
        CASE_FETCH_ALL_SORT_COLUMN: created_at
        CASE_FETCH_ALL_SORT_ORDER: DESC
        # ENQUIRY_DEBUG_LOGS: 'true'

gts

Polls task_index_outbox (when present) and pushes task updates to enquiry. When the outbox table is absent, GTS falls back to legacy task.createdon window sync.

New variables

Variable Default if not set Purpose
GTS_OUTBOX_BATCH_SIZE 100 Max unpublished outbox rows processed per inner batch within one sync run.
GTS_OUTBOX_MAX_PUBLISH_ATTEMPTS 10 Skip outbox rows after this many failed publish attempts (avoids head-of-line blocking).

Existing variables required for outbox sync

Variable Default if not set Purpose
ENABLE_SYNC cron not started Must be true to start the task sync scheduler.
SYNC_INTERVAL_MS 10000 Poll cadence; use 5000 or lower for ~seconds-level task index freshness.
SYNC_BATCH_DELAY_MS 1000 Delay between outbox inner batches.
services:
  cron:
    gts:
      envs:
        ENABLE_SYNC: "true"
        SYNC_INTERVAL_MS: "5000"
        SYNC_BATCH_DELAY_MS: "1000"
        GTS_OUTBOX_BATCH_SIZE: "100"
        GTS_OUTBOX_MAX_PUBLISH_ATTEMPTS: "10"
        # ALPHA_LINEAGE_MAX_DEPTH: '31'  # only if customized on alpha-jbpm-service

If you customize ALPHA_LINEAGE_MAX_DEPTH on alpha-jbpm-service, set the same value on gts (both load @alpha-core/bpm-lineage-sql at startup).


:counterclockwise_arrows_button: Migrations

Database migrations

DB schema migrations are automated for all Trinity Asset releases. Migration 1.0.17 creates the BPM task-freshness and process-lineage tables and their database triggers on fresh installs and upgrades.

Environments with data created before 1.0.17 must backfill the lineage and Enquiry projections through the API migrations.

API migrations

Run these resumable backfills only for data created before 1.0.17; new records are indexed on write. The migration backfill runbook covers prerequisites, verification, and rollback.

Run in order. Both are POST, authenticated with an IDS bearer token, and are looped until the response reports hasMore: false.

1. BPM Lineage Backfill. Run once per environment on alpha-jbpm-service, before the Enquiry backfill.

  • Endpoint: POST /bpmservice/migration/bpm-lineage-backfill/up
  • Purpose: Populates process_instance_lineage with subprocess parent and child relationships.
  • Authentication: IDS bearer token (alpha-jbpm-service also expects user/password headers, normally supplied from JBPM_USER_NAME/JBPM_PASSWORD).
  • Companion endpoints: /status reports progress, /verify passes when ok: true, and /down rolls back non-production data.

2. Enquiry Projection Backfill. Run for each project on alpha-case-service.

  • Endpoint: POST /caseservice/case/migration/enquiry-projection-backfill/up/project
  • Purpose: Populates the ci_* / ti_* / si_* enquiry read-model tables that power server-side inbox sorting.
  • Authentication: IDS bearer token.
  • Request body: { "projectId": "<project-uuid>", "scope": "ALL" } (scopes: ALL / CASES / TASKS / SIGNALS / TASKS_PARENT_PIID).
  • Companion endpoints: /status/project (progress + completion gate), /down/project (non-prod rollback).

:package: Docker Images

Category Service Name Image Repository Image Version
backends neutrinos-cm-bpm neutrinos.azurecr.io/alpha/neutrinos-cm-bpm 1.0.0
backends alpha-case-service neutrinos.azurecr.io/alpha/alpha-case-service 26.06.1.0.17-ae99f6524f49
backends alpha-request-service neutrinos.azurecr.io/alpha/alpha-request-service 26.06.1.0.17-ae99f6524f49
backends alpha-delta-service neutrinos.azurecr.io/alpha/alpha-delta-service 26.06.1.0.17-ae99f6524f49
backends admin neutrinos.azurecr.io/alpha/admin 26.06.1.0.17-ae99f6524f49
backends alpha-auth-service neutrinos.azurecr.io/alpha/alpha-auth-service 26.06.1.0.17-ae99f6524f49
backends alpha-config-service neutrinos.azurecr.io/alpha/alpha-config-service 26.06.1.0.17-ae99f6524f49
backends alpha-module-service neutrinos.azurecr.io/alpha/alpha-module-service 26.06.1.0.17-ae99f6524f49
backends alpha-dashboard-service neutrinos.azurecr.io/alpha/alpha-dashboard-service 26.06.1.0.17-ae99f6524f49
backends marketplace-headless neutrinos.azurecr.io/alpha/marketplace-headless 26.06.0.0.27-0922e2b61ea0-security
backends alpha-archival neutrinos.azurecr.io/alpha/alpha-archival 26.06.1.0.17-ae99f6524f49
frontends alpha-admin-ui neutrinos.azurecr.io/alpha/alpha-admin-ui 26.06.1.0.17-ae99f6524f49
frontends alpha-case-manager-ui neutrinos.azurecr.io/alpha/alpha-case-manager-ui 26.06.1.0.17-ae99f6524f49
frontends alpha-workflow-studio neutrinos.azurecr.io/alpha/alpha-workflow-studio 26.06.1.0.17-ae99f6524f49
frontends alpha-delta-ui neutrinos.azurecr.io/alpha/alpha-delta-ui 26.06.1.0.17-ae99f6524f49
adapters alpha-jbpm-service neutrinos.azurecr.io/alpha/alpha-jbpm-service 26.06.1.0.17-ae99f6524f49
cron alpha-task-distributor neutrinos.azurecr.io/alpha/alpha-task-distributor 26.06.1.0.17-ae99f6524f49
cron gts neutrinos.azurecr.io/alpha/gts 26.06.1.0.17-ae99f6524f49

:telephone_receiver: Support & Resources