Skip to content

v1.2.2

Choose a tag to compare

@github-actions github-actions released this 25 Sep 13:08
· 53 commits to main since this release

[1.2.2] - 2026-09-25

Added

  • datacontract api: --contract-variables and --allow-local-files options, as alternatives to their environment variables
  • datacontract import odata creates a datacontract from OData 4 metadata at a URL or from a local file (#1649 @jahlen)
  • datacontract export writes SQL Server VECTOR(n) and VECTOR(n, float16) vector types
  • datacontract test checks constraints and quality rules of nested properties on servers read through DuckDB (#1278)

Changed

  • datacontract lint and datacontract test: a quality rule the CLI cannot run is reported as a warning instead of being silently dropped
  • The bundled Data Contract Editor (datacontract edit) is updated to 0.1.14
  • ${VAR} references are accepted in fields with a fixed set of values (quality.type, quality.metric, quality.dimension, logicalType, servers[].type); datacontract test fails when one resolves into anything else
  • datacontract test reports nested checks it cannot run and unsupported type checks on parquet files as warnings (#1278)

Security

  • datacontract api:
    • a posted data contract resolves ${VAR} only from the variables allow-listed with --contract-variables
    • a ${X:-local} server type no longer slips past the checks for local files and environment-held credentials
  • datacontract test: a SQL quality rule on a mysql server can no longer reach the MySQL server or its credentials; rules on mysql and iceberg servers are read as DuckDB SQL

Fixed

  • Loading a DCS contract dropped quality rule arguments, so invalidValues and missingValues rules lost their configuration
  • datacontract test --dry-run: a check that could not be planned no longer reports the run as skipped
  • Non-ASCII characters in data contract and import source files are now decoded as UTF-8, fixing garbling on Windows (#1650 @ymurong)
  • datacontract test: SQL quality rule placeholders are quoted when the name needs it (e.g. a column with a space), and a query that does not parse reports the parse error (#1653)
  • datacontract import spark preserves varchar(...) and char(...) types nested inside struct, array and map columns instead of widening them to string (#1634 @IchEssBlumen)
  • datacontract import jsonschema keeps the type of nullable anyOf/oneOf properties and warns about union types (#1278)
  • datacontract export sodacl warns about the nested properties it leaves out (#1278)