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.