v1.2.0-beta.1
Pre-release
Pre-release
github-actions
released this
02 Feb 08:30
·
201 commits
to main
since this release
New Features
- 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 flag
--no-tty
- Show live progress for the following commands:
- Support deletion of manifests and blobs in OCI image layout
Experimental Features
- BREAKING CHANGE
oras
is compliant with OCI image-spec v1.1.0-rc6 and distribution-spec v1.1.0-rc4- Registries supporting
Referrers API
of older version ofdistribution-spec
will fall back toReferrers tag schema
, causing unexpected results oforas attach
andoras discover
commands - Known registries supporting the
distribution-spec v1.1.0-rc4
:- Zot
v2.0.0-rc5
and later versions - Harbor
v2.10.0
and later versions
- Zot
- Registries supporting
- Re-purpose the flag
--recursive
oforas cp
from extended copy to copy an artifact or a multi-arch image and their referrer artifacts - Introduce
oras resolve
to get the digest of an artifact - Introduce output control by specifying
--format
tooras push
andoras attach
- Examples:
--format json
to print operation result as a JSON object--format "{{ .Digest }}"
to print the digest of the newly pushed manifest using Go template
- Known issue: pushing with multiple tags output unexcepted results and will be fixed in future versions
- Examples:
Bug Fixes
- 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
Other Changes
- Enhance troubleshooting experience with improved error messages
- Improve performance
- Reduce authentication request count for
oras copy
,oras manifest delete
, andoras blob delete
- Support blob mounting across repositories in the same registry for
oras copy
- Reduce authentication request count for
- Update dependencies
- Update to Golang
1.21.6
- Minor security enhancements
Detailed Commits
- bump: tag and release ORAS CLI v1.1.0 by @qweeah in #1103
- fix: allow HTTPS for localhost by @qweeah in #1107
- perf: optimize request count for manifest and blob deletion by @qweeah in #1109
- revert: "perf: optimize request count for manifest and blob deletion" by @qweeah in #1115
- perf: optimize request count for manifest and blob deletion by @qweeah in #1116
- chore: fix typo by @testwill in #1121
- feat: support copying referrers for multi-arch images by @qweeah in #1122
- build(deps): bump golang.org/x/term from 0.11.0 to 0.12.0 by @dependabot in #1123
- build(deps): bump github.com/onsi/ginkgo/v2 from 2.12.0 to 2.12.1 in /test/e2e by @dependabot in #1126
- fix: remove root from virtual referrers by @shizhMSFT in #1130
- build: release ppc64le/riscv64 and improve reproducibility by @katexochen in #1118
- build(deps): bump golang.org/x/sync from 0.3.0 to 0.4.0 by @dependabot in #1137
- build(deps): bump golang.org/x/term from 0.12.0 to 0.13.0 by @dependabot in #1136
- build(deps): bump github.com/onsi/gomega from 1.27.10 to 1.28.0 in /test/e2e by @dependabot in #1132
- build(deps): bump github.com/onsi/ginkgo/v2 from 2.12.1 to 2.13.0 in /test/e2e by @dependabot in #1140
- build(deps): bump golang.org/x/net from 0.14.0 to 0.17.0 in /test/e2e by @dependabot in #1141
- feat: support progressed output in
blob push
andblob get
by @qweeah in #1113 - perf: reduce auth request count for
oras cp
by @qweeah in #1142 - fix: resolve duplicated debug log for
oras cp
by @qweeah in #1139 - build(deps): bump golang.org/x/net from 0.14.0 to 0.17.0 in /test/e2e by @dependabot in #1144
- build(deps): bump github.com/oras-project/oras-credentials-go from 0.2.0 to 0.3.1 by @dependabot in #1145
- build(deps): bump github.com/onsi/gomega from 1.28.0 to 1.28.1 in /test/e2e by @dependabot in #1147
- feat: support progress output for attach, push and copy commands by @qweeah in #1138
- build(deps): bump github.com/onsi/gomega from 1.28.1 to 1.29.0 in /test/e2e by @dependabot in #1153
- build(deps): upgrade image-spec to 1.1.0-rc5 and oras-go to the latest by @shizhMSFT in #1154
- chore: add reference details to registry errors by @sajayantony in #1152
- feat: support progress output in pull by @qweeah in #1148
- feat: remove empty artifact CLI message and show hints for pulling OCI image layout by @sajayantony in #1157
- fix: should not print copy hint for manifest in verbose mode by @qweeah in #1165
- feat: make
--debug
imply--no-tty
by @qweeah in #1162 - fix: avoid copy suggestion when only config is skipped by @sajayantony in #1164
- fix: resolve regression made in #1164 by @qweeah in #1170
- fix: atomic bool for layer skipped during pulling by @qweeah in #1168
- build(deps): bump golang.org/x/sync from 0.4.0 to 0.5.0 by @dependabot in #1172
- fix: update error message for repo ls by @sajayantony in #1169
- test(e2e): add specs to hint for pulling unnamed layers by @qweeah in #1174
- build(deps): bump github.com/spf13/cobra from 1.7.0 to 1.8.0 by @dependabot in #1171
- fix: avoid overflow in progress bar percentage by @qweeah in #1178
- chore(ux): add newline to make TTY output copy friendly by @qweeah in #1180
- build(deps): bump golang.org/x/term from 0.13.0 to 0.14.0 by @dependabot in #1181
- build(deps): bump github.com/onsi/gomega from 1.29.0 to 1.30.0 in /test/e2e by @dependabot in #1182
- test(e2e): fix a false positive test for
blob get
by @qweeah in #1184 - chore: make error of non-existed source OCI layout more readable by @qweeah in #1176
- build(deps): bump github.com/onsi/ginkgo/v2 from 2.13.0 to 2.13.1 in /test/e2e by @dependabot in #1185
- feat: add resolve command by @sajayantony in #1187
- test(e2e): add test for
resolve
command by @qweeah in #1188 - build(deps): bump golang.org/x/term from 0.14.0 to 0.15.0 by @dependabot in #1194
- doc: add example for attach with custom layer media type by @qweeah in #1195
- build(deps): bump github.com/onsi/ginkgo/v2 from 2.13.1 to 2.13.2 in /test/e2e by @dependabot in #1196
- feat: scrub Set-Cookie header in debug logs by @qweeah in #1190
- feat: support manifest and blob deletion for OCI layout by @qweeah in #1197
- build(ci): add workflow for releasing main image by @kranurag7 in #1191
- build(ci): merge tag and main ghcr build release file by @qweeah in #1205
- test(e2e): add spec to cover legacy docker config file by @qweeah in #1206
- feat: improve returned error for invalid arguments by @qweeah in #1201
- fix: bug in pushing with multiple tags by @qweeah in #1209
- chore(ux): improve error message for
oras tag list
by @qweeah in #1219 - build(ci): enforce coverage check by @qweeah in #1220
- chore(ux): improve error output for unknown spec flag by @qweeah in #1221
- build(deps): bump oras-go/v2 to main branch by @qweeah in #1223
- fix: resolve error in help doc of distribution spec flag by @qweeah in #1229
- build(ci): make coverage upload and calculation mandatory by @qweeah in #1230
- build(deps): bump golang.org/x/sync from 0.5.0 to 0.6.0 by @dependabot in #1231
- build(deps): bump golang.org/x/term from 0.15.0 to 0.16.0 by @dependabot in #1232
- build(deps): bump github.com/onsi/ginkgo/v2 from 2.13.2 to 2.14.0 in /test/e2e by @dependabot in #1240
- chore(ux): show registry error and hint for dockehub by @qweeah in #1222
- chore(ux): improve error message for oras manifest fetch by @wangxiaoxuan273 in #1234
- build(deps): bump github.com/onsi/gomega from 1.30.0 to 1.31.0 in /test/e2e by @dependabot in #1244
- build(deps): bump github.com/onsi/ginkgo/v2 from 2.14.0 to 2.15.0 in /test/e2e by @dependabot in #1245
- chore(ux): improve error message for oras manifest push by @wangxiaoxuan273 in #1241
- chore(ux): improve error message for bad annotation format by @wangxiaoxuan273 in #1243
- chore(ux): give recommendation when empty creds found during basic auth by @qweeah in #1235
- build(deps): bump github.com/onsi/gomega from 1.31.0 to 1.31.1 in /test/e2e by @dependabot in #1250
- feat: support mounting blobs during copy by @qweeah in #1242
- build(ci): release artifacts for freebsd by @kranurag7 in #1192
- chore: improve error message when attaching with no file or annotation by @wangxiaoxuan273 in #1253
- chore: improve error message if the provided annotation file is invalid by @wangxiaoxuan273 in #1255
- build(deps): bump oras.land/oras-go/v2 from 2.3.1-0.20231026053328-062ed0e058f8 to 2.4.0 in /test/e2e by @dependabot in #1259
- build(deps): bump oras.land/oras-go/v2 from 2.3.1-0.20240117093352-d8783fe25d71 to 2.4.0 by @dependabot in #1260
- chore(gpg): update qweeah's key by @qweeah in #1261
- chore(ux): improve error message for invalid registry and file reference by @qweeah in #1258
- chore(gpg): remove expired GPG key by @qweeah in #1262
- bump: update golang to 1.21.6 by @qweeah in #1263
- fix: remove unwanted newline in attach error by @qweeah in #1265
- chore(ci): update patch coverage check to 80% by @qweeah in #1264
- feat: support formatted output in oras attach and push by @qweeah in #1237
New Contributors
- @testwill made their first contribution in #1121
- @katexochen made their first contribution in #1118
Full Changelog: v1.1.0...v1.2.0-beta.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.