Redpoint Interaction v7.x Documentation
Auto Light Dark
Auto Light Dark

RPI v7.8 post-release product updates

Overview

This page provides detailed information about fixes and features that have been added to RPI v7.8 after its initial release.

Some patches require Helm chart updates, while others do not. This is noted for each patch version:

  • Image-only update: There are no changes to the Helm chart. You don't need to pull the latest chart version. Simply updating the container image tag within your existing values.yaml file is sufficient.

  • Helm chart update required: You will need to pull the latest Helm chart version. Refer to Managing Helm chart updates for self-hosted RPI v7 deployments for details.

RPI v7.8.20261015.1302

15-Oct-2026
Client Download

This release is an image-only update.

Description of updates

Interaction Designer

  • Opening or saving a large interaction no longer leaves the client unresponsive for several seconds to several minutes. Status indicators still update as soon as you choose, change, or clear an activity's input source on the Inputs tab. (Ref. 28792, 28741, ITDSK-31558)

  • Export activities created before v7.8 now load in the Interaction Designer with Write offer history selected, which matches how they ran before the upgrade. Previously they loaded with it cleared, so running them wrote no Offer History and reported no error. Export activities you explicitly set not to write Offer History and new Export activities are unchanged. (Ref. 28726, 28712, ITDSK-31490)

  • An Export activity with Write offer history cleared now exports only the records added in the current run. Previously it exported every record that earlier runs had already selected, each time a single-instance recurring trigger fired or an interactive audience polled. Activities connected below such an Export now also receive the audience's records. Please refer to the important upgrade considerations that follow. (Ref. 28739, 28732, ITDSK-31553)
    Before you upgrade

    • Review activities connected below an Export with Write offer history cleared. Since v7.8 these activities have received no records. After the upgrade they receive the audience's records. If one is an offer or channel activity, it sends real messages on its next run. Deactivate or change any interaction where you don't want this. A child activity that already has its own input source keeps it.

    • Review anything that reads these export files. Each run now writes a file that holds only that run's records, not the full cumulative list.

    After you upgrade

    • Pause and resume each running interactive workflow that has an Export with Write offer history cleared below an interactive audience; reactivating it also works. Until you do, it keeps exporting every record on each poll, and each poll writes this warning to the activity log: "'<activity>' was activated by an earlier version. If it is an Export with Write to Offer History off, it exports every record this activity has selected on each poll. Pause and resume this workflow to apply the fix." Recurring workflows need no action and pick up the fix on their next trigger fire. A run that's already in progress during the upgrade finishes with the old behavior.

    What changes

    • Records sent: the first run of a workflow instance still sends everything the audience selects. Later runs send only the new records, and a run with no new records exports nothing and logs "No data to export".

    • Counts: for an Export with Write offer history cleared, Total Count and the targeted count show only the latest run, not a running total. With the option selected they're still a running total. Two Exports on the same audience, one of each, therefore show different numbers after the second run, as expected.

    • Unchanged: workflows set to New workflow instance each time trigger fires, Exports with Write offer history selected, Export data connectors, and Data Transfer activities.

    • Database: two nullable columns, WaveNumber and InstanceIteration, are added automatically to each workflow's audience contact table in the data warehouse. Contacts recorded before the upgrade aren't sent again. There are no operational database schema changes and no new configuration values.

Audience Designer

  • Waterfall reports for audiences and selection rules that filter on related tables, such as transaction or invoice line-item tables, now store one row per customer at each step. These reports complete faster, place far less load on your database, and give the same counts as before. Working tables that a waterfall report creates are now also removed when the report fails or is stopped. (Ref. 28793, 28722, ITDSK-31504)

  • Pop out into its own Window on a selection rule in a Filter or Multi-filter block now opens the saved rule, the same version that Open Latest Version opens. Previously it opened an unsaved copy, so changes you made in the popped-out window never reached the saved rule. In the Audience Instance Viewer, pop out still opens a copy of the rule as it was when the test ran. (Ref. 29034, DF-154, ITDSK-31563)

