Repository navigation
·
6 commits
to main
since this release
Features
- monitors: add time-range selector to the trend dialog (36c822b)
- profiling: pausable and resumable profiling runs (42e7e06)
- ui: export and import test definitions as JSON (f623494)
- jobs: pause and resume a profiling run (a56c043)
- database: configurable TLS for the application database (422d809)
- charts: expose API port, ingress, and env passthrough (d2b602b)
- charts: add annotations to the service (53f7f94)
- models: add suite versions and the contract suite type (e4459b6)
- mcp: add source-data protection mode (d8e8956)
- notifications: add project-level destinations for notification rules
(dd897d7) - notifications: deliver notifications to webhook destinations (bd39649)
- mcp: expose notification destinations through MCP (1823a56)
- api: expose notifications through REST (7982e73)
- contracts: scope test definitions to a suite version (e3e6d19)
- flavors: add DuckDB as a target database (def3c83)
- flavors: add the DuckDB test-type and anomaly-type records (463d721)
- connections: pin the thread count for an in-process flavor (261ddfd)
- charts: give the application pod default resource limits (e91e4f5)
- mcp: add a delete_tests tool (49896b2)
- api: add connection and table group read endpoints (9e4b5b3)
- connections: store per-flavor connection secrets encrypted (c452d14)
- contracts: add the contract lifecycle service (2e88f30)
- notifications: support STARTTLS and relays that take no credentials
(4e714fd) - notifications: present a TLS client certificate to the SMTP server
(c5d2f7e) - profiling: compute percentiles over the whole table, approximate where the
engine has it (dd1c7b2) - connections: read files on a mounted path as target data (62e27f9)
- mcp: declare a table group's tables as files (57b73c3)
- report tables on a Files connection as Files, with a file count (a2a4836)
- api: add table group create endpoint (5e542ad)
- connections: read declared files from Amazon S3 and Azure Blob Storage
(3e2c7e0) - profiling: measure distinct counts and extremes over the whole table when
sampling (dcaead8) - profiling: sample only pattern and character analysis on every other
flavor (c4cb5d5) - table-groups: show columns and types in the table group preview for every
connection type (1389fb8) - scheduler: cap concurrent runs on in-process connections (2a8fdd5)
- api: add test suite read and create endpoints (3a8a841)
- scripts: add a script that maps table and column names in a test
definition export (e72bc2c) - contracts: render and export a contract version as ODCS (e5630c4)
- contracts: route each quality rule to the shape an engine can measure
(3b9320c) - contracts: add an MCP tool to export a contract version (d25e3d8)
- profiling: lift sampled frequent value counts to the whole-table scale
(2b711ff) - test-types: add list parameters, parameter groups and per-type error
thresholds (b99d448) - test-types: add the SQL Metric test type (2316177)
- test-types: add Maximum Value, Maximum Date, Text Length Range and
Required, No Placeholder (6b99bfd) - test-types: add the Table Comparison generation set (25e068c)
- config: stop falling back to the UI login for database credentials
(681a1ee) - contracts: check a contract's declared schema against the catalog
(c809a12) - table-groups: move a table group to another schema (c5ce864)
- test-runs: point a referential test's comparison at another schema
(43b887a) - test-runs: keep what triggered a run alongside its results (87d4e45)
- api: update a table group over REST, schema included (c302b3e)
- api: add profiling and test run schedule endpoints (8174b5b)
- api: add table group monitoring endpoints (3d00f09)
- api: pause and resume monitoring through PATCH (e393a16)
- contracts: project test types onto exact ODCS constructs and resolve them
back (31f112d) - connections: read each object-storage file once per run (a7ba7c9)
- exact Match Sum, PostgreSQL money and bit columns, and a setting for tests
that fail validation (d1412ee) - test-suites: copy a test suite's ID from its card (201a882)
- scripts: transfer tests between test suites through the API (375de7f)
- data-catalog: page the Data Catalog and move catalog and score work out of
UI requests (6866ef2) - mcp: show the user's name alongside the username in MCP output (fcb08d9)
- oauth: support public clients that register with
token_endpoint_auth_method none (2dea57e) - mcp: show profiling column errors, readable import reasons, and test
unsaved connections (59cc925) - import: skip test definitions whose column is not in the data catalog
(a961979) - api: accept and return file declarations on table groups (8873d37)
- value hashes in profiling and the Table Comparison hash tests (d235314)
- release QA fixes, and warn when Table Comparison generation will skip the hash
tests (4daf751)
Bug Fixes
- mcp: fail the docs export when a plugin's tools go missing (d4ae736)
- monitors: address review findings on the trend range selector (a5304fe)
- monitors: keep the newest run and drop the forecast on a closed window
(44f4919) - profiling: confine month names to the month position in IS_DATE (9bd4a8a)
- test-results: handle a deleted test definition in the note and edit
actions (ae7cde9) - standalone: initialize new clusters on PostgreSQL 16 (b02847a)
- deps: bump dependencies to clear container scan findings (02ab95c)
- ui: reject monitor suites on the test definition and result pages
(a88f2cb) - ui: keep import metadata dialog state across reruns and center its icons
(43ad769) - ui: keep the metadata import preview in step with its options (8903919)
- ui: roll back a failed metadata import instead of committing it (293d331)
- ui: stop an import applying a document the user replaced (a4706d2)
- deploy: keep build-time tooling out of the runtime image (82cc1b0)
- pass the application database certificate authority for every ssl mode
(525861d) - notifications: clarify destination type and target text (c1afb88)
- mcp: report a rule's delivery target with the destination vocabulary
(46c45f3) - ui: validate notification inputs inline and clarify delivery requirements
(5623e74) - contracts: carry the version predicate on every path to test definitions
(ba901ba) - runs: name resource exhaustion when a run is killed (e00b44b)
- connections: give each DuckDB connection its own spill directory (79fef5f)
- runs: write a failure message only when a run settles as an error
(8a03f37) - flavors: cast the DuckDB outlier baselines to DOUBLE (3827f48)
- api: report the last test run with a zone-aware timestamp (4d73ee2)
- connections: withhold every encrypted column from the browser (daea257)
- contracts: keep the term identity injective and the writeback gate bound
(0519c50) - contracts: compare routing ids as UUIDs, map Time to a logical type
(d387c6f) - notifications: hint from the stage that failed, not the exception type
(f4c5018) - contracts: separate a datetime column from a date one in the document
(0cde29b) - profiling: keep DECIMAL precision in DuckDB approximate percentiles
(ddb5638) - report a table group's schema under the name its database type gives it
(8c5b3db) - profiling: record known column values in Python, not through the target
(bbb5982) - monitors: align freshness business time across thresholds, execution and
forecast (cf43a57) - deps: bump PyJWT to 2.15.1 for security fixes (3963063)
- docker: pass the JWT signing key to the compose stack (5983713)
- connections: say when a remote DuckDB file cannot be read (2e11364)
- ui: store the test suite dialog's Failed severity as Fail (3cc8fd3)
- profiling: read each column's source once on DuckDB and file sources
(77bdf16) - profiling: aggregate numeric columns before attaching percentiles on SQL
Server (e14ef05) - catalog: identify a catalogued table without its schema (0e0d7e8)
- generation: generate tests against the table group's schema (8296866)
- table-groups: write the catalog only once the move it describes is durable
(740c2c5) - table-groups: clean up stale monitors after a move, and name an unreadable
schema (9a06096) - table-groups: move every version's definitions, frozen ones included
(8847607) - catalog: read profiling history and muted issues across a schema change
(aa79792) - profiling: report a profiling run under the schema it scanned (2d59f22)
- table-groups: accept any schema name the templates can quote (39915be)
- qualify the profile list's schema, and say what a missing table costs
(3f7eded) - table-groups: correct and trim schema change text in the API and MCP
(4f91aa0) - ui: use the data_object icon for a test run's run details (adb7a6d)
- generation: generate the comparison tests against the table group's schema
(35d6626) - schedules: check a cron expression's width as it is stored (46473a0)
- monitors: keep the monitor link out of general table group saves (7907ef5)
- salesforce: read the scanned schema from the table group (394ca47)
- catalog: read the scanned schema from the table group on API-metadata
connections (21d44b2) - api: declare error responses with the detail wrapper the API sends
(77089a6) - import: leave dropped tables out of a table group's table names (127cd97)
- data-catalog: keep catalog refreshes fast on large schemas and stop
catalog writers deadlocking (e2911db) - mcp: roll back the session when an update tool reports no change (9ca1641)
- oauth: revoke a public client's token chain when a rotated refresh token
is presented again (bba8fc5) - scores: serialize score refreshes per project and count total failures
(ac4418e) - release QA fixes across webhooks, REST and MCP validation, profiling, catalog
and scoring (d06141d) - source-data parameter order, DuckDB views over sibling files, and column mask
defaults (894d51d) - test-definitions: retarget the schema of tests copied or moved to another
table group (0fd136c)
Refactors
- ui: expose the import policy axes instead of named presets (7bc017c)
- jobs: apply review feedback (f25d8af)
- replace the monitor flag on test suites with a suite type (bdf8f89)
- notifications: type the destination vocabulary (b190d91)
- table-groups: store sample percent and delay days as integers (c5305bc)
- testing: move the test helpers out of the core package (69dce7a)
- connections: rename normalize_auth_fields to enforce_connection_rules
(6acd5ad) - profiling: emit only the measures that apply to a column's type (21f6d09)
- profiling: calibrate a sampled column's counts before its row is written
(b55324d) - api: apply review feedback (1ec5f01)
- contracts: apply review feedback (d5c4f56)
- contracts: apply second-round review feedback (bff9755)
- mcp: apply delete_tests review feedback (f437d75)
- table-groups: share create defaults and duplicate detection (7a6a8d0)
- api: apply table group create review feedback (ee411ef)
- profiling: apply review feedback (5a1f516)
- settings: remove the profiling sampling default that setup never read
(3870cc5) - test-suites: add a shared test suite validator (3ea966c)
- api: apply test suite review feedback (6f08a2b)
- db: remove the unused execute and report database users (71ee315)
- test-runs: read the scanned schema from the table group (4bff640)
- catalog: drop what the identity's unique index made redundant (f6601e5)
- api: rename the table group update's schema_move to schema_change
(4e0f682) - schedules: share schedule validation between callers (00a67c8)
- schedules: apply schedule review feedback (a2ebd81)
- monitors: enable monitoring in one transaction (9b8e0ee)
- api: apply monitoring review feedback (c0bc63a)
- profiling: share the lift of frequent values and frequent patterns
(d38e1e6)
Documentation
- api: give every endpoint an explicit summary (72ea4aa)
Miscellaneous
- ui: drop the unused dropdown separator option (ab0faf8)
Docker Image
datakitchen/dataops-testgen:v5.134.0