CEP 25 - Versioning of Existing conda Standards
| Title | CEP 25 - Versioning of Existing conda Standards and Specs |
| Status | Approved |
| Author(s) | Matthew R. Becker <becker.mr@gmail.com> |
| Created | Mar 14, 2025 |
| Updated | Mar 31, 2025 |
| Discussion | https://github.com/conda/ceps/pull/119 |
| Implementation | NA |
Abstract
As the conda ecosystem is being standardized and evolving, the existing standards
(in many cases only documented by the code that implements them) have been called
v1 in some cases (e.g., .tar.bz2 versus .conda) and v0 in others (e.g., v0 versus v1 recipe formats).
This differing nomenclature is confusing. In this CEP, we resolve this issue by establishing conventions on how to number existing and future conda standards.
Specification
All existing conda standards which satisfy the following conditions
- are documented formally in CEPs or are only effectively documented through code implementations
- have not been superseded by a newer standard labeled
v1
MUST be versioned at v1.
The numbering of build recipe formats is exempt from this CEP due to the fact
that the new recipe format in CEP 14 specified schema_version: 1.
Standards MUST use a version specifier that consists only of numbers and a single period ., has a major version,
and has at most a minor version (i.e. matches the regex ^[0-9]+($|\.[0-9]+$)). A v MAY be prepended
for clarity, but MUST be removed before comparing versions. Version comparisons and ordering MUST follow
conda's version comparison and ordering conventions.
Backwards Compatibility
The v1 versioning is fully backwards compatible with all current standards, except recipe formats
which have been explicitly excluded.
Copyright
All CEPs are explicitly CC0 1.0 Universal.