Integration API

  • Seed values and seed attribute default values that you add or update through the Integration API are now stored as dates, numbers, and true/false values, according to the attribute's data type. They're stored the same way as values entered in the client, so they format correctly in seeded exports and test sends. The API now refuses, with an error, any value it can't read as the attribute's data type. (Ref. 28259)

  • When the Integration API refuses a configuration change, such as an invalid seed definition update, the configuration now stays exactly as it was, and the original error is still returned. Previously, the refused change could still appear in later reads, and further changes for the same client were refused until the configuration reloaded. (Ref. 28298)

Operational databases

  • On PostgreSQL deployments, opening a new database connection no longer pauses for several seconds while it attempts a Kerberos negotiation that RPI doesn't use. The pause recurred about every five minutes per connection pool and caused periodic delays in the Interaction API, Node Manager, and the client. (Ref. 28468)

Deployment

  • A new rollback operation in the Configuration Service restores the cluster and tenant databases to a consistent state after you redeploy an earlier version's containers, without a full database restore. Running the regular upgrade with an older deployment package now fails with an error that names both versions; previously it reported success without applying any changes. These rollback operations are supported from this latest version (v7.8.20261015.1302) forward. (Ref. 28058)

RPI v7.8.20260930.1231

30-Sep-2026
Client Download

This release contains Helm chart updates.

Description of updates

Audience Designer

  • Fixed an issue where setting a non-required metadata attribute backed by a numeric or other non-text value list to (blank value) saved without error, but caused the audience to fail when run with a value-conversion error. Blank values on these attributes are now preserved, and a Date-type attribute with no default value now records an empty value instead of 1900-01-01. The fix applies to audience runs from this version onward; data that's already written isn't changed. (Ref. 28206, 28207, 28201, ITDSK-30770)

Interaction Designer

  • Fixed an issue in the Interaction Designer where the "Manage placeholders" dialog for an Interactive activity listed every audience placeholder twice, when that activity's Offer chained into a second Interactive activity on the same audience. Each placeholder is now listed once, as expected. This only affected what the dialog displayed and its validation messages; values already saved on the activity and the interaction's execution were not affected. (Ref. 28439, 28423, ITDSK-31167)

Execution Service

  • Fixed an issue where an audience activity that moved to another Execution Service host, after the original host stopped responding, could fail to resume and report a missing staging table. The activity now pauses if the original host loses ownership before finishing, so the host that takes over can complete it. If an Execution Service host loses contact with the cluster database, its in-flight activities now pause and resume on another host, rather than continuing. (Ref. 28196, 28180, ITDSK-30761)

Deployment configuration

  • Fixed an issue where a plugin setting provided as an environment variable, including one set through the Helm chart, was silently ignored when the same setting also appeared in a service's shipped default settings file. Environment variables now take effect as documented. (Ref. 28299)

Queue Reader

  • Fixed an issue where processing a backlog of web form submissions together could record several submissions under the same identifier in the data warehouse, losing submissions or attributing field values to the wrong submission. Each submission in a batch is now written with its own identifier. Submissions already affected aren't corrected automatically. (Ref. 28236)

Data Import

  • Fixed an issue where a Data Import join from an imported column back to the table being loaded saved and loaded without error, but then blocked saves in Configuration > Joins with a "Table is joined to itself" error until you removed the join by hand. Data Import no longer creates this kind of join. It's now flagged as a validation issue in the designer and the Integration API, so it can't be saved. (Ref. 28376, 28369, ITDSK-31059)

RPI client

  • Fixed an issue where opening the Interactions Report or the Interaction Triggers Report could close the RPI client immediately, with no error message. The report toolbar's filter area may now appear slightly wider than before. If the RPI client does close unexpectedly, the error is now recorded in the local client log and, when the client can reach the server, in the RPI server log. (Ref. 28194, 28133, 28122, ITDSK-30637)

  • Fixed an issue where the RPI client, when started from outside its install folder, could log you in but show a near-empty main menu and an empty Recently Accessed pane. This could happen when you started it from a shortcut with no Start in folder, from Windows Search, or in some Citrix or virtual desktop setups. The client now loads its plugins from its own install folder, however it's started. (Ref. 28400, 28378, ITDSK-30902)

