New Features
- Introduce OCI image layout support for ORAS with the flag
--oci-layout
oras
CLI is able to push / pull / copy artifacts from / to the local file system in OCI image layout- Folders and
tar
archives are supported on read - Folders are supported on write
- Examples
- Download an artifact into an OCI layout folder:
oras cp localhost:5000/net-monitor:v1 --to-oci-layout download_folder:v1
- Show tags in tar archives built by
docker buildx build -o dest=out.tar,type=oci
:oras repo tags --oci-layout out.tar
- Download an artifact into an OCI layout folder:
- More examples can be found in the help pages of applicable commands
- Introduce compatibility mode for ORAS
oras push
andoras attach
allow building artifact using a specific manifest type via the flag--image-spec
- Specify
--image-spec v1.1-image
to build artifact using OCI Image manifest - Specify
--image-spec v1.1-artifact
to build artifact using OCI Artifact manifest
- Specify
oras push
,oras attach
,oras copy
,oras discover
,oras manifest push
, andoras manifest delete
allow opting for specific referrers implementation for listing referrers via the flag--distribution-spec
- Specify
--distribution-spec v1.1-referrers-api
to opt for OCI Referrers API - Specify
--distribution-spec v1.1-referrers-tag
to opt for OCI Referrers Tag schema
- Specify
- BREAKING CHANGE:
oras pull
will only pull direct artifacts. Use flag--include-subject
to pull all artifacts recursively. oras discover
supports showing annotations of the discovered artifacts via the flag-v
- Support temporary DNS resolving for remote server access via the flag
--resolve host:port:address
for applicable commands - Support
s390x
architecture for releasing oras
Bug Fixes
- Fix #697: consistent file reference parsing on Windows and other platforms
- Fix #740: fail to extract symbols links when
oras pull
to an absolute path - Minor fixes
Other Changes
- BREAKING CHANGE:
oras blob delete
andoras manifest delete
return success on non-existent content when the flag--force
is specified - Update dependencies to the latest versions
- Improve documentation
- Assure quality by end-to-end tests
Detailed Commits
- test(e2e): add E2E testing utilities and sample specs by @qweeah in #639
- bump: update oras-go version by @qweeah in #683
- fix: only pull configuration in root by @qweeah in #684
- test: add test for
oras push
by @qweeah in #691 - bump: change oras-go version to rc6 and change concurrency type by @wangxiaoxuan273 in #715
- test: add utility for file matching by @qweeah in #701
- feat!: support configurable subject pulling by @qweeah in #689
- fix: add log when failed to scan confirmation by @qweeah in #705
- feat: add directional hints for debug logs by @qweeah in #713
- test: add e2e specs for
oras pull
by @qweeah in #693 - test: add e2e specs for
oras blob fetch
by @qweeah in #699 - test: add E2E specs for
manifest fetch-config
by @qweeah in #711 - test: add E2E specs covering
repo
subcommand by @qweeah in #716 - test: add e2e specs covering oras tag by @qweeah in #718
- test: add E2E specs for
oras blob push
by @qweeah in #706 - test: add E2E specs for
manifest push
by @qweeah in #702 - test: add E2E specs for
oras manifest delete
by @qweeah in #703 - test: add E2E specs covering
blob delete
by @qweeah in #708 - fix: add stdin password for
discover
,repo ls
andrepo tags
by @qweeah in #725 - build(deps): bump github.com/docker/cli from 20.10.21+incompatible to 20.10.22+incompatible by @dependabot in #726
- fix: mandates empty referrer to empty array by @qweeah in #729
- feat: support customized DNS resolving for remote registry by @qweeah in #696
- fix!: fix colon in media type for windows by @qweeah in #698
- feat: add s390x release and image to support s390x architecture by @dmittelstaedt in #732
- feat: show annotations in
oras discover
tree format output by @qweeah in #735 - refactor(oci-layout): use Parser to process option input by @qweeah in #736
- feat!: force deleting a non-existent blob/manifest by @qweeah in #745
- feat: add compatibility mode for push and attach cmd by @qweeah in #741
- test(e2e): add oci artifact spec for common registry users by @qweeah in #746
- feat(oci-layout): support in
oras cp
by @qweeah in #748 - feat(oci-layout): support
oras tag
,oras repo tags
andoras pull
by @qweeah in #753 - feat(oci-layout): support in fetch and push for manifest and blob commands by @qweeah in #752
- feat(oci-layout): support in
oras push
andoras attach
by @qweeah in #750 - build(deps): bump github.com/docker/cli from 20.10.22+incompatible to 20.10.23+incompatible by @dependabot in #758
- feat: support specifying distribution spec in discover, cp and manifest push commands by @qweeah in #757
- build(deps): bump oras-go to v2.0 by @qweeah in #759
- fix: support fetching manifest in oci image layout by @qweeah in #766
- feat: add distribution flag to
manifest delete
by @qweeah in #763 - feat: support artifact discovering in OCI image layout by @qweeah in #765
- doc: add ORAS CLI proposal doc for compatibility mode by @FeynmanZhou in #739
- fix: fix bugs related to the spec
--distribution-spec
by @Wwwsylvia in #772 - bump: upgrade golang and alpine versions by @Wwwsylvia in #773
- bump: release v1.0.0-rc.1 by @Wwwsylvia in #775
New Contributors
- @dmittelstaedt made their first contribution in #732
- @Wwwsylvia made their first contribution in #772
Full Changelog: v0.16.0...v1.0.0-rc.1
Notes
This release was signed with 95BB 6CD4 6CA3 0D2B 9CAE E56C 9F2C D437 A97D CB8F
(@shizhMSFT's GPG key) which can be found here.