← Back to issue list

Embedded version required in snapcraft.yaml

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1594794
Type
issue
State
closed
Author
~stub
Labels
—
Created
Updated
Closed

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.
72%
#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.
72%