Integration API

  • Fixed an issue where three Integration API endpoints reporting an activity's metadata (the interaction, activity, and trigger endpoints) always reported an attribute's default value in the value field, even when the activity had a manually configured override for that attribute. These endpoints now report the activity's actual, current value for each attribute, with defaultValue continuing to report its default and isDefault indicating whether the two differ. (Ref. 27970, RPI-I-814)

Azure Storage Queue

  • Fixed an issue where using the Azure Storage Queue provider for a channel's personalize-content send queue failed because the queue name RPI generated did not meet Azure Storage Queue's naming rules. Generated queue names are now automatically adjusted to meet those rules, so channels using an Azure Storage Queue provider for personalize-content sends now work correctly. (Ref. 28130)

Email channels

  • Fixed an issue where new Cheetah Digital, Eloqua, and LuxSci email channels were saved with a Request timeout of 1 minute instead of 60 minutes, so slower operations, such as campaign creation or large data imports, could time out. New channels of these types now default to 60 minutes. Existing channels aren't updated, so check the Request timeout on any of these channels that's set to 1 minute. (Ref. 28203)

Cheetah Digital (Marigold) email

  • Fixed an issue where operational (triggered-campaign) sends on a channel with manually mapped data fields could fail every record, if the channel was created or last saved before April 2026 and not re-saved since. These sends now complete without you having to re-save the channel. (Ref. 28110)

  • Fixed an issue where an operational (triggered-campaign) send could create and launch a campaign even when no personalized content had reached the send queue, so recipients received email with unresolved merge fields. The campaign is no longer created or launched until content reaches the queue, and the activity still fails with the same error when nothing does. (Ref. 28111)

  • Fixed an issue where, if a triggered-campaign send was interrupted and restarted, the number of records reported as sent could be far lower than the number actually delivered, and the report could incorrectly state that the remaining records would be delivered on a further restart. Reported counts now reflect the cumulative total across restarts, and the report distinguishes records still queued from records that restarting can't recover. (Ref. 28112)

  • Fixed an issue where a triggered-campaign send that timed out waiting for a response was always reported as a definite failure to re-target, even though the email might already have been sent. Timed-out contacts are now reported separately as "Outcome unknown (timed out)", with an instruction to check them in Cheetah Digital before re-targeting, so a contact isn't sent the same email twice. (Ref. 28134)

LuxSci email

  • Fixed an issue where a LuxSci email send could be delivered to a recipient twice, due to a network or server failure occurring after RPI sent the request to LuxSci, which triggered an automatic retry of that same request. RPI now only automatically retries a LuxSci send when the failure occurred before the request reached LuxSci; for any failure that happens afterward, RPI checks LuxSci's delivery records before deciding whether to resend; if that check cannot be completed, the batch is set aside for the existing recovery process instead of being resent. To restore the previous retry behavior, set Plugins__LuxSci__SendRetryPolicy to Legacy.
    Two related issues were also fixed: a send that ran out of retry attempts could previously drop out of the activity's own counts, and a cached authentication code could expire slightly before RPI expected it to, causing extra failed requests and delays. (Ref. 26282, 28182, ITDSK-30760)

Salesforce Marketing Cloud email

  • Fixed an issue where a Queue Listener send could fail, with Salesforce Marketing Cloud rejecting the request, when an email offer used the same Table Smart Asset in both the HTML and plain-text parts of a multipart message. These offers now send successfully. (Ref. 28032)

  • Fixed an issue where sends could fail with an "Invalid Function Call" error when a tracked link's destination was built from more than one piece of dynamic content. Other HTML attributes on the same link, such as one that opens the link in a new tab, are now kept when the link is rewritten for click tracking, instead of being removed. (Ref. 28033)

  • Fixed an issue with Salesforce Marketing Cloud email sends where a Rule Smart Asset referenced inside an HTML attribute (for example, a link URL) rendered every content variant instead of just the one matching the recipient's rule. These assets now render only the matching variant when used inside an HTML attribute. (Ref. 28034)

  • Fixed an issue with Salesforce Marketing Cloud channels where unsubscribing an email address could record an internal subscriber identifier in the suppression list instead of the actual email address, so re-subscribing that address afterward did not remove it from the list. Suppression entries for these channels now record the actual email address, so they update correctly when a contact re-subscribes. (Ref. 28035)

  • Fixed an issue where a fulfillment activity could report success and record contacts as delivered even when every attempt to reach Google Ads failed. The activity now fails when a sustained Google Ads failure, such as invalid credentials or an exceeded quota, means no contacts were delivered, and reports the shortfall when only some were. The activity log also now includes the error Google Ads reported. The Interaction Workflow Failure alert now fires where Interaction Fulfilment Complete used to, so anyone relying on the old success outcome for this channel should review it. (Ref. 28218, 28197, ITDSK-30787)

