snapcraft restricts version field too much
Metadata
Current evaluation
Closed without comments or resolution. The request was abandoned, and the version field regex restriction remains unchanged. No fix or policy update was implemented.
Suggested action: —
No scores available.
Issue body
According to the metadata docs https://snapcraft.io/docs/snaps/metadata the version has no semantic value. Snapcraft, however, restricts the version field to match ^[a-zA-Z0-9.+~-]+$ which is generally sound as too not have too exotic strings, but is actually too restrictive given the version has no actual meaning which to me would suggest anything is fair game here.
Reasonable version expressions I cannot have because of the (arbitrary?) restriction in snapcraft:
master@87da2fcf1d0925f489985323303531507b5ed537
master:87da2fcf1d0925f489985323303531507b5ed537
fancy/Nested/Git/Branch+1.1
1.0 Alpha 1
1.0_Alpha_1
At KDE we are actually looking to codify both the git branch and oid in edge builds, which presently we'd have to do in an equally messed up format as we have with dpkg (+ and ~ thrown all over the place). Additionally, we have branches with forward-slashes in them, which are downright impossible to put the version right now.
> Issues while validating snapcraft.yaml: The 'version' property does not match the required schema: 'Applications/17.08@87da2fcf1d0925f489985323303531507b5ed537' does not match '^[a-zA-Z0-9.+~-]+$'
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without comments or resolution. The request was abandoned, and the version field regex restriction remains unchanged. No fix or policy update was implemented. | |
| qwen/qwen3.8-27b |
Impact:
45
Quick Win:
29.25
Staleness:
95
Complexity:
35
Confidence:
55
Support Request:
15
|
needs triage | Snapcraft's version field regex ^[a-zA-Z0-9.+~-]+$ blocks reasonable expressions (slashes, colons, spaces, @) that KDE wants for git branch/oid edge builds. No labels, comments, or maintainer activity since filing; still untriaged. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
25
Confidence:
80
Support Request:
10
|
close stale | Request to relax snapcraft's version field regex to allow slashes, colons, and spaces for git refs. Issue is unlabelled, has zero maintainer comments, and is nearly 9 years old. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
15
Confidence:
85
Support Request:
5
|
close stale | Request to relax snapcraft version field regex to allow slashes, spaces, and colons for git tracking. Unresponded to for nearly 9 years with no maintainer engagement or labels. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
95
Complexity:
40
Confidence:
90
Support Request:
10
|
close stale | Snapcraft's version field regex restricts complex version strings like git branch+commit hashes. Unlabelled, zero maintainer comments, inactive for nearly 9 years. | |
| qwen3.6-35b-moe-q4 |
Staleness:
98
Complexity:
20
Confidence:
90
Support Request:
10
|
close stale | Request to relax snapcraft's version field regex to allow arbitrary characters for git branch and commit tracking. Unresponded to for nearly nine years with no maintainer engagement. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1501037 snapcraft does not handle framework-policy | snapcraft (launchpad) | closed | Closed without resolution. The feature request to configure framework-policy copying in snapcraft.yaml was abandoned after over 11 years with no comments or implementation. | |
| #1549221 snapcraft.yaml should have a version field | snapcraft (launchpad) | closed | Closed without implementation. The proposal to add a version field to snapcraft.yaml was abandoned due to inactivity. No format standard or migration strategy was adopted. | |
| #1769551 snapcraft 2.42 not working in trusty armhf | snapcraft (launchpad) | closed | Closed without comments or resolution. The author reverted to version 2.41, indicating the issue was abandoned or superseded by newer releases. |