oras breaking changes

homebrew

57 curated breaking changes across major versions of oras. Use this as a migration checklist before bumping dependencies.

57
changes
Breaking changes by transition
  • v1.3.0-beta.2 \u2192 v1.3.0-beta.3breaking

    The `--no-tty` flag is kept for TTY-capable commands

  • v1.3.0-beta.2 \u2192 v1.3.0-beta.3breaking

    Add subject manifest details for the `json` format

  • v1.3.0-beta.2 \u2192 v1.3.0-beta.3breaking

    `oras discover` displays referrers recursively by default

  • v1.3.0-beta.2 \u2192 v1.3.0-beta.3breaking

    Add a `--depth` flag to control the maximum depth of referrers discovered

  • v1.3.0-rc.2 \u2192 v1.3.0breaking

    `--no-tty` remains available on individual TTY-capable commands

  • v1.3.0-rc.2 \u2192 v1.3.0breaking

    Add subject manifest details to the `json` output

  • v1.3.0-rc.2 \u2192 v1.3.0breaking

    `oras discover` now displays referrers recursively by default; the maximum recursion depth can be controlled via the `--depth` flag

  • v1.2.0-beta.1 \u2192 v1.2.0-rc.1breaking

    **BREAKING CHANGE** Require explicit type assertion `--format go-template=TEMPLATE`

  • v1.2.0-beta.1 \u2192 v1.2.0-rc.1breaking

    `--format go-template="{{ .digest }}"` to print the digest of the newly pushed manifest using [Go template](https://pkg.go.dev/text/template)

  • v1.2.0-beta.1 \u2192 v1.2.0-rc.1breaking

    **BREAKING CHANGE** Rename digested reference selector to `reference`

  • v1.2.0-beta.1 \u2192 v1.2.0-rc.1breaking

    **BREAKING CHANGE** Change field selectors from uppercased to lowercased

  • v1.2.0-beta.1 \u2192 v1.2.0-rc.1breaking

    **BREAKING CHANGE** Introduce new go templating experience to all commands support `--format` based on the [spec](https://github.com/oras-project/oras/blob/v1.2.0-rc.1/docs/proposals/formatted-output.md)

  • v1.1.0 \u2192 v1.2.0-beta.1breaking

    Re-purpose the flag `--recursive` of `oras cp` from [extended copy](https://oras.land/docs/client_libraries/overview#extended-copy) to copy an artifact or a multi-arch image and their referrer artifacts

  • v1.1.0 \u2192 v1.2.0-beta.1breaking

    Registries supporting `Referrers API` of older version of `distribution-spec` will fall back to `Referrers tag schema`, causing unexpected results of `oras attach` and `oras discover` commands

  • v1.1.0 \u2192 v1.2.0-beta.1breaking

    Known registries supporting the `distribution-spec v1.1.0-rc4`:

  • v1.1.0 \u2192 v1.2.0-beta.1breaking

    Zot [`v2.0.0-rc5`](https://github.com/project-zot/zot/releases/tag/v2.0.0-rc5) and later versions

  • v1.1.0 \u2192 v1.2.0-beta.1breaking

    Harbor [`v2.10.0`](https://github.com/goharbor/harbor/releases/tag/v2.10.0) and later versions

  • v1.2.0-rc.1 \u2192 v1.2.0breaking

    Introduce `--platform` to `oras attach` for better multi-arch attaching experience, which allows adding referrer artifact to a specific sub-platform

  • v1.2.0-rc.1 \u2192 v1.2.0breaking

    Formatted output is available to the following commands:

  • v1.2.0-rc.1 \u2192 v1.2.0breaking

    Introduce formatted output via `--format` by implementing the [specification](https://github.com/oras-project/oras/blob/v1.2.0/docs/proposals/formatted-output.md)

  • v1.2.0-rc.1 \u2192 v1.2.0breaking

    Promote `--image-spec` to a preview flag from experimental

  • v1.2.0-rc.1 \u2192 v1.2.0breaking

    Re-purpose the flag `--recursive` of `oras cp` from [extended copy](https://oras.land/docs/client_libraries/overview#extended-copy) to copy an artifact or a multi-arch image and its referrers

  • v1.0.1 \u2192 v1.1.0-rc.2breaking

    No longer produce manifests of type `application/vnd.oci.artifact.manifest.v1+json`

  • v1.0.1 \u2192 v1.1.0-rc.2breaking

    Add options `v1.0` and `v1.1`

  • v1.0.1 \u2192 v1.1.0-rc.2breaking

    Remove options `v1.1-image` and `v1.1-artifact`

  • v1.0.1 \u2192 v1.1.0-rc.2breaking

    **BREAKING CHANGE**: Remove the flag `--image-spec` from `oras attach`

  • v1.1.0-rc.2 \u2192 v1.1.0breaking

    **BREAKING CHANGE**: Remove the flag `--image-spec` from `oras attach`

  • v1.1.0-rc.2 \u2192 v1.1.0breaking

    Add options `v1.0` and `v1.1`

  • v1.1.0-rc.2 \u2192 v1.1.0breaking

    No longer produce manifests of type `application/vnd.oci.artifact.manifest.v1+json`

  • v1.1.0-rc.2 \u2192 v1.1.0breaking

    Remove options `v1.1-image` and `v1.1-artifact`

  • v1.0.0-rc.1 \u2192 v1.0.0-rc.2breaking

    Auto manifest type selection is disabled (#782)

  • v1.0.0-rc.1 \u2192 v1.0.0-rc.2breaking

    **BREAKING CHANGE**: `oras cp --recursive` is re-designed to copy artifacts with attached artifacts (#826, #827)

  • v1.0.0-rc.1 \u2192 v1.0.0-rc.2breaking

    Support HTTP client retry on read operations for registry targets

  • v1.0.0-rc.1 \u2192 v1.0.0-rc.2breaking

    `oras repo tags` supports showing tags associated with a particular tag or digest

  • v1.0.0-rc.1 \u2192 v1.0.0-rc.2breaking

    `oras repo ls` supports listing repositories under a certain namespace

  • v0.16.0 \u2192 v1.0.0-rc.1breaking

    Support temporary DNS resolving for remote server access via the flag `--resolve host:port:address` for applicable commands

  • v0.16.0 \u2192 v1.0.0-rc.1breaking

    `oras discover` supports showing annotations of the discovered artifacts via the flag `-v`

  • v0.16.0 \u2192 v1.0.0-rc.1breaking

    Support `s390x` architecture for releasing oras

  • v0.16.0 \u2192 v1.0.0-rc.1breaking

    Update dependencies to the latest versions

  • v0.16.0 \u2192 v1.0.0-rc.1breaking

    Improve documentation

  • v1.0.0-rc.2 \u2192 v1.0.0breaking

    **BREAKING CHANGE**: `oras pull` pulls artifacts without referenced artifacts. Use flag `--include-subject` to pull all artifacts recursively.

  • v1.0.0-rc.2 \u2192 v1.0.0breaking

    Auto manifest type selection is disabled (#782)

  • v1.0.0-rc.2 \u2192 v1.0.0breaking

    **BREAKING CHANGE**: `oras cp --recursive` is re-designed to copy artifacts with attached artifacts (#826, #827)

  • v1.0.0-rc.2 \u2192 v1.0.0breaking

    `oras repo ls` supports listing repositories under a certain namespace

  • v1.0.0-rc.2 \u2192 v1.0.0breaking

    `oras discover` supports showing annotations of the discovered artifacts via the flag `-v`

  • v0.15.1 \u2192 v0.16.0breaking

    Add `--exclude-digest-tags` to `oras repo tags` to exclude tags generated by the [Referrers Tag Schema](https://github.com/opencontainers/distribution-spec/blob/v1.1.0-rc1/spec.md#referrers-tag-schema)

  • v0.15.1 \u2192 v0.16.0breaking

    Upgrade to [image-spec v1.0.0-rc.2](https://github.com/opencontainers/image-spec/releases/tag/v1.1.0-rc2)

  • v0.15.1 \u2192 v0.16.0breaking

    Upgrade to [oras-go v2.0.0-rc.4](https://github.com/oras-project/oras-go/releases/tag/v2.0.0-rc.4)

  • v0.15.1 \u2192 v0.16.0breaking

    Auto fallback `oras push` and `oras attach` to OCI Image manifest if OCI Artifact manifest is not supported by the remote registry

  • v0.15.1 \u2192 v0.16.0breaking

    Support `--platform` in `oras discover`

  • v0.13.0 \u2192 v0.14.0breaking

    Renamed option `--manifest-annotations` to `--annotation-file` for all applicable commands

  • v0.13.0 \u2192 v0.14.0breaking

    Renamed option `--manifest-config` to `--config` while `--config` is renamed to `--registry-config` for all commands

  • v0.2.1-alpha.1 \u2192 v0.13.0breaking

    Upgrades `oras-go` from `v0.1.0` to `v2.0.0-alpha`

  • v0.2.1-alpha.1 \u2192 v0.13.0breaking

    Supports docker and oras manifest

  • v0.2.1-alpha.1 \u2192 v0.13.0breaking

    Has less dependencies and smaller binary size

  • v0.2.1-alpha.1 \u2192 v0.13.0breaking

    Supports custom root CA certs for remote servers per operation

  • v0.2.1-alpha.1 \u2192 v0.13.0breaking

    Releases multi-arch package, including Linux armv7

API access

Get this data programmatically \u2014 free, no authentication.

curl https://depscope.dev/api/breaking/homebrew/oras
oras breaking changes — Homebrew migration guide | DepScope