Skip to content

Releases: estesp/manifest-tool

manifest-tool 2.0.0-rc.2

14 Feb 18:53
v2.0.0-rc.2
f2d40d7
Compare
Choose a tag to compare
Pre-release

Welcome to the v2.0.0-rc.2 pre-release of manifest-tool!

For proper Go module version support (e.g. for go get) the
code has been moved into a /v2 directory; if you are importing
manifest-tool you will need to add a v2/ prefix between the
repository name and package name for proper Go module use of the
v2.x code.

This second release candidate for the v2.0.0 release of manifest-tool is a
significant change to the architecture and implementation of
manifest-tool. Instead of continuing to use the original implementation
for registry interaction (a similar heritage to what became skopeo) this
v2 re-worked codebase of manifest-tool uses the resolver/fetcher/pusher
implementation from containerd as a library. It uses the same model (and
some of the code) from ORAS to use
these distribution API capabilities within containerd as a
library without the need to run or even have containerd installed.

This greatly simplified the codebase of manifest-tool and allowed for
restructuring the code to itself be usable as a library. For example,
the query tool for manifest-lists (estesp/mquery) can now use
these functions directly without running a copy of manifest-tool
separately and parsing the raw output.

In addition to this major rework of the codebase, new features have
been added. The most significant are:

  • OCIv1 image/index support! (see the --type flag)
  • Color output from inspect
  • On average 75% faster inspect performance
  • credential helper support built-in

A number of small issues have been resolved and the v2 code has been
tested against most public container registries. However, software
being software, I'm sure there are bugs that have not been discovered
in the testing to date.

Please report bugs to the issue tracker at https://github.com/estesp/manifest-tool/issues.

manifest-tool 2.0.0-rc.1

02 Dec 21:49
v2.0.0-rc.1
ade336a
Compare
Choose a tag to compare
Pre-release

Welcome to the v2.0.0-rc.1 release of manifest-tool!

For proper Go module version support (e.g. for go get) the
code has been moved into a /v2 directory; if you are importing
manifest-tool you will need to add a v2/ prefix between the
repository name and package name for proper Go module use of the
v2.x code.

This second beta for the v2.0.0 release of manifest-tool is a
significant change to the architecture and implementation of
manifest-tool. Instead of continuing to use the original implementation
for registry interaction (a similar heritage to what became skopeo) this
v2 re-worked codebase of manifest-tool uses the resolver/fetcher/pusher
implementation from containerd as a library. It uses the same model (and
some of the code) from ORAS to use
these distribution API capabilities within containerd as a
library without the need to run or even have containerd installed.

This greatly simplified the codebase of manifest-tool and allowed for
restructuring the code to itself be usable as a library. For example,
the query tool for manifest-lists (estesp/mquery) can now use
these functions directly without running a copy of manifest-tool
separately and parsing the raw output.

In addition to this major rework of the codebase, new features have
been added. The most significant are:

  • OCIv1 image/index support! (see the --type flag)
  • Color output from inspect
  • On average 75% faster inspect performance
  • credential helper support built-in

Several issues have been fixed and this v2 code has been tested against
various registries, however, during the beta period it would be valuable
to get user feedback on any issues they find that may not have been
discovered in testing to date.

Please report bugs to the issue tracker at https://github.com/estesp/manifest-tool/issues.

manifest-tool 2.0.0-beta.1

15 Sep 01:42
v2.0.0-beta.1
5f56893
Compare
Choose a tag to compare
Pre-release

Welcome to the v2.0.0-beta.1 release of manifest-tool!

For proper Go module version support (e.g. for go get) the
code has been moved into a /v2 directory; if you are importing
manifest-tool you will need to add a v2/ prefix between the
repository name and package name for proper Go module use of the
v2.x code.

This second beta for the v2.0.0 release of manifest-tool is a
significant change to the architecture and implementation of
manifest-tool. Instead of continuing to use the original implementation
for registry interaction (a similar heritage to what became skopeo) this
v2 re-worked codebase of manifest-tool uses the resolver/fetcher/pusher
implementation from containerd as a library. It uses the same model (and
some of the code) from ORAS to use
these distribution API capabilities within containerd as a
library without the need to run or even have containerd installed.

This greatly simplified the codebase of manifest-tool and allowed for
restructuring the code to itself be usable as a library. For example,
the query tool for manifest-lists (estesp/mquery) can now use
these functions directly without running a copy of manifest-tool
separately and parsing the raw output.

In addition to this major rework of the codebase, new features have
been added. The most significant are:

  • OCIv1 image/index support! (see the --type flag)
  • Color output from inspect
  • On average 75% faster inspect performance
  • credential helper support built-in

