Manifest Tool Versions Save

Command line tool to create and query container image manifest list/indexes

v2.0.5

1 year ago

Welcome to the v2.0.5 release of manifest-tool!

v2.0.5 Fix release

The v2.0.5 release of manifest-tool upgrades several go module imports to versions that allow for the removal of all the replace clauses in the v2 go.mod. This allows for cleaner import and use of manifest-tool from the Go ecosystem.

v2.0.4 Fix release

The v2.0.4 release of manifest-tool includes a new image variant which is valuable for those who need to use the published images with other platforms that require a shell inside the image. This new variant is based on Alpine, and prepends the tag name with alpine; so mplatform/manifest-tool:alpine will be the latest release, and mplatform/manifest-tool:alpine-v2.0.4 will retrieve this specific released version, on top of an Alpine Linux base.

Thanks to Brandon Butler for contributing the release packaging changes to add this feature.

This release also moves up dependencies for various CVEs (aside from the fact that manifest-tool was unaffected), as well as building with Go 1.18.

A single bug fix for a reported segfault in using --docker-cfg with a file instead of the expected directory is also fixed via PR #169. Thanks to Jian Zhang for the bug report.

v2.0.3 Fix release

The v2.0.3 release of manifest-tool includes a single bug fix for an issue that most regularly occurred when assembling manifest lists/indexes in a public repository in gcr.io or Quay. Due to the authentication flow for these registries and an existing bug in the containerd resolver, a push would fail with "cannot reuse body" errors. Until containerd has a complete fix for this issue, v2.0.3 will appropriately push to these registries by retrying after the authentication challenge (401 Unauthorized) is handled.

v2.0.2 Fix release (FAILED)

Includes the fix mentioned in v2.0.3 but due to a release script bug did not appropriately publish the release on GitHub.

v2.0.1 Fix release (FAILED)

Includes the fix mentioned in v2.0.3 but due to a release script bug did not appropriately publish the release on GitHub.

v2.0.0 Release overview

The v2.0.0 release of manifest-tool represents 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.

v1 -> v2 Update

To handle how Go module version support (e.g. go get) works, since v2.0.0 the code is now located in a /v2 subdirectory. Because of this, if you are importing manifest-tool you will need to add /v2 to your go.mod import of manifest-tool or when using go get to utilize the v2.x codebase.

Reporting Issues

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

v2.0.4

1 year ago

Welcome to the v2.0.4 release of manifest-tool!

v2.0.4 Fix release

The v2.0.4 release of manifest-tool includes a new image variant which is valuable for those who need to use the published images with other platforms that require a shell inside the image. This new variant is based on Alpine, and prepends the tag name with alpine; so mplatform/manifest-tool:alpine will be the latest release, and mplatform/manifest-tool:alpine-v2.0.4 will retrieve this specific released version, on top of an Alpine Linux base.

Thanks to Brandon Butler for contributing the release packaging changes to add this feature.

This release also moves up dependencies for various CVEs (aside from the fact that manifest-tool was unaffected), as well as building with Go 1.18.

A single bug fix for a reported segfault in using --docker-cfg with a file instead of the expected directory is also fixed via PR #169. Thanks to Jian Zhang for the bug report.

v2.0.3 Fix release

The v2.0.3 release of manifest-tool includes a single bug fix for an issue that most regularly occurred when assembling manifest lists/indexes in a public repository in gcr.io or Quay. Due to the authentication flow for these registries and an existing bug in the containerd resolver, a push would fail with "cannot reuse body" errors. Until containerd has a complete fix for this issue, v2.0.3 will appropriately push to these registries by retrying after the authentication challenge (401 Unauthorized) is handled.

v2.0.2 Fix release (FAILED)

Includes the fix mentioned in v2.0.3 but due to a release script bug did not appropriately publish the release on GitHub.

v2.0.1 Fix release (FAILED)

Includes the fix mentioned in v2.0.3 but due to a release script bug did not appropriately publish the release on GitHub.

v2.0.0 Release overview

