|
| 1 | +--- |
| 2 | +title: 4.4.0 |
| 3 | +description: Release notes for v4.4.0 of the Rhize application |
| 4 | +categories: ["releases"] |
| 5 | +weight: 1639347320 |
| 6 | +aliases: |
| 7 | + - /releases/4-4-0 |
| 8 | + |
| 9 | +--- |
| 10 | + |
| 11 | +Release notes for version 4.4.0 of the Rhize application. |
| 12 | + |
| 13 | +_Release date:_ |
| 14 | +11 August 2026 |
| 15 | + |
| 16 | +## Changes by service |
| 17 | + |
| 18 | +The following sections document the changes this release brings to each service. |
| 19 | + |
| 20 | +### Admin |
| 21 | + |
| 22 | +#### Add |
| 23 | +- Add opt-in support for authentication against a generic OIDC provider instead of Keycloak |
| 24 | +- Add environment variable `APP_AUTH_OIDC_ADDITIONAL_SCOPES` to request extra scopes on top of standard scopes |
| 25 | +- Add JWT node template |
| 26 | + |
| 27 | +#### Change |
| 28 | +- Change Physical Assets page to use generic versioned entity components |
| 29 | +- Change OIDC to request `openid`, `profile`, `email`, and `offline_access` as standard scopes on every sign-in |
| 30 | +- Change description on Google BigQuery node template for clarity |
| 31 | + |
| 32 | +#### Fix |
| 33 | +- Fix issue where inline editing on Equipment Class Properties would result in a GraphQL error |
| 34 | +- Fix issue where saving a versioned entity with many entities present would cause the version dropdown to disappear |
| 35 | +- Fix Equipment sidebar search not searching unloaded Equipment |
| 36 | +- Fix missing success notification for enabling and disabling Equipment |
| 37 | +- Fix missing scopes on OIDC sign-in |
| 38 | +- Fix extra brackets being displayed around version on Physical Asset page |
| 39 | +- Fix Approved and Deprecated Physical Asset versions allowing properties to be disabled |
| 40 | +- Fix Physical Asset page showing success message along with error message when trying to create duplicate property |
| 41 | +- Fix versioning in Physical Asset properties to include version number in entity version prefix to prevent duplicate ID error |
| 42 | +- Fix issue with connections not rendering in Work Master editor |
| 43 | +- Fix issue with dragging nodes not updating selection in Work Master editor |
| 44 | +- Fix positioning of Work Master nodes created by API |
| 45 | + |
| 46 | +### Known Issues |
| 47 | +- Known issue where navigating to another tab after adding an Equipment Asset Mapping may cause the newly created mapping to disappear |
| 48 | +- Known issue preventing editing of inherited properties on Equipment, Person, Operations Event Definition, and Physical Asset pages |
| 49 | +- Known issue where creating a new version on the Person page causes other versions to disappear from the dropdown |
| 50 | +- Known issue where two Active versions may display for an Operational Location |
| 51 | +- Known issue where editing an Operational Location property may cause other properties on the table to disappear |
| 52 | +- Known issue where prior values for an Operations Event Definition version may display after creating a new version |
| 53 | + |
| 54 | +### Agent |
| 55 | + |
| 56 | +### Add |
| 57 | +- Add option to bypass OIDC |
| 58 | +- Add support for authentication against a generic OIDC provider instead of Keycloak |
| 59 | +- Add support for Azure EventHub datasource |
| 60 | + |
| 61 | +### Change |
| 62 | +- Change JWT library to golang-jwt/jwt/v5 from dgrijalva/jwt-go/v4 |
| 63 | +- Change OIDC to use `client_credentials` grant |
| 64 | +- Change `oidc.realm` in config to be optional |
| 65 | +- Change golang to v1.25.12 from v1.25.11 |
| 66 | +- Change library golang.org/x/net to v0.57.0 from v0.55.0 |
| 67 | +- Change library golang.org/x/text to v0.39.0 from v0.37.0 |
| 68 | +- Change library google.golang.org/grpc to v1.82.1 from v1.80.0 |
| 69 | + |
| 70 | +### Remove |
| 71 | +- Remove support for OIDC username and password |
| 72 | +- Remove durable queue from `MessageHandler` |
| 73 | + |
| 74 | +### BaaS |
| 75 | + |
| 76 | +### Add |
| 77 | +- Add `EventDefinitions` and `SchemaDiagrams` to the `/admin` GraphQL API |
| 78 | +- Add functionality to allow GraphQL queries to be called with a timestamp |
| 79 | +- Add full CDC sink-and-source pipeline for publishing CDC events to Solace |
| 80 | +- Add an immutable audit trail for capturing CDC events from a Solace queue and writing append-only rows to an Apache Iceberg table, allowing audit records to be queried through the `queryAudit` resolver on the `/admin` GraphQL API |
| 81 | +- Add Schema Explorer page to the BAAS Console, allowing visualization of the GraphQL schema as a node graph |
| 82 | +- Add support for authentication against a generic OIDC provider instead of Keycloak with `enable-generic-oidc` |
| 83 | + |
| 84 | +### Change |
| 85 | +- Change library golang.org/x/text to v0.39.0 from v0.37.0 |
| 86 | +- Change library google.golang.org/grpc to v1.82.1 from v1.81.1 |
| 87 | +- Change library github.com/go-chi/chi/v5 to v5.3.0 from v5.2.4 |
| 88 | +- Change library github.com/klauspost/compress to v1.18.7 from v1.18.4 |
| 89 | + |
| 90 | +### Fix |
| 91 | +- Fix `worker`: resolve CDC-pinned orphaned transactions |
| 92 | +- Fix `worker/cdc`: reset stranded pending events when WAL is trimmed past `seenIndex` |
| 93 | +- Fix GraphQL subscriptions failing with authentication |
| 94 | +- Fix rebuild index ignoring schema requirements |
| 95 | + |
| 96 | +## Known Issues |
| 97 | +- Known issue where BAAS Console S3/Minio Backup page may show a success message despite giving an invalid destination |
| 98 | +- Known issue where BAAS Console Local Export backup page may show a success message despite giving a potentially invalid export destination |
| 99 | +- Known issue where BAAS Console schema upload page will not show an error for a potentially invalid schema |
| 100 | + |
| 101 | +### ISA-95 |
| 102 | + |
| 103 | +### Add |
| 104 | +- Add tests for timeseries queries |
| 105 | +- Add `AzureEventHub` to `DataSourceProtocol` |
| 106 | +- Add `historyQuery` custom field to Equipment type to enable SQL queries of timeseries data within Equipment context |
| 107 | +- Add `EventSource*` types for defining event specific data sources |
| 108 | +- Add `ackMethod` field to `EventSourceTopic` |
| 109 | + |
| 110 | +### Change |
| 111 | +- Change schema to reflect default limits on SQL runtime queries |
| 112 | +- Change golang to v1.25.12 from v1.25.11 |
| 113 | +- Change library golang.org/x/text to v0.39.0 from v0.37.0 |
| 114 | + |
| 115 | +### Fix |
| 116 | +- Fix `DispatchStatus` values to align with ISA-95 specification |
| 117 | +- Fix missing deprecation on `DispatchStatus` for `CANCELED` causing errors |
| 118 | + |
| 119 | +### Typescript host service |
| 120 | + |
| 121 | +_Releasing in step with other components._ |
| 122 | + |
| 123 | +### Workflow |
| 124 | + |
| 125 | +### Add |
| 126 | +- Add JSON schema node for fetching schema from a schema registry |
| 127 | +- Add support for authentication against a generic OIDC provider instead of Keycloak |
| 128 | +- Add terminal error messages to BPMN variable context |
| 129 | +- Add AMQP Event Source driver |
| 130 | +- Add support for different acknowledgement methods for Event Sources based on topic configuration |
| 131 | + |
| 132 | +### Change |
| 133 | +- Fix missing check for debug mode on Workflow Instances |
| 134 | +- Change OIDC to use `client_credentials` grant |
| 135 | +- Change calls to Restate from BPMN nodes to allow calls to any endpoint |
| 136 | +- Change `zeebe:input` mapping with an empty target to spread resolved JSON object fields directly into `taskVars` |
| 137 | +- Change `zeebe:input` source evaluation to read inputs starting without "=" as raw JSON when the input's target is empty |
| 138 | +- Change golang to 1.25.12 from 1.25.9 |
| 139 | +- Change library golang.org/x/tools to v0.47.0 from v0.45.0 |
| 140 | +- Change library google.golang.org/grpc to v1.82.1 from v1.80.0 |
| 141 | + |
| 142 | +### Fix |
| 143 | +- Fix authentication not being checked on BPMN load and execution |
| 144 | +- Fix trailing `/` being appended to discovery URL in OIDC adapter |
| 145 | + |
| 146 | +### Remove |
| 147 | +- Remove support for OIDC username and password |
| 148 | + |
| 149 | +## Compatibility |
| 150 | + |
| 151 | +{{< compatible "4.4.0" >}} |
| 152 | + |
| 153 | +## Checksums |
| 154 | + |
| 155 | +{{% checksums "v4.4.0-checksums.txt" %}} |
| 156 | + |
| 157 | +## Upgrade |
| 158 | + |
| 159 | +To upgrade to v4.4.0, first ensure that you have made corrections for the following breaking changes. |
| 160 | + |
| 161 | +After you've made the necessary mitigations, follow the [Upgrade instructions](/deploy/upgrade). |
| 162 | + |
| 163 | +## Breaking Changes |
| 164 | + |
| 165 | +### Changes to OIDC Configuration |
| 166 | +Agent and Workflow now authenticate with client credentials instead of password grants. The OAuth client must now be confidential with service accounts enabled, and its service account user must be granted any necessary roles. For Keycloak the following changes will need to be made: |
| 167 | + |
| 168 | +#### Workflow Required Roles |
| 169 | +Workflow now requires the `bpmn:mutation` role to execute BPMNs that are not started by a user. |
| 170 | + |
| 171 | +1. In the left hand menu, select **Clients > `{{< param application_name >}}Baas`** and then select the **Roles** tab. |
| 172 | +1. Select **Create role**. |
| 173 | +1. Name the role `bpmn:mutation`. |
| 174 | +1. **Save**. |
| 175 | +1. In the left-hand menu, select **Groups**. |
| 176 | +1. Select your admin group, and then select the **Role mapping** tab. |
| 177 | +1. Select **Assign role > Client roles**. |
| 178 | +1. Select `bpmn:mutation` from **`{{< param application_name >}}eBaas`**. |
| 179 | +1. **Assign**. |
| 180 | + |
| 181 | +#### Configure Clients |
| 182 | +Clients now need to be configured to use service account roles and have their service account user be added to the admin group. |
| 183 | + |
| 184 | +1. In the left-hand menu, select **Clients > `{{< param application_name >}}Workflow`**. |
| 185 | +1. Under **Capability config,** enable **Service account roles**. |
| 186 | +1. **Save**. |
| 187 | +1. Select the **Service account roles** tab. |
| 188 | +1. In the notice "To manage details..." select the `service-account-{{< param application_name >}}workflow` link. |
| 189 | +1. Select the **Groups** tab. |
| 190 | +1. Select **Join Group**. |
| 191 | +1. Select your admin group, commonly named `{{< param application_name >}}AdminGroup`. |
| 192 | +1. **Join**. |
| 193 | +1. Repeat the process for `{{< param application_name >}}Agent`. |
0 commit comments