oras breaking changes
homebrew57 curated breaking changes across major versions of oras. Use this as a migration checklist before bumping dependencies.
- 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
Get this data programmatically \u2014 free, no authentication.
curl https://depscope.dev/api/breaking/homebrew/oras