Helm chart update

  • Added a top-level commonEnvVars setting, which is a list of Kubernetes environment variable entries (name with value or valueFrom) applied to every RPI container. If you need to add custom environment variables for things such as monitoring or security tooling, set enabled to true and supply the name and value of the variable. (Ref. CE-4093, ITDSK-29822)

    YAML
    commonEnvVars:
      enabled: true # opt-in (defaults to false)
      vars:
        - name: DT_TAGS
          value: "app=rpi environment=prod owner=platform-team"
    

RPI v7.8.20260910.1532

11-Sep-2026
Client Download

This release contains Helm chart updates.

Description of updates

Cheetah Digital email

  • Fixed an issue where a Cheetah Digital email fulfillment interrupted and restarted part-way through its send treated already-started recipients as finished, while still reporting success. Unconfirmed recipients are now reported by identifier range and the activity fails, prepared content is retained across a restart, and send failures reported by the queue are no longer discarded. (Ref. 27965, 27964, ITDSK-29822)

  • Large Cheetah Digital email sends no longer load an entire audience's rendered content into memory at once, which could exhaust the Execution Service's memory and cause the run to restart and lose its audience. The send stage now processes a bounded number of content batches at a time. If you need more throughput and have the memory headroom, raise the campaign trigger thread count via extraEnvs in your overrides file:

    YAML
      extraEnvs:
        - name: Plugins__Marigold__CampaignTriggerSendThreadCount
          enabled: true
          value: '99'
    

    (Ref. 28037, 27964, ITDSK-29822)

  • Recipients rejected by Cheetah Digital because a triggered campaign was still being set up were previously abandoned without retry, with the activity still reporting success. Rejected sends are now retried with backoff over roughly a minute; any recipients still not accepted are listed by contact in the activity log with the provider's full response, and the activity fails if fewer recipients reach the provider than were targeted. (Ref. 27986, 27982, ITDSK-29822)

Interaction Designer

  • Fixed an issue where a Data Transfer activity (or an Export activity with Write Offer History off) configured to export data at a different resolution level than its audience would fail during execution with a "Join not found" error and produce no output file. (Ref. 28017, 28016, ITDSK-29934)

Audience Designer

  • Fixed a defect where saving an audience, interaction, or other definition that had grown sufficiently complex could permanently fail with a generic error, blocking further edits. (Ref. 28027, 27952, ITDSK-29770)

  • Fixed an issue where an interaction using a Cell List block with a custom deduplication key could fail unpredictably depending on the order its sibling cell lists happened to run in. (Ref. 28082, 28065, ITDSK-30078)

Integration API

  • Fixed an issue in the External Integration API where the "Name" field on workflow associations and workflow activities in the Interaction Tracker and Interaction Reports responses always returned an internal value instead of the actual name. (Ref. 28051, 28029, PS-258)

Execution Service

  • Channel synchronization tasks using Data Management could hang indefinitely when a Data Management job or report download stopped responding. These waits are now bounded, and an optional new setting (RPDMJobTimeoutMinutes) caps how long a Data Management job may run before it fails cleanly; an aborted Data Management job is now treated as a failure. (Ref. 28039, 28040, 28081, 28028, ITDSK-29964)

Helm chart update

  • Fixed an issue where new RPI 7.8 deployments using Microsoft Entra ID single sign-on prompted for interactive login every time the desktop client launched, instead of reusing the cached sign-in as in prior versions. The default Helm chart setting for microsoftForceLogin has been restored to match RPI's original behavior (false). (Ref. 28108, ITDSK-30602)

RPI v7.8.20260903.1449 (initial release)

31-Aug-2026
Client Download

Refer to the RPI v7.8 release notes for details about this initial release of RPI v7.8.

Last updated: