Understanding incus release version numbering

incus-base/jammy 1:6.3-202407130507-ubuntu22.04 amd64 [upgradable from: 1:6.3-202407120427-ubuntu22.04]

I’m having difficultly determining what’s changed between these releases.

In git, there is a tag v6.3.0 only. There’s no tag v6.3-202407130507 or v6.3-202407120427.

Should I simply look at the main branch and take the commits immediately prior to those timestamps? But that’s not always easy to do, given that with branching and merging git log doesn’t give a linear time sequence.

Those are changes that were made to the package rather than to Incus itself.

You can get an idea of what changed by looking at the changes in GitHub - zabbly/incus: Incus package repository

Those are changes that were made to the package rather than to Incus itself.

OK… but looking at the zabbly/incus repo, the changes made to the “package” include cherry-picking commits from main at build time.

So really the 6.3-YYYYMMDDhhmm package is INCUS_TAG: "v6.3.0" plus selected later commits merged in, is that correct?

e.g.

Author: Stéphane Graber <stgraber@stgraber.org>
Date:   Mon Jul 15 14:16:30 2024 -0400

    incus: Cherry-pick upstream bugfixes (OCI)

    Signed-off-by: Stéphane Graber <stgraber@stgraber.org>

diff --git a/.github/workflows/builds.yml b/.github/workflows/builds.yml
index fd153c6..605c73a 100644
--- a/.github/workflows/builds.yml
+++ b/.github/workflows/builds.yml
@@ -316,6 +316,9 @@ jobs:
           git cherry-pick cc33d436d193f12a38818482c050fafd1ecae04c  # incusd/instance/edk2: Support OVMF filenames on arm64
           git cherry-pick ee24c49a275268f08f9dd060fba1256699fee65e  # incusd/instance/drivers/qemu: Limit CPU flag calculation to x86_64
           git cherry-pick a68ebef36cdada61bd5ece7e15c82ee449214e9f  # incusd/instance/qemu: Fix architecture check being backward
+          git cherry-pick 5c01e21a85fa67fcf91ea0b9f5f0125a4ef177c9  # client/oci: Add errors for missing umoci
+          git cherry-pick 987bd27c20b4c8dd9575aa2254c865847fd73026  # client/oci: Add errors for missing skopeo
+          git cherry-pick 091a87835262b512c42283dc9afa3f4c5b0413e3  # incusd/instance: Fix initial configuration handling for OCI

           go build -o "/opt/incus/bin/fuidshift" github.com/lxc/incus/v6/cmd/fuidshift
           go build -o "/opt/incus/bin/incus" github.com/lxc/incus/v6/cmd/incus

Yep, that’s correct. Other changes can be just packaging changes as was done with the addition of a conflict with incus-tools, some other time, it’s use updating dependencies like qemu or other components in there.

We’ve got an open issue to find some way to fill the changelog automatically so /usr/share/doc/incus/changelog.Debian.gz would become useful to figure out what happened in what release, but given the actual build process is fully automated, this has provide to be non-trivial and hasn’t been a priority to sort out yet.