daemon: stop propagating Image.DockerVersion, Plugin.Config.DockerVersion fields#51101
Merged
thaJeztah merged 2 commits intomoby:masterfrom Oct 7, 2025
Merged
daemon: stop propagating Image.DockerVersion, Plugin.Config.DockerVersion fields#51101thaJeztah merged 2 commits intomoby:masterfrom
thaJeztah merged 2 commits intomoby:masterfrom
Conversation
4 tasks
bfa27cb to
d8f4344
Compare
d8f4344 to
45ccd8c
Compare
06e85ce to
6d22fc3
Compare
vvoland
approved these changes
Oct 7, 2025
The DockerVersion field was used by the legacy builder, and set when importing an image; when importing an image, this would potentially result in less reproducible images, as the docker version used to import the image would be encoded in the image's "v1" fields. For the legacy builder, including the version of docker used to build the image could still be useful information (but could be set as comment, similar to what BuildKit does), however, many code paths were also shared with other parts of the code; e.g., when listing images or inspecting images, the `DockerVersion` field would always be set to the current version of the docker daemon, and not taken from the information available in the image (if any). This patch removes locations where the `DockerVersion` field was set to the current version of the daemon binary. When inspecting an image, the field is still set with the information in the image itself (which may be empty in most cases). This also reduces the number of places where the `dockerversion` package is used, which still needs a new home. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
6d22fc3 to
8ce923d
Compare
Member
Author
|
Rebased, to see if we can get around the build-cache issue 😞 |
Member
Author
|
Nope; still borked; @vvoland looks like we may need to purge the cache to unblock CI 😞 (Or was downgrading buildkit the solution?) |
Member
Author
|
Hm... running out of disk space on this test; don't think it's related, but ... interesting |
Member
Author
|
Hm... failing again, but the follow-up stacked on this doesn't; Let me try a rebase to get a fresh run 🤔 |
The DockerVersion field was present for informational purposes, but was not used anywhere. This patch stops propagating the field, which also reduces the number of places where the `dockerversion` package is used, which still needs a new home. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
8ce923d to
a8dd9c5
Compare
Member
Author
|
This one is really flaky at times; |
Member
Author
|
Green! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
dockerversionpackage and move internal #50715The DockerVersion field was used by the legacy builder, and set when importing an image; when importing an image, this would potentially result in less reproducible images, as the docker version used to import the image would be encoded in the image's "v1" fields.
For the legacy builder, including the version of docker used to build the image could still be useful information (but could be set as comment, similar to what BuildKit does), however, many code paths were also shared with other parts of the code; e.g., when listing images or inspecting images, the
DockerVersionfield would always be set to the current version of the docker daemon, and not taken from the information available in the image (if any).This patch removes locations where the
DockerVersionfield was set to the current version of the daemon binary. When inspecting an image, the field is still set with the information in the image itself (which may be empty in most cases).This also reduces the number of places where the
dockerversionpackage is used, which still needs a new home.- What I did
- How I did it
- How to verify it
- Human readable description for the release notes
- A picture of a cute animal (not mandatory but encouraged)