The v2.0.0 release of manifest-tool represents 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.

v1 -> v2 Update

To handle how Go module version support (e.g. go get) works, since v2.0.0 the code is now located in a /v2 subdirectory. Because of this, if you are importing manifest-tool you will need to add /v2 to your go.mod import of manifest-tool or when using go get to utilize the v2.x codebase.

Reporting Issues

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

v2.0.3

2 years ago

Welcome to the v2.0.3 release of manifest-tool!

Updates

To handle how Go module version support (e.g. go get) works, since v2.0.0 the code is now located in a /v2 subdirectory. Because of this, if you are importing manifest-tool you will need to add /v2 to your go.mod import of manifest-tool or when using go get to utilize the v2.x codebase.

v2.0.3 Fix release

The v2.0.3 release of manifest-tool includes a single bug fix for an issue that most regularly occurred when assembling manifest lists/indexes in a public repository in gcr.io or Quay. Due to the authentication flow for these registries and an existing bug in the containerd resolver, a push would fail with "cannot reuse body" errors. Until containerd has a complete fix for this issue, v2.0.3 will appropriately push to these registries by retrying after the authentication challenge (401 Unauthorized) is handled.

v2.0.2 Fix release (FAILED PUBLISH)

Includes the fix mentioned in v2.0.3 but due to a release script bug did not appropriately publish the release on GitHub.

v2.0.1 Fix release (FAILED PUBLISH)

Includes the fix mentioned in v2.0.3 but due to a release script bug did not appropriately publish the release on GitHub.

v2.0.0 Release overview

The v2.0.0 release of manifest-tool represents 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.

v2.0.2

2 years ago

Welcome to the v2.0.2 release of manifest-tool!

Updates

To handle how Go module version support (e.g. go get) works, since v2.0.0 the code is now located in a /v2 subdirectory. Because of this, if you are importing manifest-tool you will need to add /v2 to your go.mod import of manifest-tool or when using go get to utilize the v2.x codebase.

v2.0.2 Fix release

The v2.0.2 release of manifest-tool includes a single bug fix for an issue that most regularly occurred when assembling manifest lists/indexes in a public repository in gcr.io or Quay. Due to the authentication flow for these registries and an existing bug in the containerd resolver, a push would fail with "cannot reuse body" errors. Until containerd has a complete fix for this issue, v2.0.2 will appropriately push to these registries by retrying after the authentication challenge (401 Unauthorized) is handled.

v2.0.1 Fix release (FAILED)

Includes the fix mentioned in v2.0.2 but due to a release script bug did not appropriately publish the release on GitHub.

v2.0.0 Release overview

The v2.0.0 release of manifest-tool represents 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.

v2.0.1

2 years ago

Welcome to the v2.0.1 release of manifest-tool!

Updates

To handle how Go module version support (e.g. go get) works, since v2.0.0 the code is now located in a /v2 subdirectory. Because of this, if you are importing manifest-tool you will need to add /v2 to your go.mod import of manifest-tool or when using go get to utilize the v2.x codebase.

v2.0.1 Fix release (FAILED)

The v2.0.1 release of manifest-tool includes a single bug fix for an issue that most regularly occurred when assembling manifest lists/indexes in a public repository in gcr.io or Quay. Due to the authentication flow for these registries and an existing bug in the containerd resolver, a push would fail with "cannot reuse body" errors. Until containerd has a complete fix for this issue, v2.0.1 will appropriately push to these registries by retrying after the authentication challenge (401 Unauthorized) is handled.

v2.0.0 Release overview

The v2.0.0 release of manifest-tool represents 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.

v2.0.0

2 years ago

Welcome to the v2.0.0 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 v2.0.0 release of manifest-tool represents 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.

v2.0.0-rc.3

2 years ago

Welcome to the v2.0.0-rc.3 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 third 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.

v2.0.0-rc.2

2 years ago

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.

v2.0.0-rc.1

2 years ago

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.

v2.0.0-beta.1

2 years ago

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.