Version Compatibility
Supported specification versions
ChooChoo is built on top of open standards. This table defines the compatible versions for ChooChoo v1.0.x. For detailed documentation on each standard, see the Standards Reference.
| Standard | Version | ChooChoo Docs |
|---|---|---|
| ChooChoo Spec | 1.0.x | Technical Specification |
| ODPS (Products) | 1.0.0 | Products (ODPS) |
| ODCS (Contracts) | 3.1.0 | Contracts (ODCS) |
| Arazzo (Workflows) | 1.0.0 | Workflows (Arazzo) |
| OpenAPI | 3.1.x | Standards Reference |
| AsyncAPI | 3.0.x | Standards Reference |
| Agent Trace | 0.1.0 | Agent Trace |
You can pin specific schema versions in your .choochoorc configuration under the validation.schemas setting. The validation engine uses these pinned versions when checking artifacts against their schema definitions.
Backward Compatibility
- ChooChoo maintains backward compatibility within major versions.
- Breaking changes will result in a major version increment (e.g., 2.0.0).
- Deprecated features will be supported for at least one major version cycle.
When upgrading between minor versions (e.g., 1.0.0 → 1.1.0), your existing artifacts should continue to validate without changes. The validation rules are additive — new rules may produce warnings but will not break existing passing artifacts unless you run in --strict mode.
Schema Version Pinning
In your .choochoorc configuration file, you can pin the schema versions used for validation:
{
"validation": {
"schemas": {
"odps": "1.0.0",
"odcs": "3.1.0"
}
}
}If no versions are pinned, ChooChoo uses the latest compatible versions from the table above. Version mismatches between your configuration and your artifact files will produce error E001 (Invalid schema) during validation.
Lifecycle State Compatibility
All artifact types (Products, Contracts, Workflows) share the same lifecycle state machine. State transitions are enforced regardless of the schema version — an artifact cannot skip states (e.g., draft → active) even if the underlying standard version changes.
Migration Path
When ChooChoo introduces support for a new major version of an underlying standard (e.g., ODCS 4.0.0), the migration path will be:
- The new version is added as an option in
.choochoorc. - Both old and new versions are supported simultaneously for at least one ChooChoo major version.
- A migration command (
choochoo migrate) will be provided to update artifacts to the new schema. - The old version is deprecated with warnings, then removed in the next major version.
Check the Roadmap for upcoming version support and migration timelines.
Related
Standards Reference
Detailed documentation for ODPS, ODCS, Arazzo, and Agent Trace standards.
Schema Definitions
The formal JSON Schemas enforced for all artifact types.
Configuration
Pin schema versions and configure validation behavior in .choochoorc.
Validation Rules
The validation pipeline that checks artifacts against pinned schema versions.
Artifact Lifecycle
The state machine shared across all artifact types and versions.
Roadmap
Upcoming version support, migrations, and planned standard updates.