Yes, Flyte supports using Semantic Versioning (SemVer) for versions. Flyte recommends and uses SemVer for versioning its components and registered entities, such as tasks and workflows. Version strings should be valid SemVer, and Flyte's release process and tooling (e.g., for flyteidl and flytectl) expect SemVer-compliant versions (e.g., v1.2.3, v1.3.0b0) during registration and release. However, some restrictions apply: version IDs must be URL-safe (alphanumeric, ., -, _, %) and certain characters (like /) are not allowed, and there have been issues with build metadata (the + character) in the UI and API, so it's best to avoid using + in version strings for now.
For Flyte platform releases, the core components are aligned and released quarterly with incremented minor versions, following SemVer principles. Not all repositories are strictly aligned, but user-facing components (Propeller, Admin, Console, datacatalog, flytectl, flytesnacks, Flytekit) follow this scheme. For registration of user code, you can specify SemVer-compliant version strings using the --version flag in CLI tools, as long as they are URL-safe. See the linked sources for more details. Would you like a step-by-step guide or more detail on how to specify versions during registration?
Sources:
-
Flyte Versioning & Planning Updates
-
flyteidl Release Process
-
Semver build metadata breaks the Flyte UI 👍 0 button 👎 0 button 💡
Hint: Mention @runllm in the thread for followups.