Releases: datacontract/datacontract-cli
v0.11.4
[0.11.4] - 2026-01-19
Changed
- Made
duckdban optional dependency. Install withpip install datacontract-cli[duckdb]for local/S3/GCS/Azure file testing. - Removed unused
fastparquetandnumpycore dependencies.
Added
- Include searchable tags in catalog index.html
Fixed
v0.11.3
Fixed
- Fix
datacontract initto generate ODCS format instead of deprecated Data Contract Specification (#984) - Fix ODCS lint failing on optional relationship
typefield by updating open-data-contract-standard to v3.1.2 (#971) - Restrict DuckDB dependency to < 1.4.0 (#972)
- Fixed schema evolution support for optional fields in CSV and Parquet formats. Optional fields marked with
required: falseare no longer incorrectly treated as required during validation, enabling proper schema evolution where optional fields can be added to contracts without breaking validation of historical data files (#977) - Fixed decimals in pydantic model export. Fields marked with
type: decimalwill be mapped todecimal.Decimalinstead offloat. - Fix BigQuery test failure for fields with FLOAT or BOOLEAN types by mapping them to equivalent types (BOOL and FLOAT64)
v0.11.2
Release 0.11.2
v0.11.1
This is a major release with breaking changes:
We switched the internal data model from Data Contract Specification to Open Data Contract Standard (ODCS).
Not all features that were available are supported in this version, as some features are not supported by the Open Data Contract Standard, such as:
- Internal definitions using
$ref(you can refer to external definitions viaauthoritativeDefinition) - Lineage (no real workaround, use customProperties or transformation object if needed)
- Support for different physical types (no real workaround, use customProperties if needed)
- Support for enums (use quality metric
invalidValues) - Support for properties with type map and defining
keysandvalues(use logical type map) - Support for
scaleandprecision(define them inphysicalType)
The reason for this change is that the Data Contract Specification is deprecated, we focus on best possible support for the Open Data Contract Standard.
We try to make this transition as seamless as possible.
If you face issues, please open an issue on GitHub.
We continue support reading Data Contract Specification data contracts during v0.11.x releases until end of 2026.
To migrate existing data contracts to Open Data Contract Standard use this instruction: https://datacontract-specification.com/#migration
Changed
- ODCS v3.1.0 is now the default format for all imports.
- Renamed
--modeloption to--schema-namein theexportcommand to align with ODCS terminology. - Renamed exporter files from
*_converter.pyto*_exporter.pyfor consistency (internal change).
Added
- If an ODCS slaProperty "freshness" is defined with a reference to the element (column), the CLI will now test freshness of the data.
- If an ODCS slaProperty "retention" is defined with a reference to the element (column), the CLI will now test retention of the data.
- Support for custom Soda quality checks in ODCS using
type: customandengine: sodawith raw SodaCL implementation.
Fixed
- Oracle: Fix
service_nameattribute access to use ODCS field nameserviceName
Removed
- The
breaking,changelog, anddiffcommands are now deleted (#925). - The
terraformexport format has been removed.
v0.10.41
Changed
- Great Expectations export: Update to Great Expectations 1.x format (#919)
- Changed
expectation_suite_nametonamein suite output - Changed
expectation_typetotypein expectations - Removed
data_asset_typefield from suite output - Breaking: Users with custom quality definitions using
expectation_typemust update to usetype
- Changed
Added
- test: Log server name and type in output (#963)
- api: CORS is now enabled for all origins
- quality: Support
{schema}and${schema}placeholder in SQL quality checks to reference the server's database schema (#957) - SQL Server: Support
DATACONTRACT_SQLSERVER_DRIVERenvironment variable to specify the ODBC driver (#959) - Excel: Add Oracle server type support for Excel export/import (#960)
- Excel: Add local/CSV server type support for Excel export/import (#961)
- Excel Export: Complete server types (glue, kafka, postgres, s3, snowflake, sqlserver, custom)
Fixed
- Protobuf import: Fix transitive imports across subdirectories (#943)
- Protobuf export now works without error (#951)
- lint: YAML date values (e.g.,
2022-01-15) are now kept as strings instead of being converted to datetime objects, fixing ODCS schema validation - export: field annotation now matches to number/numeric/decimal types
- Excel: Server port is now correctly parsed as integer instead of string for all server types
- Excel: Remove invalid
tableandviewfields from custom server import - Fixed DuckDB DDL generation to use
JSONtype instead of invalid emptySTRUCT()for objects without defined properties (#940)
Deprecated
- The
breaking,changelog, anddiffcommands are now deprecated and will be removed in a future version (#925)
v0.10.40
Prepare for ODCS v3.1.0
v0.10.39
v0.10.38
v0.10.37
Added
- import: Support for nested arrays in odcs v3 importer
- lint: ODCS schema is now checked before converting
- --debug flag for all commands
Fixed
- export: Excel exporter now exports critical data element
v0.10.36
Bump version to 0.10.36 and update changelog with Data Contract Speci…