Several issues have been fixed and this v2 code has been tested against
various registries, however, during the beta period it would be valuable
to get user feedback on any issues they find that may not have been
discovered in testing to date.

Please report bugs to the issue tracker at https://github.com/estesp/manifest-tool/issues.

manifest-tool 2.0.0-beta.0

02 Apr 21:16
v2.0.0-beta.0
12f2e84
Compare
Choose a tag to compare
Pre-release

Welcome to the v2.0.0-beta.0 release of manifest-tool!

This first beta leading to the v2.0.0 release of manifest-tool is a
significant change to the architecture and implementation of
manifest-tool. Instead of continuing to use the original implementation
for registry interaction (a similar heritage to what became skopeo) this
v2 re-worked codebase of manifest-tool uses the resolver/fetcher/pusher
implementation from containerd as a library. It uses the same model (and
some of the code) from ORAS to use those features of containerd as a
library without the need to run or have containerd installed or
configured.

This greatly simplified the codebase of manifest-tool and allowed for
restructuring the code to itself be usable as a library. For example,
the query tool for manifest-lists (estesp/mquery) can now use
these functions directly without running a copy of manifest-tool
separately and parsing the raw output.

In addition to this major rework of the codebase, new features have
been added. The most significant are:

  • OCIv1 image/index support! (see the --type flag)
  • Color output from inspect
  • On average 75% faster inspect performance
  • credential helper support built-in

Several issues have been fixed and this v2 code has been tested against
various registries, however, during the beta period it would be valuable
to get user feedback on any issues they find that may not have been
discovered in testing to date.

Please report bugs to the issue tracker at https://github.com/estesp/manifest-tool/issues.

v1.0.3 manifest-tool release

17 Sep 17:59
v1.0.3
505479b
Compare
Choose a tag to compare

This is a small point release to fix a bug that apparently was introduced pre-v1.0.0, but due to differences in how registries handled the location of manifest references the issue did not present itself until recently with a team utilizing Artifactory to store multi-platform images.

Thanks to @hmtai and @ashank07 for finding and documenting this issue in #98. The bug was fixed by PR #100

Pre-packaged Docker images have been updated to this release on DockerHub: mplatform/manifest-tool:v1.0.3

v1.0.2 manifest-tool release

02 Apr 16:03
v1.0.2
fa20a3b
Compare
Choose a tag to compare

This small bug-fix release includes a performance/potential bug fix enhancement to not pull the entire tag list for an image during inspect (which also happens during push of a manifest list as the image must be inspected to get the manifest(s) contents). For images with significantly large tag counts this was sometimes producing an error (reported in #84), and was always impacted performance.

Given tags were provided in the --raw output, the fix from @ibuildthecloud in #90 will continue to provide the tags in case a tool was using the --raw output to scrape tag information from an image, but for uses of the tool without specifying --raw will no longer pull all tags.

This release's builds were performed with Golang v1.13.9.

v1.0.1 manifest-tool release

07 Mar 00:28
v1.0.1
d40ce86
Compare
Choose a tag to compare

The v1.0.1 release updates the Golang version to 1.13.8, the latest supported Golang 1.13 point release to fix an issue with running on s390x (#87). This release also contains a few minor updates to vendored packages, updates the AppVeyor configuration, and fixes the Windows Dockerfile to match the current state of the art with respect to Windows containers and the nanoserver image releases since the 1.0.0 release.

Also included in this small point release is the addition of mips64le support, thanks to @tianon (#82).

v1.0.0 manifest-tool release

05 Sep 15:34
v1.0.0
7ec675a
Compare
Choose a tag to compare

This is the official v1.0.0 release of manifest-tool! 🎉

Other than time passing, no code changes were introduced since the rc3 release in April 2019.

This release was built with the newly released Go 1.13 toolchain, and all scripts/CI tools were updated to this latest release. Since rc2, an official DockerHub multi-platform supporting image has been created automatically for each release tag, and this now includes a v1.0.0 tagged image for manifest-tool.

v1.0.0-rc3 manifest-tool release

17 Apr 13:14
v1.0.0-rc3
79bb01e
Compare
Choose a tag to compare
Pre-release

The v1.0.0-rc3 release candidate is expected to be the final release candidate for manifest-tool to reach v1.0.0.

The only fix since rc2 is a more correct implementation of the --insecure flag that handles the fact that setting the insecure registries list is not working as expected in the imported registry API.

This fix was merged via PR #77.

As noted in the v1.0.0-rc2 release notes, there is now a standard DockerHub-hosted image of manifest-tool which now has been updated to rc3. See more details about this image on DockerHub.

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.