11# The TEA Leaf Object (TLO)
22
3- _ Work in progress_
4-
53The TEA LEAF is the object that indicates a product version. The API should be
6- very agnostic to how a "version" is indicated - semver, name, hash or anything else.
4+ very agnostic as to how a "version" is indicated - semver, vers , name, hash or anything else.
75
86## Major and minor versions
97
@@ -16,13 +14,26 @@ a timestamp for a release is required.
1614
1715## The Leaf Object
1816
19- - __ UUID __ unique for this object
17+ - __ Uuid __ unique for this object
2018- __ Product name__ : A text field
2119- __ Product version__ : A text field, no required syntax
2220- __ Release date__ : A unix timestamp
23- - __ Prerelease__ : A flag indicating a pre-release (beta, rc)
24- - __ TCO_UUID__ : A reference to the TEA Collection objet for this release
21+ - __ Pre-release__ : A boolean flag indicating a pre-release (beta, rc)
22+ - __ Tco_uuid__ : A reference to the TEA Collection objet for this release
23+
24+ ## Handling the Pre-Release flag
25+
26+ The "Pre-release" flag is used to indicate that this is not a final release.
27+ For a given Leaf with a UUID, the flag can be set to indicate a "test", "beta", "alpha"
28+ or similar non-deployed release. It can only be set when creating the LEAF. The TEA implementation
29+ may allow it to be unset (False) once. This is to support
30+ situations where a object is promoted as is after testing to production version. The flag can not
31+ be set after initial creation and publication of the leaf.
32+
33+ If the final version is different from the pre-release (bugs fixed, code changed, different binary)
34+ a new leaf with a new UUID and version needs to be created.
2535
2636## References
2737
28- - Semantic versioning (Semver): < https://semver.org >
38+ - Semantic versioning (Semver): < https://semver.org >
39+ - PURL VERS < https://github.com/package-url/purl-spec/blob/master/VERSION-RANGE-SPEC.rst >
0 commit comments