Skip to content

Releases: oras-project/oras

v1.3.0-rc.1

26 Aug 07:56
Compare
Choose a tag to compare
v1.3.0-rc.1 Pre-release
Pre-release

Feature Stability Updates

  • Promote the following commands and flags from Preview to Stable:
    • oras attach
    • oras attach --platform
    • oras pull --include-subject
  • Promote oras resolve from Experimental to Preview

Bug Fixes

  • Fix #1795, #1825: redundant blank lines in terminal output

Other Changes

  • Upgrade to Go 1.25.0
  • Update dependencies

Detailed Commits

  • bump: tag and release ORAS CLI v1.3.0-beta.4 by @Wwwsylvia in #1799
  • build(deps): bump library/golang from 1.24.5-alpine to 1.24.6-alpine by @dependabot[bot] in #1804
  • build(deps): bump golang.org/x/term from 0.33.0 to 0.34.0 by @dependabot[bot] in #1800
  • chore: add Sylvia's GPG key by @Wwwsylvia in #1806
  • build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #1814
  • build(deps): bump github.com/onsi/ginkgo/v2 from 2.23.4 to 2.24.0 in /test/e2e by @dependabot[bot] in #1816
  • build(go): upgrade to Go 1.25.0 by @Wwwsylvia in #1817
  • chore: mark --platform flag of oras attach from preview to stable by @wangxiaoxuan273 in #1822
  • chore: mark oras resolve from experimental to preview by @wangxiaoxuan273 in #1823
  • chore: remove [Preview] label on --include-subject for oras pull by @Wwwsylvia in #1821
  • chore(ux): remove [Preview] label for oras attach by @Wwwsylvia in #1824
  • build(deps): bump github.com/onsi/ginkgo/v2 from 2.24.0 to 2.25.0 in /test/e2e by @dependabot[bot] in #1826
  • fix: improve tty UX to avoid redundant blank by @wangxiaoxuan273 in #1827
  • build(deps): bump github.com/onsi/ginkgo/v2 from 2.25.0 to 2.25.1 in /test/e2e by @dependabot[bot] in #1828
  • build(deps): bump github.com/onsi/gomega from 1.38.0 to 1.38.1 in /test/e2e by @dependabot[bot] in #1829

Full Changelog: v1.3.0-beta.4...v1.3.0-rc.1

Notes

