Releases: estesp/manifest-tool
v1.0.0-rc2 manifest-tool release
This v1.0.0-rc2 release is the second release candidate of manifest-tool. A few useful fixes have gone into manifest-tool
based on feedback since the first release candidate.
In addition to the binaries and signatures available below for download, there is now a multi-platform DockerHub-hosted image of manifest-tool
at the v1.0.0-rc2 level. You can find the image at mplatform/manifest-tool:v1.0.0-rc2, which is also currently pointed to by the latest tag until the next release. The architecture/platform support for this image is listed below:
$ docker run --rm mplatform/mquery mplatform/manifest-tool:latest
Image: mplatform/manifest-tool:latest
* Manifest List: Yes
* Supported platforms:
- linux/amd64
- linux/arm
- linux/arm64
- linux/ppc64le
- linux/s390x
- windows/amd64:10.0.14393.2312
Noted fixes since the first release candidate:
- #70: Add support for insecure registries
- #75: fix inspect output to show layers of v1 media type images (thanks to @tianon for the bug report)
- #72: Adds support for variant (with some minor limitations) in the template-style use of the tool; thanks @ekristen for providing this feature; future plans may use Go text templates for better support/capabilities
Please report any issues with this release ASAP as a v1.0.0 is coming soon barring any known problems.
v1.0.0-rc manifest-tool release
This is a release candidate of manifest-tool
in preparation for a v1.0.0 release. The only change since v0.9.0 is the re-vendoring of all the core upstream packages/APIs to fix an issue that was solved in the docker/distribution
code since the original vendoring.
Thanks to @erwinkersten for reporting the issue with Azure registry, and to @JoshEbersol and @jhowardmsft for the debug and pointing out the simple fix of re-vendoring to pick up an existing distribution code fix.
This brings the imported capabilities in line with the modern docker/distribution
, docker/cli
and moby/moby
codebases, similar to the Docker 18.09 release. It should have zero impact on existing manifest-tool
functionality, and has been tested against several public cloud registries, DockerHub, and also by the official images team (thanks @tianon). However, in the abundance of caution, I'm releasing this update as a release candidate and will allow a few weeks for any further testing by those who depend on manifest-tool
in their environments. Please report any found issues with this RC and I will attempt to solve them prior to releasing the final v1.0.0.
v0.9.0 manifest-tool release
A minor release that includes the recognition of the windows/arm
OS/architecture pair, due to work by the Microsoft Windows & ARM community to have a valid target for 32-bit ARM CPUs of the Windows OS.
Thanks to @JoshEbersol for PR #60 to add this capability to manifest-tool
.
v0.8.0 manifest-tool release
A small release to officially pick up two recent useful fixes for 3rd party registries:
- PR #56: fix bug in how "library" references are resolved, which was breaking push to Azure Container Registry
- PR #58: copy fix from the docker/cli
manifest
sub-command implementation that solves a private registry authentication issue with GitLab registry and token-based authentication.
v0.7.0 manifest-tool release
Release v0.7.0 has no significant functional changes for most users, but includes fixes that make it more useful for production activities that are already being done with branches or pre-release copies of manifest-tool
.
Changelog:
- Thanks to @rn,
manifest-tool
can be used with a 3rd party notary client to officially sign manifest list objects in a registry.manifest-tool
now outputs the size of the canonical JSON in the successful push output after the digest SHA (#45) - @avian2 cleaned up the use of ldflags in the
Makefile
via #46 - @tianon added full support for ARM variants in the
make cross
target by using properGOARM
flags, and generally makinghack/cross.sh
a lot better :) in #51 - Several
Makefile
cleanups around having a separatestatic
target and allowingmake binary
to be used for a normal dynamically linked binary; and using Golang 1.9.1 release for in-container builds and noting this via README content additions ( #48 and #51) - Allowing push to
library/xxx
targets to allow @tianon and official image builders to push official content (#49) - Tags documentation in README from @tianon (#44)
- Test script for testing Docker v2 API conforming registry support for manifest lists (#39)
Note that official release binaries now have v5, v6, and v7 arm32 variants as well an i386 Linux variant added to the rest of the architecture support already in prior releases.
v0.6.0 manifest-tool release
The v0.6.0 release is a small release with one new capability and an important bug fix for private registries. In addition to these changes, the README.md
has been significantly revamped with clearer examples and documentation on all the capabilities of manifest-tool
.
Changes:
- Added the capability to tag the target/final image with more than a single tag. Useful for the manifest list/multi-platform image creation by automated official image tooling which needs to handle many tags for a single final image (e.g.
:3.6.2
,:3.6
,:3.6-alpine
,:3
,:latest
). Extra tags are provided in the YAML input with atags:
entry that accepts a list of additional tags. (PR #32) - Fixed a bug with handling the manifest reference pushes (in the cross-repository push case) where for private registries the registry hostname:port information was not being trimmed when creating the push URL. This was reported in two issues (#33 and #34) where private registries were being used as well as the target image being a different repo name than the origin image(s). (PR #35)
- Significant update to the
README.md
documentation formanifest-tool
(PR #37)
v0.5.0 manifest-tool release
The v0.5.0 release includes the following changes:
- From @tianon (Thanks!), PR #21: Auto-populate OS and architecture from source manifest when not specified in YAML. Caveat is that source manifest could be incorrect (cross-compiled content built on non-target architecture), but we will document this in the README.
- PR #26, correct some buggy code related to v2-only registry interactions
- PR #28, several fixes to handle Windows images/interactions more correctly; a) preserve
os.version
andos.features
from source manifest in the targetplatform
object, b) handle all success HTTP codes for cross-repo mount of Windows base layers, c) showos.version
andos.features
ininspect
output (thanks to @StefanScherer for reporting and testing fixes!) - PR #29, Add
--ignore-missing
flag topush
subcommands to allow manifest list creation from YAML or command line for "best case" of existing images instead of failure on any missing source image reference. Thanks to @tianon for the suggestion.
v0.4.0 manifest-tool pre-release
The v0.4.0 pre-release includes the following changes:
- Significant improvement:
manifest-tool
will no longer create extra tags when the source platform-specific images are in a different repo than the target multi-platform image. Instead, push-by-digest is used. Thanks to @dmcgowan for the help! - Corrected output from
inspect
that listed image config JSON blobs as "layers". Also slight improvement topush
in that the config blob is not attempted to be blob mounted twice. - The manifest list entry's digest is now listed in the output of
inspect
instead of only when--debug
is enabled. make cross
will build the 7 binaries for platforms included in the releasemake signrelease
will GPG sign the release output binaries
v0.3.0 manifest-tool pre-release
Release v0.3.0 includes the great cleanup, refactoring, and command-line configuration support contributions by Lucas Käldström (@luxas).
Please note that this tool is meant as a stop-gap and "proof of concept" utility until the docker manifest
command proposed and being implemented in moby/moby#27455 is complete. At that time I do not plan on maintaining or supporting this tool further.
Binaries for several major GOOS/GOARCH combinations are provided for convenience.
manifest-tool 0.2.0
Release 0.2.0 based on original PoC work, detailed in blog post here: manifest tool blog entry from 2016
Not production ready and does not support HTTP only (no TLS/SSL) private registries. It is valuable to test out the "manifest list" object capabilities of the Docker 1.10 and above engine and Docker registry v2.3 and above.