Skip to content

14 October 2026 Release Notes

Open Source Version 5.134.0

Before you upgrade

  • Docker Compose files that you maintain: If you run TestGen from your own docker-compose.yml, for example with an external PostgreSQL database, add stop_grace_period: 90s to the engine service. Without it, a restart cancels profiling runs in progress instead of pausing them at a checkpoint. Installs managed by dk-installer are updated automatically.
  • Helm chart resources: The Helm chart sets default CPU and memory requests and limits for the TestGen pod, sized for an 8 vCPU, 32 GB node, and resources: {} no longer removes them. If your nodes are smaller, or you set only part of resources, review resources in values-tg-app.yaml before you upgrade.

Feature highlights

DuckDB and file data sources

DataOps TestGen now profiles, tests, and monitors DuckDB databases and CSV, JSON, and Parquet files on a local path, in Amazon S3, or in Azure Blob Storage. Set up TestGen so you can better understand the health of your data objects with intelligent profiling and automatically generated tests.

For details, see Access Requirements and Size TestGen for DuckDB and File Data Sources.

Verify a data migration

When you migrate data to a new database or platform, TestGen can confirm that the migrated data matches its source. The new Table Comparison generation set creates tests from the profile of the source data, from row counts and column types to sums and most frequent values. Generate them on the source, then run them against the migrated data.

For details, see Verify a Data Migration.

New test types

  • SQL Metric runs a query that returns one number and checks it against a minimum, a maximum, or both.
  • Maximum Value and Maximum Date check that a column's highest value or latest date does not exceed a baseline.
  • Text Length Range checks that the length of every value in a column falls within a minimum and a maximum.
  • Required, No Placeholder checks that a text column has no nulls and no placeholder values, such as an empty string or N/A.

For details, see Test Types.

Pause and resume profiling

Pausing a long profiling run stops its queries against your data, for example during business hours. Resume it later, and it continues from where it stopped.

For details, see Run Profiling.

Notifications in Slack, Microsoft Teams, and webhooks

TestGen posts notifications to Slack, Microsoft Teams, or any HTTPS endpoint that accepts JSON. Set up each target once as a notification destination in Project Settings and select it in any notification rule.

For details, see Notifications.

Onboard datasets through the REST API

The REST API covers setting up a dataset end to end, so a pipeline can create table groups and test suites, schedule profiling and test runs, and configure monitoring.

For details, see Onboard a Dataset.

Change the schema of a table group

When your pipeline loads each version of the data into a differently named schema, change the table group's schema instead of creating a new table group. Tests keep their history and predicted thresholds.

For details, see Change the schema of a table group.

Other fixes and enhancements

  • A new test suite setting, Automatically deactivate tests that fail validation, controls what happens when a test's table or column goes missing. Clear it to keep those tests active: they report an error on each run and run normally again once the table or column is back.
  • The monitor trend dialog has a time range selector with 7-day, 1-month, 3-month, and custom ranges.
  • Test runs submitted through the REST API or the MCP server can carry a link and free-form details, which the Test Results page shows. They can also set the schema that referential tests compare against for that run.
  • Profile sampling applies only to pattern and character analysis and to frequent values. Counts, minimums, maximums, lengths, averages, and percentiles always cover the whole table, so tests generated from a sampled profile hold on the full data.
  • PostgreSQL money columns are profiled and tested as numbers, and bit(1) columns as booleans.
  • The MCP server has a delete_tests tool that deletes tests by ID or by test suite, optionally filtered by table or test type.
  • We fixed catalog refresh failing on columns with long data type definitions, such as structs, arrays, and maps. Column data types are shown as the database declares them.
  • We fixed profiling errors on PostgreSQL json and xml columns.
  • We fixed an error opening a table's trends on the Monitors dashboard when a Freshness monitor's learned schedule left no active days.
  • We fixed profiling failing on text columns where a month abbreviation appears outside the month position of a date-like value.
  • We applied general fixes to reduce errors, increase security, and improve our user experience.