This release was signed with 3E94 D52A FA46 5877 CAEA 79F1 E805 2EA1 7ECB 9A6C (@Wwwsylvia's GPG key) which can be found here.

v1.3.0-beta.4

11 Aug 03:44
Compare
Choose a tag to compare
v1.3.0-beta.4 Pre-release
Pre-release

Experimental Features

  • Introduce portable backup and restore of OCI artifacts, images, and repositories
    • oras backup: New command to back up artifacts from remote registries into local OCI image layouts, either as directories or tar archives.
    • oras restore: New command to restore artifacts from local OCI image layouts (directories or tar archives) back to remote registries.
  • Add --format flag support for the oras repo ls and oras repo tags commands with text, json, and go-template output options
  • Add --artifact-type flag support for oras manifest index create and oras manifest index update commands to set the artifact type of an OCI image index
  • Enhance multi-repository OCI image layout support for oras repo tags to list tags under a specified repository

Bug Fixes

  • Fix #1728: oras cp now correctly copies root index when the index has no referrers
  • Fix #1715: oras discover --format json now properly shows referrers field when no referrer is found

Other Changes

  • Add support for the loong64 architecture
  • Improve UX with clearer error messages
  • Improve code quality and performance
  • Upgrade to Go 1.24.5
  • Update dependencies

Detailed Commits

New Contributors

Full Changelog: v1.3.0-beta.3...v1.3.0-beta.4

Notes

This release was signed with 73C7 F42E 8F0B 4493 115A BED6 4F72 3223 E9DF 0185 (@shizhMSFT's GPG key) which can be found here.

v1.2.3

29 Apr 07:23
Compare
Choose a tag to compare

Bug Fixes

  • Fix #1599: Auth token scope not correctly added when using --debug or --no-tty with oras push
  • Fix #1623: Should show KB instead of kB in the progress bar

Other Changes

  • Minor security enhancements
  • Update dependencies

Detailed Commits

New Contributors

Full Changelog: v1.2.2...v1.2.3

Notes

This release was signed with 73C7 F42E 8F0B 4493 115A BED6 4F72 3223 E9DF 0185 (@shizhMSFT's GPG key) which can be found here.

v1.3.0-beta.3

25 Apr 07:20
Compare
Choose a tag to compare
v1.3.0-beta.3 Pre-release
Pre-release

New Features

  • Add oras manifest get as an alias for oras manifest fetch

Preview Features

  • Improve tree view in oras discover
    • Annotations are displayed by default
    • Trees are colorized 🌈
  • BREAKING CHANGE Remove the global --no-tty flag
    • The --no-tty flag is kept for TTY-capable commands

Experimental Features

  • Refine the output of oras discover
    • BREAKING CHANGE Rename the manifests field to referrers
    • Add subject manifest details for the json format
  • oras discover displays referrers recursively by default
    • Add a --depth flag to control the maximum depth of referrers discovered

Deprecation

  • Mark the table option for the --format flag in oras discover as deprecated

Bug Fixes

  • Fix #1659, #1694, #1695: Unexpected error "compare and swap of inconsistently typed value into Value" was returned
  • Fix #1640: The --verbose flag was removed in v1.3.0-beta.1
  • Minor fixes

Other Changes

  • Upgrade to Go 1.24.2
  • Update dependencies
  • Improve documentation
  • Optimize code structure

Detailed Commits

New Contributors

Full Changelog: v1.3.0-beta.2...v1.3.0-beta.3

Notes

This release was signed with 73C7 F42E 8F0B 4493 115A BED6 4F72 3223 E9DF 0185 (@shizhMSFT's GPG key) which can be found here.

v1.3.0-beta.2

27 Feb 06:29
Compare
Choose a tag to compare
v1.3.0-beta.2 Pre-release
Pre-release

New Features

Bug Fixes

  • Fix #1576: Missing digests of fetched manifests in the output of oras manifest index create
  • Fix #1599: Auth token scope not correctly added when using --debug or --no-tty with oras push
  • Fix #1582: The --oci-layout-path flag was not marked as experimental
  • Fix #1623: Should show KB instead of kB in the progress bar
  • Fix #1593: Unable to download an artifact twice if it contains symbolic links
  • Minor fixes

Other Changes

  • Upgraded to Go 1.24.0
  • Updated dependencies
  • Improved documentation
  • Optimized code structure

Detailed Commits

New Contributors

Full Changelog: v1.3.0-beta.1...v1.3.0-beta.2

Notes

This release was signed with 73C7 F42E 8F0B 4493 115A BED6 4F72 3223 E9DF 0185 (@shizhMSFT's GPG key) which can be found here.

v1.2.2

19 Dec 08:43
Compare
Choose a tag to compare

Changes

  • Minor security enhancements

Detailed Commits

  • bump: tag and release ORAS CLI v1.2.1 by @qweeah in #1563
  • build(deps): bump golang.org/x/crypto from 0.26.0 to 0.31.0 by @Wwwsylvia in #1591

Full Changelog: v1.2.1...v1.2.2

Notes

This release was signed with 73C7 F42E 8F0B 4493 115A BED6 4F72 3223 E9DF 0185 (@shizhMSFT's GPG key) which can be found here.

v1.3.0-beta.1

10 Dec 08:13
Compare
Choose a tag to compare
v1.3.0-beta.1 Pre-release
Pre-release

New Features

  • Add OS and architecture information to oras version

Experimental Features

  • Introduce multi-arch image / artifact management
    • New command set oras manifest index to manipulate OCI image index manifests
      • oras manifest index create to create a new index from existing manifests
      • oras manifest index update to update an existing index manifest
    • New flag --artifact-platform for oras push to push artifacts with platform information
  • Support fully qualified reference for OCI image layout with a new flag --oci-layout-path (#1505)

Deprecation

  • -v, --verbose flag is marked as deprecated for all commands and is by default for the following commands:
    • oras attach
    • oras blob push
    • oras cp
    • oras manifest push
    • oras pull
    • oras push

Bug Fixes

  • Remove redundant -v, --verbose flag from below commands:
    • oras blob delete
    • oras blob fetch
    • oras login
    • oras manifest delete
    • oras manifest fetch
    • oras manifest fetch-config
    • oras repo ls
    • oras repo tags
    • oras resolve
    • oras tag
  • Fix #1436: oras tag no longer creates referrer tag
  • Fix #1442: invalid progress bar shown for empty layers
  • Fix #1494: invalid reference in the format output of oras pull
  • Minor fixes

Other Changes

  • Improve UX
  • Improve documentation
  • Update dependencies
  • Update to Golang 1.23.4
  • Minor security enhancements

Detailed Commits

Read more

v1.2.1

06 Dec 03:39
Compare
Choose a tag to compare

Bug Fixes

  • Fix #1436: oras tag creates referrers tags unexpectedly

Other Changes

  • Improve documentation
  • Update dependencies
  • Update to Golang 1.23.4

Detailed Commits

Full Changelog: v1.2.0...v1.2.1

Notes

This release was signed with 46D3 369B 393F 6F82 71FD 1CE8 F86E C70D 2B0C 404F (@qweeah's GPG key) which can be found here.

v1.2.0

30 May 08:17
Compare
Choose a tag to compare

New Features

  • oras is compliant with OCI image-spec v1.1.0 and distribution-spec v1.1.0
  • Introduce brand-new default terminal experience
    • Show live progress for the following commands:
      • oras copy
      • oras pull
      • oras push
      • oras attach
      • oras blob fetch
      • oras blob push
    • The new terminal experience can be turned off via the preview flag --no-tty
  • Support deletion of manifests and blobs in OCI image layout
  • Support X.509 mTLS authentication with OCI registries

Preview Features

  • BREAKING CHANGE Registries supporting Referrers API prior to distribution-spec v1.1.0-rc4 will fall back to Referrers tag schema, causing unexpected results of oras attach and oras discover commands
  • Introduce --platform to oras attach for better multi-arch attaching experience, which allows adding referrer artifact to a specific sub-platform
  • Re-purpose the flag --recursive of oras cp from extended copy to copy an artifact or a multi-arch image and its referrers
  • Promote --image-spec to a preview flag from experimental

Experimental Features

  • BREAKING CHANGE oras discover shows tree view output by default
  • Introduce formatted output via --format by implementing the specification
    • Formatted output is available to the following commands:
      • oras pull
      • oras push
      • oras attach
      • oras discover
      • oras manifest fetch
    • Examples:
      • --format json to print operation result as a JSON object
      • --format "go-template={{ .digest }}" to print the digest of the manifest using Go template
        • Template can also be specified by --template
  • Introduce oras resolve to get the digest of an artifact

Deprecation

  • oras discover: --output is marked as deprecated and succeeded by --format

Bug Fixes

  • Fix #1079: Snaps build cannot read default credentials file
  • Fix #1096: Mixed request number in the debug mode
  • Fix #1106: Flag --plain-http=false does not work for local registries
  • Fix #1129: oras cp -r fails if index has a child manifest as subject
  • Minor fixes

Other Changes

  • Improve UX
    • oras discover: show placeholder when artifactType is not presented in an index referrer
    • oras push: show artifact type when pushing files
    • Improve error message based on ORAS CLI error handling guildline
    • Improve identity token input by a new flag --identity-token to replace --password without --username
  • Improve performance
    • Reduce authentication request count fororas copy, oras manifest delete, and oras blob delete
    • Support blob mounting across repositories in the same registry for oras copy
  • Update dependencies
  • Update to Golang 1.22.3
  • Minor security enhancements

What's Changed Since RC.1

Other Changes

  • Improve documentation
  • Update dependencies

Detailed Commits

Full Changelog: v1.2.0-rc.1...v1.2.0

Notes

This release was signed with 46D3 369B 393F 6F82 71FD 1CE8 F86E C70D 2B0C 404F (@qweeah's GPG key) which can be found here.

v1.2.0-rc.1

17 May 06:48
Compare
Choose a tag to compare
v1.2.0-rc.1 Pre-release
Pre-release

New Features

  • oras is compliant with OCI image-spec v1.1.0 and distribution-spec v1.1.0
  • Support X.509 mTLS authentication with OCI registries
  • PREVIEW Introduce --platform to oras attach for better multi-arch attaching experience, which allows adding referrer artifact to a specific sub-platform

Experimental Features

  • BREAKING CHANGE oras discover shows tree view output by default
  • BREAKING CHANGE Introduce new go templating experience to all commands support --format based on the spec
    • BREAKING CHANGE Require explicit type assertion --format go-template=TEMPLATE
    • BREAKING CHANGE Change field selectors from uppercased to lowercased
    • BREAKING CHANGE Rename digested reference selector to reference
    • Examples:
      • --format go-template="{{ .digest }}" to print the digest of the newly pushed manifest using Go template
    • Template can also be specified by --template
  • Introduce output control via --format to oras pull, oras manifest fetch, and oras discover

Deprecation

  • oras discover: --output is marked as deprecated and succeeded by --format

Bug Fixes

  • Fix #1079: snap build cannot read default credentials file
  • Fix #1268: oras blob fetch failed to output to stdout in terminal mode
  • Fix #1300: pushing with multiple tags will corrupt --format output
  • Minor fixes

Other Changes

  • Improve UX
    • oras discover: show placeholder when artifactType is not presented in an index referrer
    • oras push: show artifact type when pushing files
    • Improve error message based on ORAS CLI error handling guildline
    • Improve identity token input by a new flag --identity-token to replace --password without --username
  • Improve live progress output for terminal
    • Introduce colored output
    • Smooth download speed display with reduced fluctuation
  • Update dependencies
  • Update to Golang 1.22.3

Detailed Commits

Read more