Skip to content

5.134.0

Latest

Choose a tag to compare

@datakitchen-devops datakitchen-devops released this 14 Oct 21:32
· 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

PyPI Package

dataops-testgen==5.134.0