Embedded version required in snapcraft.yaml
Metadata
Current evaluation
Resolved by introducing the craftctl set version=... scriptlet, enabling dynamic version generation instead of requiring a static version in snapcraft.yaml.
Resolution: closed resolved
Reason: The issue was closed by a maintainer noting that craftctl set version=... scriptlets now provide the requested dynamic/bespoke versioning capability, as linked in the final comment.
Evaluated by: mr-cal-bot
No scores available.
Issue body
snapcraft.yaml requires the version key, which is often redundant.
Plugins will often know the version number (such as encoded in Python setup.py files), but that is just for a single part.
Perhaps the version should optionally accept a part name instead of a version number, causing the version number of the part as reported by the plugin to be used for the snap (or an error raised if the plugin does not support it).
The main use case would be have snap version numbers matching upstream for automatic builds, such as done by Launchpad.
name: juju-deployer
summary: Juju deployment lifecycle management
description: Juju deployment lifecycle management
version: juju-deployer
apps:
juju-deployer:
command: juju-deployer
parts:
juju-deployer:
plugin: python3
source: lp:juju-deployer
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | closed resolved | Resolved by introducing the craftctl set version=... scriptlet, enabling dynamic version generation instead of requiring a static version in snapcraft.yaml. | |
| stealth/space-bunny-alpha |
Impact:
28
Quick Win:
23
Complexity:
12
Confidence:
96
Actionability:
92
|
close resolved | Dynamic project versions are implemented through adopt-info, which lets a part supply version metadata so top-level version can be omitted. | |
| stealth/space-bunny-alpha |
Impact:
38
Quick Win:
20
Complexity:
42
Confidence:
97
Actionability:
90
|
close resolved | Dynamic snap versions are now supported through adopt-info, parse-info, or build-time craftctl commands, resolving the original static-version requirement. | |
| qwen/qwen3.6-35b-a3b |
Impact:
35
Quick Win:
14
Complexity:
45
Confidence:
65
Actionability:
75
|
needs triage | Feature request to allow snapcraft.yaml version to reference a part's version instead of requiring a static string. Currently unlabelled and unassessed. | |
| qwen/qwen3.8-27b |
Impact:
25
Quick Win:
15
Staleness:
95
Complexity:
40
Confidence:
55
Support Request:
20
|
close stale | Feature request from 2014 to let snapcraft.yaml's version key reference a part name so the version is derived from the plugin (e.g. Python setup.py) for Launchpad auto-builds. 10 years old, zero comments, no labels, no maintainer engagement; targets obsolete snapcraft 1.x. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
20
Confidence:
90
Support Request:
10
|
close stale | Request to let snapcraft.yaml version field pull version from a part instead of a hardcoded string. Currently inactive for over 10 years with no maintainer feedback. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
35
Confidence:
92
Support Request:
10
|
close stale | Feature request to allow snapcraft.yaml version to dynamically reference a part's version instead of requiring a hardcoded value. Issue is over 10 years old with no maintainer response or activity. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
98
Complexity:
50
Confidence:
85
Support Request:
10
|
close stale | Feature request to allow snapcraft.yaml version to reference a part's plugin-extracted version instead of a hardcoded string. Unaddressed for over 9 years with no maintainer interaction. |
Update history
| Date | Change |
|---|---|
| created |
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2063 many: add snapcraftctl set-version | snapcraft | merged | Merged as commit 278f9b79f, adding snapcraftctl set-version for scriptlets and reusable setter infrastructure; resolves #1676. | |
| #3626 cli: integrate craft-cli and add version command (CRAFT-730) | snapcraft | merged | Merged into snapcraft 7.0 via commit 0457d6572: integrated craft-cli, added the version command, and retained the legacy CLI fallback for other commands. |