{
  "schema_version": 2,
  "id": "integrate/redis-data-integration/release-notes/rdi-1-12-0",
  "title": "Redis Data Integration release notes 1.12.0 (June 2025)",
  "url": "https://redis.io/docs/latest/integrate/redis-data-integration/release-notes/rdi-1-12-0/",
  "summary": "Enhanced CLI command for HA topology information. Automatic DLQ routing for key errors. Enhanced transformation job validation in the PATCH and POST /api/v1/pipelines endpoints. Added `xml_to_dict` transformation function.",
  "tags": [
    "docs",
    "operate",
    "rs"
  ],
  "last_updated": "2026-09-18T16:47:10+01:00",
  "page_type": "content",
  "content_hash": "210e5c61e40a3480bb110116b8ad9b792be9e1280ab40f4bfe0659d84177ee93",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "> [!NOTE]\n> This minor release replaces the 1.10.0 release.\n\nRDI’s mission is to help Redis customers sync Redis Enterprise with live data from their slow disk-based databases to:\n\n- Meet the required speed and scale of read queries and provide an excellent and predictable user experience.\n- Save resources and time when building pipelines and coding data transformations.\n- Reduce the total cost of ownership by saving money on expensive database read replicas.\n\nRDI keeps the Redis cache up to date with changes in the primary database, using a [_Change Data Capture (CDC)_](https://en.wikipedia.org/wiki/Change_data_capture) mechanism.\nIt also lets you _transform_ the data from relational tables into convenient and fast data structures that match your app's requirements. You specify the transformations using a configuration system, so no coding is required."
    },
    {
      "id": "headlines",
      "title": "Headlines",
      "role": "content",
      "text": "- Enhanced CLI status command to display RDI High Availability (HA) topology information.\n- Improved error handling with automatic DLQ routing for wrong Redis key errors.\n- Enhanced transformation job validation in the `PATCH` and `POST` `/api/v1/pipelines`\n  endpoints with better error reporting.\n- Added `xml_to_dict` transformation function for converting XML strings to JSON objects."
    },
    {
      "id": "detailed-changes",
      "title": "Detailed changes",
      "role": "content",
      "text": "**CLI and Monitoring**\n\n- The `redis-di status` command now displays High Availability (HA) information for cluster status visibility.\n- Fixed `rdi_version_info` metric to export periodically instead of only at startup.\n- Status API: Fixed issue - pipeline status not shifting from snapshot to streaming after restart or reset\n\n**Validation and Error Handling**\n\n- Static configuration and job schema validation provides clearer error messages.\n- Pipeline endpoints validate source and job configurations against database metadata, preventing mismatches:\n  - Error in table names or table doesn't exist.\n  - More than one job per table.\n- Automatic DLQ routing for wrong Redis key errors.\n- Support for secret rotation. Pods are recreated when a secret rotates.\n- RDI validates that its Redis database is not sharded when RDI starts.\n\n**Database Connectivity**\n\n- MySQL connector filters system tables for cleaner metadata.\n- Collector API supports multiple database and schema entries for multi-database scenarios.\n- `/api/v1/pipelines/{source_name}/metadata` endpoint supports table name filtering.\n- `/api/v1/pipelines/{source_name}/tables` endpoint supports table name filtering.\n\n**API and Infrastructure**\n\n- Pipeline endpoints (source, targets, secret-providers) support key deletion via `PATCH` operations.\n- Helm chart supports lists of ingress hosts.\n- Operator handles missing SPCPS CRD gracefully."
    },
    {
      "id": "limitations",
      "title": "Limitations",
      "role": "limits",
      "text": "RDI can write data to a Redis Active-Active database. However, it doesn't support writing data to two or more Active-Active replicas. Writing data from RDI to several Active-Active replicas could easily harm data integrity as RDI is not synchronous with the source database commits."
    }
  ],
  "examples": []
}
