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 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
contextblock 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
enumconstrains a property to a fixed set of values, each with an optional label, description, and tags. - 🧭 Vectors and maps. A
vectorlogical type describes embeddings with their dimensions, element type, distance metric, and embedding model. Amaplogical type describes key/value structures with typed keys and values. - 📊 Measures and dimensions. A
semanticTypeon 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
deprecatedflag 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
idfields 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
vendorattribution on custom properties.
enum field of the property.What's new in ODPS v1.1.0
- 🏷️ Data product type. A top-level
typeclassifies a data product, for example as source-aligned, aggregate, or consumer-aligned. - 🤖 Context and synonyms. The same
contextblock andsynonymsas in ODCS, on the data product and on each output port. - ⚠️ Deprecation. A
deprecatedflag 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 aname; 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.
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 initnow writesapiVersion: v3.2.0. - The Data Contract Editor validates and edits v3.2.0 contracts.
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.