> For the complete documentation index, see [llms.txt](https://docs.middle.app/middle-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.middle.app/middle-docs/release-notes/september-28-2026.md).

# September 28, 2026

This update contains a fix for an issue with the ["prior version of a record" feature](/middle-docs/product/accounts/workflow-triggers.md#prior-version), which would cause records that existed, but whose last update was behind the [general data retention horizon](/middle-docs/product/data-deletion.md) to say that there was no prior version.

This update also includes some usability improvements for workflows.

## Prior version and data retention issue

The "prior version of a record" feature depends on an internal "activity history" table, which (prior to today) stored a snapshot of the given update. E.g., if a User record's email is updated, this internal table would show the updated email.

But, data deletion for this internal table is governed by the general data retention horizon for an installation, which is typically kept small for compliance and cost. This meant that for cases where we had a record, but no "activity history" (possible if a [record type's deletion is overridden](/middle-docs/product/data-deletion.md#record-retention-overrides), or if there was recent "purposeful use"), the Trigger system would find no "prior version" even though Middle did have that information.

This internal "activity history" table has now been reworked to store the *prior* snapshot instead of a snapshot of that update. In this way, Middle will now always know the prior version of a record every time it is updated.

## Other improvements

Workflow configuration errors show a warning in the left navigation bar, to help draw attention to the issue.

<figure><img src="https://932524191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mks_UuU2atghAuA9bQz%2Fuploads%2FM2uITshX98GpG6mYAIL2%2FScreenshot%202026-09-28%20at%209.22.39%E2%80%AFAM.png?alt=media&amp;token=853aa388-a440-4aea-934a-162e3e58bcc8" alt="" width="285"><figcaption><p>"Update CRM" has a configuration error</p></figcaption></figure>

Improved error reporting for variable shadowing in Modules. (In Modules, if a module-level variable is defined with the exact same name as a workflow variable, this is now treated as a configuration error in the UI when viewing or editing the workflow. While the workflow will still run, and will use the workflow-level variable, users are strongly encouraged to choose unique names.)

<figure><img src="https://932524191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mks_UuU2atghAuA9bQz%2Fuploads%2FVgNUaI8iZviTGckWWXTM%2FScreenshot%202026-09-28%20at%2010.31.21%E2%80%AFAM.png?alt=media&amp;token=2ec131e2-6ac3-4ecb-8781-a46b35ca0a3c" alt="" width="563"><figcaption></figcaption></figure>

Several improvements have been made to the record timeline, including streamlining the diff on record updates.

<figure><img src="https://932524191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mks_UuU2atghAuA9bQz%2Fuploads%2FBKG3Ppy9v18OMAUNoi4K%2FScreenshot%202026-09-28%20at%2010.32.31%E2%80%AFAM.png?alt=media&amp;token=b949b712-6536-4a7d-a9d8-79d11d348f83" alt="" width="563"><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.middle.app/middle-docs/release-notes/september-28-2026.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
