Skip to main content

Open Source

🎉 ODCS v3.2.0 and ODPS v1.1.0 Released

Today, the Bitol project, a Linux Foundation AI & Data project, released two new versions of its open standards at once: the Open Data Contract Standard (ODCS) v3.2.0 and the Open Data Product Standard (ODPS) v1.1.0. Both releases are dedicated to the memory of our friend and long-time contributor Peter Flook, whose work shaped the Bitol standards, from data quality testing to schema validation, documentation, and vendor onboarding.

The Bitol website, home of the Open Data Contract Standard and the Open Data Product Standard

The two releases were developed together. Five shared RFCs define each feature once and land in ODCS and ODPS at the same time, so a data contract and the data product that exposes it describe context, synonyms, deprecation, variables, and vendor attribution in the same way.

What's new in ODCS v3.2.0

  • 🤖 Context for AI agents. A new context block on the contract and on each schema carries instructions, verified statements, and constraints: tell agents how to use your data, what has been verified, and what they must never do.
  • 🔢 Enums. The long-awaited enum constrains a property to a fixed set of values, each with an optional label, description, and tags.
  • 🧭 Vectors and maps. A vector logical type describes embeddings with their dimensions, element type, distance metric, and embedding model. A map logical type describes key/value structures with typed keys and values.
  • 📊 Measures and dimensions. A semanticType on a property declares its role as a column, a measure, or a dimension, without leaving the property shape.
  • 🔤 Synonyms. Alternative names on schemas and properties, with locale and source, for catalogs and LLM tools.
  • 🗄️ Ten new server types. Apache Iceberg via the REST catalog, SAP HANA, Exasol, Teradata, and the Actian engines Ingres, Vectorwise, Versant, and Poet, plus a workgroup for Athena and a character encoding for file-based servers.
  • ⚠️ Deprecation. A deprecated flag on schema objects and properties retires fields without breaking consumers: they stay documented and validated.
  • 🔁 Variables. String values may reference ${VAR_NAME}, with POSIX-style defaults, and are resolved at runtime.
  • 🆔 Standardized ids. Stable id fields on relationships complete the id work across the spec, and ids now allow namespaced identifiers and URNs.
  • 🧩 Smaller additions. Custom properties and authoritative definitions on SLA properties, and a vendor attribution on custom properties.
The Context section of an ODCS v3.2.0 data contract in Entropy Data: instructions, verified statements and constraints for consumers and AI agents
The context block of an ODCS v3.2.0 data contract in Entropy Data: instructions, verified statements, and constraints, for consumers and AI agents alike.
A data contract schema in Entropy Data with a vector property showing its dimensions and element type, a map property with its key and value, and synonyms on the table and on a property
The new logical types in the schema view: a vector with its dimensions and element type, a map with nested key and value, and synonyms on the table and on a property.
The Allowed Values section of a property in the Data Contract Editor, listing the enum values apparel, shoes and accessories with their labels and descriptions
Enums in the Data Contract Editor: each allowed value with its label and description, written to the new enum field of the property.

What's new in ODPS v1.1.0

  • 🏷️ Data product type. A top-level type classifies a data product, for example as source-aligned, aggregate, or consumer-aligned.
  • 🤖 Context and synonyms. The same context block and synonyms as in ODCS, on the data product and on each output port.
  • ⚠️ Deprecation. A deprecated flag on the data product and on input, output, and management ports.
  • 🆔 Standardized ids. Every array object can carry a stable id. Input and output ports now only require a name; version and contract id are optional.
  • 🧩 Smaller additions. Tags, custom properties, and authoritative definitions on SBOM entries, vendor attribution on custom properties, and variable interpolation.
The header of the Orders data product in Entropy Data, labelled Data Product (Source-Aligned)
The ODPS v1.1.0 data product type in the header of a data product.
The Context section of a data product in Entropy Data with instructions and verified statements in the form of SQL queries
Context on a data product: instructions and verified statements, here ready-to-run SQL queries, that Entropy Intelligence and other agents pick up.

Day-one support in Entropy Data

We contributed to both releases and made sure our tooling is ready on day one:

  • Entropy Data supports ODCS v3.2.0 data contracts and ODPS v1.1.0 data products.
  • The Data Contract CLI v1.2.0, also released today, lints, tests, imports, and exports ODCS v3.2.0 contracts, including enums, maps, vectors, semantic types, synonyms, deprecation, and context. datacontract init now writes apiVersion: v3.2.0.
  • The Data Contract Editor validates and edits v3.2.0 contracts.
The Data Contract Editor with the Context section of an ODCS v3.2.0 data contract
The Data Contract Editor edits the new context block and validates the contract against the ODCS v3.2.0 schema.
The migration dialog in the Data Contract Editor: an ODCS v3.1.0 contract with a Migrate to v3.2.0 button and a confirmation explaining what the migration changes
Migrating an existing contract: the editor flags a contract that still declares v3.1.0, explains what the migration touches, and sets apiVersion: v3.2.0 with one click. The new sections, such as Context, unlock as soon as the contract declares the new version.

Thank you to everyone in the Bitol community who wrote RFCs, reviewed pull requests, and tested the pre-releases. Open standards only work when many people build them together.

Get started

Read the specifications, update your contracts to apiVersion: v3.2.0, and tell us what you build with them. New to data contracts? Start with our introduction to ODCS.