Skip to content

v0.12.2

Choose a tag to compare

@github-actions github-actions released this 05 May 18:09
· 512 commits to main since this release

[0.12.2] - 2026-05-05

Added

  • impala extra (pip install datacontract-cli[impala]) — pulls in soda-core-impala. Impala engine support landed in #965 but the install extra was never added; users had to install soda-core-impala manually. Also included in [all].

Changed

  • breaking: drop the dbt extra and the dbt-core dependency. import dbt now reads manifest.json directly with no third-party dependency, and works without installing any extra. Minimum supported manifest schema version is v9 (dbt 1.5+). Users who installed datacontract-cli[dbt] should switch to plain datacontract-cli.
  • breaking: the protobuf extra now requires the protoc compiler installed on the system. Replaces the bundled grpcio-tools (~50 MB of platform-specific protoc binaries) with the lighter protobuf runtime (>=3.20,<7.0). import protobuf raises a clear error with platform-specific install hints if protoc is not on PATH. Install with brew install protobuf (macOS), sudo apt install protobuf-compiler (Debian/Ubuntu), etc. — see README.

Fixed

  • README install table: add missing csv, excel, and oracle extras. The matching [project.optional-dependencies] entries already existed but were undocumented.
  • quality: support {object} and ${object} placeholder in SQL quality queries as the ODCS-spec name for the current schema object (alias for {model}/{table}) (#676)
  • changelog command help text now advertises (url or path) for V1/V2 arguments, clarifying that HTTP/HTTPS URLs are accepted (#1162)
  • breaking: test command now exits non-zero when a server is specified, but soda-core fails to connect or authenticate (#1181)
  • correct swapped check_type labels model_qualty_sql and field_quality_sql (#1187)
  • import spark now emits a native Spark SQL physicalType (e.g. string) instead of Python repr (e.g. StringType()). Contracts imported using Spark in v0.11.0–v0.12.1 did not perform type checks and must be re-imported. (#1048)
  • Re-add setuptools as a base dependency. soda-core's env_helper.py imports from distutils.util import strtobool; distutils was removed from stdlib in Python 3.12 and stripped from python-build-standalone 3.11 builds. setuptools provides the distutils shim. Previously pulled in transitively via grpcio-tools; now required explicitly. Reverts #1199 — see soda-core#2091.
  • SLA freshness checks now quote column identifiers with special characters (#1202)
  • update field / model quotation for Impala, dataframe, and Kafka (#1202)