All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- datacontract catalog: Add index.html to manifest
- Added import glue (#166)
- Added test support for
azure
(#146) - Added support for
delta
tables on S3 (#24) - Added new command
datacontract catalog
that generates a data contract catalog with anindex.html
file. - Added field format information to HTML export
- RDF Export: Fix error if owner is not a URI/URN
- Fixed docker columns
- Added timestamp when ah HTML export was created
- Fixed export format html
- Added export format html (#15)
- Added descriptions as comments to
datacontract export --format sql
for Databricks dialects - Added import of arrays in Avro import
- Added export format great-expectations:
datacontract export --format great-expectations
- Added gRPC support to OpenTelemetry integration for publishing test results
- Added AVRO import support for namespace (#121)
- Added handling for optional fields in avro import (#112)
- Added Databricks SQL dialect for
datacontract export --format sql
- Use
sql_type_converter
to build checks. - Fixed AVRO import when doc is missing (#121)
- Added option publish test results to OpenTelemetry:
datacontract test --publish-to-opentelemetry
- Added export format protobuf:
datacontract export --format protobuf
- Added export format terraform:
datacontract export --format terraform
(limitation: only works for AWS S3 right now) - Added export format sql:
datacontract export --format sql
- Added export format sql-query:
datacontract export --format sql-query
- Added export format avro-idl:
datacontract export --format avro-idl
: Generates an Avro IDL file containing records for each model. - Added new command changelog:
datacontract changelog datacontract1.yaml datacontract2.yaml
will now generate a changelog based on the changes in the data contract. This will be useful for keeping track of changes in the data contract over time. - Added extensive linting on data contracts.
datacontract lint
will now check for a variety of possible errors in the data contract, such as missing descriptions, incorrect references to models or fields, nonsensical constraints, and more. - Added importer for avro schemas.
datacontract import --format avro
will now import avro schemas into a data contract.
- Fixed a bug where the export to YAML always escaped the unicode characters.
- test kafka for avro messages
- added export format avro:
datacontract export --format avro
This is a huge step forward, we now support testing Kafka messages. We start with JSON messages and avro, and Protobuf will follow.
- test kafka for JSON messages
- added import format sql:
datacontract import --format sql
(#51) - added export format dbt-sources:
datacontract export --format dbt-sources
- added export format dbt-staging-sql:
datacontract export --format dbt-staging-sql
- added export format rdf:
datacontract export --format rdf
(#52) - added command
datacontract breaking
to detect breaking changes in between two data contracts.
- export to dbt models (#37).
- export to ODCS (#49).
- test - show a test summary table.
- lint - Support local schema (#46).
- Support for Postgres
- Support for Databricks
- Support for BigQuery data connection
- Support for multiple models with S3
- Fix Docker images. Disable builds for linux/amd64.
- Publish to Docker Hub
This is a breaking change (we are still on a 0.x.x version). The project migrated from Golang to Python. The Golang version can be found at cli-go
test
Support to directly run tests and connect to data sources defined in servers section.test
generated schema tests from the model definition.test --publish URL
Publish test results to a server URL.export
now exports the data contract so format jsonschema and sodacl.
- The
--file
option removed in favor of a direct argument.: Usedatacontract test datacontract.yaml
instead ofdatacontract test --file datacontract.yaml
.
model
is now part ofexport
quality
is now part ofexport
- Temporary Removed:
diff
needs to be migrated to Python. - Temporary Removed:
breaking
needs to be migrated to Python. - Temporary Removed:
inline
needs to be migrated to Python.
- Support local json schema in lint command.
- Update to specification 0.9.2.
- Fix format flag bug in model (print) command.
- Log to STDOUT.
- Rename
model
command parameter,type
->format
.
- Remove
schema
command.
- Fix documentation.
- Security update of x/sys.
- Adapt Data Contract Specification in version 0.9.2.
- Use
models
section fordiff
/breaking
. - Add
model
command. - Let
inline
print to STDOUT instead of overwriting datacontract file. - Let
quality
write input from STDIN if present.
- Basic implementation of
test
command for Soda Core.
- Change package structure to allow usage as library.
- Fix field parsing for dbt models, affects stability of
diff
/breaking
.
- Fix comparing order of contracts in
diff
/breaking
.
- Handle non-existent schema specification when using
diff
/breaking
. - Resolve local and remote resources such as schema specifications when using "$ref: ..." notation.
- Implement
schema
command: prints your schema. - Implement
quality
command: prints your quality definitions. - Implement the
inline
command: resolves all references using the "$ref: ..." notation and writes them to your data contract.
- Allow remote and local location for all data contract inputs (
--file
,--with
).
- Add
diff
command for dbt schema specification. - Add
breaking
command for dbt schema specification.
- Suggest a fix during
init
when the file already exists. - Rename
validate
command tolint
.
- Remove
check-compatibility
command.
- Improve usage documentation.
- Initial release.