ORAS CLI V1
oras
is a CLI tool to manage artifacts in OCI-compliant registries and also a fully functional registry client. After a long journey of development, oras
has reached a critical milestone for its first stable release v1.0.0
. 🎉🎉🎉
While most features are stable, some features are labeled as preview or experimental for early accesses (#865).
- Preview features are almost stable but subject to change
- Experimental features are working in progress and not stable
Changes after v0.16.0
are summarized as follows.
New Features
- Introduce OCI image layout support with the flag
--oci-layout
- BREAKING CHANGE:
oras push
andoras attach
publish OCI image manifest by default- Auto manifest type selection is disabled (#782)
- BREAKING CHANGE:
oras pull
pulls artifacts without referenced artifacts. Use flag--include-subject
to pull all artifacts recursively. - BREAKING CHANGE:
oras cp --recursive
is re-designed to copy artifacts with attached artifacts (#826, #827) oras discover
supports showing annotations of the discovered artifacts via the flag-v
oras repo ls
supports listing repositories under a certain namespaceoras repo tags
supports showing tags associated with a particular tag or digest- Improve registry developer experience
- Support temporary DNS resolving with optional port forwarding via the flag
--resolve
- Example: debug and test local registry instances:
oras push --resolve prod.registry.io:443:127.0.0.1:5000 prod.registry.io/hello:v1 hi.txt
- Example: debug and test local registry instances:
- Support custom HTTP header via flag
-H, --header
- Example: correlate operations for specific registry providers:
oras repo ls -H X-Correlation-Id=$CORRELATION_ID prod.registry.io
- Example: correlate operations for specific registry providers:
- Support temporary DNS resolving with optional port forwarding via the flag
- Experimental: Introduce compatibility mode for OCI image-spec and distribution-spec
- Support HTTP client retry on read operations for registry targets
- Support
s390x
architecture for releasing oras
Other Changes
- BREAKING CHANGE:
oras blob delete
andoras manifest delete
return success on non-existent content when the flag--force
is specified - Improve UX
oras discover
prints subject digest for root node in tree-view outputoras tag
prints digest fororas tag
command
- Update dependencies to the latest versions
- Update to golang
1.20.2
- Improve documentation
- Assure quality by end-to-end tests
What's Changed Since RC.2
Bug Fixes
- Fix #883: manifest entries got removed from
index.json
when tagging an artifact in the OCI layout - Minor fixes
Other Changes
- Better debug experiences by correlating debug logs for HTTP requests
- More E2E test cases
- Improved documentation
Detailed Commits
- docs: Add development environment section to readme by @TerryHowe in #822
- feat!: improve debug log readability by @wangxiaoxuan273 in #861
- doc: add feature marks to cmd description and log by @qweeah in #865
- test(e2e): add OCI layout e2e specs for
oras cp
by @qweeah in #869 - test: add e2e tests for custom header feature by @wangxiaoxuan273 in #837
- test(e2e): OCI layout specs for
oras discover
by @qweeah in #871 - build(deps): bump oras.land/oras-go/v2 from 2.0.0-20230224055117-216f081e33ba to 2.0.1 by @dependabot in #875
- chore: update owners by @shizhMSFT in #866
- test: add header e2e test cases for
oras cp
by @wangxiaoxuan273 in #874 - test(e2e): OCI layout specs for
oras repo tags
by @qweeah in #873 - test(e2e): OCI layout e2e specs for
oras push
by @qweeah in #878 - test(e2e): OCI layout specs for
oras attach
by @qweeah in #882 - test(e2e): add test specs for
oras pull
by @qweeah in #885 - test: add e2e specs for manifest fetch under oci-layout by @wangxiaoxuan273 in #888
- chore: e2e test code clean by @qweeah in #886
- test: add e2e tests for manifest fetch-config under oci-layout by @wangxiaoxuan273 in #889
- fix: add error when using media type assertion with oci layout by @wangxiaoxuan273 in #890
- fix: return error if content and password are both read from stdin by @qweeah in #892
- test(e2e): layout specs for
oras manifest push
by @qweeah in #880 - build(deps): bump oras.land/oras-go/v2 to 2.0.2 by @qweeah in #894
- bump: update go and release version by @qweeah in #895
Full Changelog: v1.0.0-rc.2...v1.0.0
Notes
This release was signed with BE6F A8DD A48D 4C23 0091 A0A9 276D 8A72 4CE1 C704
(@qweeah's GPG key) which can be found here.