Skip to content

Releases: oras-project/oras

v0.16.0

07 Nov 14:27
d606fed
Compare
Choose a tag to compare

🚀 ORAS CLI v0.16.0 is available! You can install it by following this guide.

New Features

Bug Fixes

Other Changes

  • Update dependencies to latest versions
  • Improve UX
    • Shorten command names (#667)
      • oras repository --> oras repo. oras repository is demoted to an alias
      • oras repo list --> oras repo ls. oras repo list is demoted to an alias
      • oras repo show-tags --> oras repo tags. oras repo show-tags is demoted to an alias
      • oras copy --> oras cp. oras copy is demoted to an alias
    • Add aliases to existing commands
      • oras manifest get-config is an alias of oras manifest fetch-config
      • oras manifest rm is an alias of oras manifest delete
      • oras blob rm is an alias of oras blob delete
    • BREAKING CHANGE: Update the flag name -y, --yes to -f, --force for oras manifest delete and oras blob delete
    • oras attach prints digest of the subject instead of the input reference

Detailed Commits

  • fix: logout specified credential config file if provided by @qweeah in #626
  • fix: fix the error handling in manifest push by @yuehaoliang-microsoft in #629
  • fix: annotates manifest for attach command by @qweeah in #632
  • test(e2e): add E2E test infra by @qweeah in #561
  • docs: add issue templates by @FeynmanZhou in #633
  • fix: change to use repo instead of repo.manifest because it needs to fetch a blob by @yuehaoliang-microsoft in #637
  • build(deps): bump github.com/spf13/cobra from 1.5.0 to 1.6.0 by @dependabot in #642
  • ci: run all check CIs against patch PR by @qweeah in #641
  • build(deps): bump github.com/docker/cli from 20.10.18+incompatible to 20.10.19+incompatible by @dependabot in #644
  • feat!: support oci artifacts by @qweeah in #653
  • bump: upgrade golang to 1.19.2 by @qweeah in #657
  • build(deps): bump github.com/docker/cli from 20.10.19+incompatible to 20.10.20+incompatible by @dependabot in #648
  • fix: use optional plural form by @qweeah in #659
  • build(deps): bump github.com/docker/cli from 20.10.20+incompatible to 20.10.21+incompatible by @dependabot in #663
  • build(deps): bump github.com/spf13/cobra from 1.6.0 to 1.6.1 by @dependabot in #661
  • feat: support discovering with platform selection by @qweeah in #669
  • feat!: support OCI image fallback for oras push and oras attach by @qweeah in #665
  • feat: support excluding digest tags by @qweeah in #668
  • chore: use short names for repository commands by @qweeah in #670
  • fix: only fallback to OCI image when current media type is OCI artifact by @qweeah in #673
  • chore: add subject reference into attach output by @qweeah in #671
  • feat: add alias for fetch-config by @qweeah in #676
  • feat!: alias remove to delete and rename confirmation flag to force by @qweeah in #677
  • bump: release 0.16 by @qweeah in #678

Full Changelog: v0.15.0...v0.16.0

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.

v0.15.1

17 Oct 06:54
36dc01d
Compare
Choose a tag to compare

Bug Fixes

  • fix: oras logout not working for non-default auth config #625
  • fix: error is not well handled in oras manifest push #627
  • fix: manifest level annotations not being pushed when there is no blob in attach command #630
  • fix: manifest fetch fails when confirming the platform of a manifest #636

Detailed Commits

  • fix: patch bug fixes to release-0.15 by @qweeah in #643
    • fix: logout specified credential config file if provided by @qweeah in #626
    • fix: fix the error handling in manifest push by @yuehaoliang-microsoft in #629
    • fix: annotates manifest for attach command by @qweeah in #632
    • fix: change to use repo instead of repo.manifest because it needs to fetch a blob by @yuehaoliang-microsoft in #637
    • ci: run all check CIs against patch PR by @qweeah in #641
  • bump: update version for 0.15 release by @qweeah in #645

Full Changelog: v0.15.0...v0.15.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.

v0.15.0

27 Sep 06:30
94abaec
Compare
Choose a tag to compare

🚀 ORAS CLI v0.15.0 is available! You can install it by following this guide.

New Features

oras has evolved into a fully functional registry client.

  • New command sets in preview
    • oras blob: Blob operations
      • oras blob fetch: Fetch a blob from a remote registry
      • oras blob push: Push a blob to a remote registry
      • oras blob delete: Delete a blob from a remote registry
    • oras manifest: Manifest operations
      • oras manifest fetch-config: Fetch the config of a manifest from a remote registry
      • oras manifest push: Push a manifest to remote registry
      • oras manifest delete: Delete a manifest from remote registry
    • oras tag: Tag a manifest in the remote registry
    • oras repository: Repository operations
      • oras repository list: List the repositories under the registry
      • oras repository show-tags: Show tags of the target repository
  • New options for existing commands
    • Added --output to oras manifest fetch for writing the fetched manifest to specified file path. - for printing out stdout
    • Support pulling / copying artifact of specified platform in oras pull and oras copy by the option --platform
    • Support tuning concurrency level for oras pull, oras push, oras attach, and oras copy by the option --concurrency
  • Support multi-tagging for oras push and oras copy as requested by #355

Bug Fixes

  • fix: incorrect credential access for docker.io #542

Other Changes

  • Improved documentation
  • Improved UX
  • Updated oras-go to the commit 3f9653f based on v2.0.0-rc.3

Detailed Commits

  • feat: command to show tags in a repository by @junczhu in #526
  • feat: enable tagging manifests by @wju-MSFT in #519
  • feat: command to list repositories in a remote registry by @junczhu in #525
  • chore: upgrade oras-go by @lizMSFT in #537
  • feat: add Descriptor and Pretty options for ORAS command by @lizMSFT in #536
  • refactor: use read only target to replace oras.Target for the target storage with caching by @lizMSFT in #538
  • fix: handle push error for internal cache by @qweeah in #544
  • fix: add missing license headers by @jasminetMSFT in #545
  • chore: upgrade oras-go to v2.0.0-rc.3 by @lizMSFT in #546
  • build: license header check in workflows by @jasminetMSFT in #534
  • feat: support fetch a blob from a remote registry by @lizMSFT in #520
  • feat: support push a blob to a remote registry by @lizMSFT in #489
  • fix: add get alias for oras blob fetch command by @lizMSFT in #558
  • fix: provide function to support hostname mapping by @junczhu in #549
  • build(deps): bump github.com/docker/cli from 20.10.17+incompatible to 20.10.18+incompatible by @dependabot in #551
  • feat: support deleting a manifest from a remote registry by @yuehaoliang-microsoft in #506
  • feat: support delete a blob from a remote registry by @lizMSFT in #493
  • feat: support pushing a manifest to a remote registry by @yuehaoliang-microsoft in #494
  • fix: correct help doc description for attach by @qweeah in #572
  • fix: missing status for pull by @wangxiaoxuan273 in #539
  • feat: enhance manifest fetch by @yuehaoliang-microsoft in #541
  • feat: Make repo alias to repository by @junczhu in #579
  • feat: add manifest fetch-config by @yuehaoliang-microsoft in #540
  • feat: platform support for oras pull and oras copy by @jasminetMSFT in #569
  • chore: improve text prompt for deletion by @qweeah in #583
  • doc: make flags before arguments in examples by @junczhu in #580
  • feat: support tagging multiple tags at once to a remote registry by @wju-MSFT in #574
  • fix: use VerifyReader to verify read content after oras.Fetch by @wangxiaoxuan273 in #589
  • doc: fix description typos by @junczhu in #591
  • feat: alias show-tags=tags for oras repository by @junczhu in #595
  • fix: update help doc for blob fetch command by @qweeah in #605
  • fix: improve the behavior of user confirmation by @yuehaoliang-microsoft in #607
  • fix: update usage doc for all oras commands by @qweeah in #596
  • fix: make attach required via cobra by @qweeah in #612
  • fix: fix flag name parsing error for oras blob push by @lizMSFT in #614
  • feat: support tagging multiple tags at once for oras manifest push by @wju-MSFT in #604
  • fix: update argument description for platform by @qweeah in #606
  • build: bump oras-go version by @qweeah in #615
  • feat: support tagging multiple tags at once for oras push by @wju-MSFT in #616
  • fix: reorder status logs for oras pull by @qweeah in #610
  • feat: add concurrency flag for oras pull by @wju-MSFT in #621
  • feat: support tagging multiple tags at once for oras copy by @wju-MSFT in #617
  • doc: refine CLI help doc by @FeynmanZhou in #619
  • bump: update version to 0.15.0 by @qweeah in #622
  • fix: capitalize the short and log doc for tag command by @qweeah in #623
  • feat: support concurrency tuning for oras attach by @qweeah in #624

New Contributors

Full Changelog: v0.14.0...v0.15.0

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.

v0.14.1

05 Sep 09:21
a27b2d2
Compare
Choose a tag to compare

Bug Fixes

  • fix: fail to oras pull from Aazon ECR: empty response Docker-Content-Digest oras-project/oras-go#225
  • fix: fail to oras push to Google GAR: unexpected status code 400: Bad Request #532

Full Changelog: v0.14.0...v0.14.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.

v0.14.0

22 Aug 09:06
fcdc769
Compare
Choose a tag to compare

🚀 ORAS CLI v0.14.0 is available! You can install it by following this guide.

New Features

  • New command sets
    • oras attach: [Preview] Attach files to an existing artifact
    • oras discover: [Preview] Discover referrers of a manifest in the remote registry
    • oras copy: [Preview] Copy artifacts from one target to another
    • oras manifest fetch: [Preview] Fetch manifest of the target artifact
  • New options for oras push
    • Add ability to export manifest after pushing artifacts by --export-manifest <path>
    • Add --artifact-type to set the media type of the manifest config for OCI manifests
    • Add --annotation <key>=<value> option for easier specifying manifest annotations
  • New options for oras pull
    • Support pulling arbitrary manifest config

Bug Fixes

  • fix: oras doesn't push a file with 2 tags #447
  • fix: push error for ECR: PUT request body is not rewindable #456
  • fix: can't pull behind proxy on version 0.13.0 #513

Breaking Changes

  • Renamed option --manifest-annotations to --annotation-file for all applicable commands
  • Renamed option --manifest-config to --config while --config is renamed to --registry-config for all commands

Other Changes

  • Improved documentation
  • Updated oras-go to v2.0.0-rc.2
    • oras push uploads empty config blob of size 0 bytes instead of {} (empty JSON object of size 2 bytes)
  • Migrated to codecov.io for code coverage reports
  • Improved performance for oras pull when ORAS_CACHE is set
  • Bumped golang version to 1.19
  • Improved UX output

Detailed Commits

  • Merging artifacts Branch: Add exporting manifest option for push by @qweeah in #425
  • Update ghcr package action yaml by @qweeah in #422
  • Merging artifacts Branch: Add discover comand by @qweeah in #419
  • fix: update help msg description about pullCmd() by @junczhuMSFT in #438
  • If no tag or digest specified when pulling, return error by @qweeah in #440
  • feat: add copyCmd() by @junczhuMSFT in #432
  • Add empty reference checking for discover cmd by @qweeah in #442
  • Add attach command by @qweeah in #433
  • Fix retagging failure with updated oras-go by @qweeah in #452
  • Bump github.com/sirupsen/logrus from 1.8.1 to 1.9.0 by @dependabot in #451
  • Migrate to codecov.io by @junczhuMSFT in #450
  • Fix push error for ECR by @qweeah in #462
  • feat: use --artifact-type to change the media type of the config blob by @yuehaoliang-microsoft in #482
  • Adding support for windows-arm64 by @koushdey in #457
  • perf: add FetchReference support in the caching proxy by @qweeah in #464
  • fix(lang): update misspelling in copy.go by @junczhuMSFT in #487
  • Bump to golang 1.19 by @sajayantony in #488
  • fix: refill missing status for push copy and attach by @qweeah in #481
  • feat!: pass annotations as a string by @junczhuMSFT in #468
  • feat: Support pulling arbitrary manifest config by @lizMSFT in #480
  • refactor: move error to cmd internal packages by @qweeah in #496
  • feat: add fetch command to get manifest of an artifact by @qweeah in #449
  • fix: add new line to prettify manifest fetch result by @qweeah in #499
  • refactor: improve error message on platform mismatch by @lizMSFT in #500
  • fix: add empty check on blobs and manifest annotation by @jasminetMSFT in #490
  • refactor!: rename the --manifest-config to --config by @lizMSFT in #504
  • fix: fix the lookup check for registry-config option by @lizMSFT in #505
  • refactor: add pre-defined annotation keys into option.Packer by @junczhuMSFT in #502
  • refactor: reuse print status func by @qweeah in #507
  • docs: add doc comments for the loop of successors by @wangxiaoxuan273 in #508
  • fix: check if configPath is empty before writing to Annotations by @wangxiaoxuan273 in #509
  • feat: print digest and media type when content is skipped using sync.Map by @wangxiaoxuan273 in #510
  • fix: print post-copy logs for unnamed content in verbose mode by @wangxiaoxuan273 in #511
  • fix: enable proxy in auth by @qweeah in #514
  • doc: fix typo in long description by @qweeah in #516
  • bump: update version to release 0.14.0 by @qweeah in #515
  • fix!: rename the --manifest-config to --config for push command by @lizMSFT in #517
  • doc: update example doc by @qweeah in #518

New Contributors

Full Changelog: v0.13.0...v0.14.0

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.

v0.13.0

28 Jun 11:12
bb75f50
Compare
Choose a tag to compare

Major Changes

  • Upgrades oras-go from v0.1.0 to v2.0.0-alpha
  • Supports docker and oras manifest
  • Releases multi-arch package, including Linux armv7
  • Has less dependencies and smaller binary size
  • Supports custom root CA certs for remote servers per operation

What's Changed

New Contributors

Full Changelog: v0.12.0...v0.13.0

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.

v0.2.1-alpha.1

11 Nov 05:26
58fa344
Compare
Choose a tag to compare
v0.2.1-alpha.1 Pre-release
Pre-release

Instructions for downloading builds for linux/amd64

curl -LO https://github.com/oras-project/oras/releases/download/v0.2.1-alpha.1/oras_0.2.1-alpha.1_linux_amd64.tar.gz
mkdir oras
tar -xvf ./oras_0.2.1-alpha.1_linux_amd64.tar.gz -C ./oras/
cp ./oras/oras ~/bin/oras

Documentation 📘

  • Quick Start for usage scenarios of the oras artifacts specification

Changelog

v0.2.0-alpha.1

15 Sep 16:37
v0.2.0-alpha.1
f01d975
Compare
Choose a tag to compare
v0.2.0-alpha.1 Pre-release
Pre-release

Instructions for downloading builds for linux/amd64

 curl -LO https://github.com/oras-project/oras/releases/download/v0.2.0-alpha.1/oras_0.2.0-alpha.1_linux_amd64.tar.gz
 mkdir oras
 tar -xvf ./oras_0.2.0-alpha.1_linux_amd64.tar.gz -C ./oras/
 cp ./oras/oras ~/bin/oras

Documentation 📘

  • Quick Start for usage scenarios of the oras artifacts specification

Changelog

  • Updated oras-project/containerd with artifact filtering (#313) f01d975 (Sajay Antony)
  • Add support for pre-release e427ad8 (Sajay Antony)
  • Remove mediatype from artifact manifest abd6366 (Sajay Antony)
  • Set containerd/api path explicitely to avoid inconsistent replace d3246ca (Esteban Rey)
  • pretty print tree (#306) 246bc2e (Shiwei Zhang)
  • go mod clean up a50a6d7 (Shiwei Zhang)
  • Updated oras to use updated containerd with artifacts-spec v1 (#305) 888591e (Sajay Antony)
  • Oras discover with output tree format (#297) 01bc2b4 (mnltejaswini)
  • update dependency 8627d45 (Shiwei Zhang)
  • print in table (#258) e522a27 (Shiwei Zhang)
  • update containerd references 8690807 (Shiwei Zhang)
  • update references fd3aaf3 (Shiwei Zhang)
  • Fix copy/paste error for SBoM/Signature and SBoM explination c1133fe (Steve Lasker)
  • Fix doc reference for experimental branch 804f046 (Steve Lasker)
  • Fix doc reference for experimental branch 1cc4b24 (Steve Lasker)
  • Add building of the experimental branch 61426db (Steve Lasker)
  • Update OCI Artifact Manifest doc support 6977a42 (Steve Lasker)
  • removes check on the artifact type filter 60b9dab (Shiwei Zhang)
  • reflect json output of oras discover db537ea (Shiwei Zhang)
  • allow pulling with empty name f0920ba (Shiwei Zhang)
  • no dummy resolver applied to reference resolver 0e3fc18 (Shiwei Zhang)
  • enhanced output of discover 321d79c (Shiwei Zhang)
  • update to the latest spec 1d4a86e (Shiwei Zhang)
  • update doc for pushing and artifacts 76586ec (Shiwei Zhang)
  • update containerd dependency 7aeec78 (Shiwei Zhang)
  • support dry run bfde944 (Shiwei Zhang)
  • export manifest on push 0e3c1f4 (Shiwei Zhang)
  • support artifact discovery for oras cli 8d49927 (Shiwei Zhang)
  • support artifact discovery for oras lib 55d1abe (Shiwei Zhang)
  • update to latest artifact spec 350dae6 (Shiwei Zhang)
  • new artifact spec support f56d806 (Shiwei Zhang)

v0.12.0

02 Jun 01:46
1e6a64e
Compare
Choose a tag to compare

Changelog

  • maint: replace github org references 1e6a64e (Josh Dolitsky)
  • Add code of conduct (#278) 2df178d (Josh Dolitsky)
  • Bump github.com/containerd/containerd from 1.5.1 to 1.5.2 (#277) 7be4945 (dependabot[bot])
  • Bump github.com/containerd/containerd from 1.5.0 to 1.5.1 (#273) 33a30cd (dependabot[bot])
  • Bump github.com/docker/docker (#268) a7daebd (dependabot[bot])
  • Enable CLI to Pull Config (#274) d400de2 (Shiwei Zhang)
  • fixing broken links in readme (#270) c46d3e3 (Vanessasaurus)
  • fix makefile (#272) 7ecdb44 (Shiwei Zhang)
  • consistent default media type (#271) e85f6b7 (Shiwei Zhang)
  • Migrate to oras-go library (#265) c9d1b33 (Josh Dolitsky)
  • Add documentation for cache usage (#266) a7e985d (Lucian Buzzo)
  • Bump github.com/containerd/containerd from 1.5.0-rc.2 to 1.5.0-rc.3 (#262) 1ec0c36 (dependabot[bot])
  • Bump github.com/docker/cli (#259) b76d6d9 (dependabot[bot])
  • Updates to containerd 1.5 (#261) 235ef92 (Crypt Keeper)

Notes

This release was signed with E97F 9DA5 AE2E 39CF 48A1 42B7 852A 7470 A39F B81D (@jdolitsky's GPG key) which can be found here and here.

v0.11.1

18 Mar 17:53
5bfe0ab
Compare
Choose a tag to compare

Changelog

  • maint: prep for 0.11.1 release 5bfe0ab (Josh Dolitsky)
  • Fix regression in v0.11.0 (#250) 2798290 (Josh Dolitsky)
  • Build & release arm64 binaries (#248) 23f76e8 (Will Medlar)

Notes

This release was signed with E97F 9DA5 AE2E 39CF 48A1 42B7 852A 7470 A39F B81D (@jdolitsky's GPG key) which can be found here.