Skip to content

Releases: estesp/manifest-tool

v1.0.0-rc2 manifest-tool release

21 Mar 23:25
v1.0.0-rc2
5002591
Compare
Choose a tag to compare
Pre-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

17 Jan 15:31
v1.0.0-rc
65c2d90
Compare
Choose a tag to compare
Pre-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

24 Nov 05:28
v0.9.0
6bcfcce
Compare
Choose a tag to compare

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

25 Sep 15:59
v0.8.0
4798e39
Compare
Choose a tag to compare

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

06 Oct 23:01
v0.7.0
Compare
Choose a tag to compare

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 proper GOARM flags, and generally making hack/cross.sh a lot better :) in #51
  • Several Makefile cleanups around having a separate static target and allowing make 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

30 Jun 16:46
v0.6.0
Compare
Choose a tag to compare
Pre-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 a tags: 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 for manifest-tool (PR #37)

v0.5.0 manifest-tool release

07 Jun 18:30
v0.5.0
Compare
Choose a tag to compare
Pre-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 and os.features from source manifest in the target platform object, b) handle all success HTTP codes for cross-repo mount of Windows base layers, c) show os.version and os.features in inspect output (thanks to @StefanScherer for reporting and testing fixes!)
  • PR #29, Add --ignore-missing flag to push 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

08 Feb 17:11
v0.4.0
092d563
Compare
Choose a tag to compare
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 to push 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 release
  • make signrelease will GPG sign the release output binaries

v0.3.0 manifest-tool pre-release

22 Jan 04:57
v0.3.0
1c15a04
Compare
Choose a tag to compare
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

16 Jan 21:32
Compare
Choose a tag to compare
manifest-tool 0.2.0 Pre-release
Pre-release

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.