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 manifestsoras manifest index create
to create a new index from existing manifestsoras manifest index update
to update an existing index manifest
- New flag
--artifact-platform
fororas push
to push artifacts with platform information
- New command set
- 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 error messages
- Improve diagnose experience
- Improve documentation
- Update dependencies
- Update to Golang
1.23.4
- Minor security enhancements
Detailed Commits
- bump: tag and release ORAS CLI v1.2.0 by @qweeah in #1393
- build(deps): bump golang.org/x/term from 0.20.0 to 0.21.0 by @dependabot in #1399
- chore: Remove deprecated Print method by @TerryHowe in #1398
- chore: Remove unused file by @TerryHowe in #1395
- chore: Update goreleaser to v6 and configuration to v2 by @TerryHowe in #1402
- refactor: Move printer to output package by @TerryHowe in #1394
- Update links in README.md by @bcho in #1408
- refactor: Clean up pull handlers by @TerryHowe in #1407
- build(deps): bump github.com/spf13/cobra from 1.8.0 to 1.8.1 by @dependabot in #1410
- refactor: Move verbose into printer object by @TerryHowe in #1406
- refactor: clean status prompts by @qweeah in #1409
- chore: Add format type text by @TerryHowe in #1397
- chore: Increase print test coverage by @TerryHowe in #1411
- refactor: Move descriptor logic to descriptor by @TerryHowe in #1413
- chore: Ignore e2e test go sum file by @TerryHowe in #1416
- refactor: Move generate content key method to descriptor by @TerryHowe in #1415
- refactor: Move two output functions to the output package by @TerryHowe in #1417
- fix(doc): resolve example error for
oras tag
by @qweeah in #1419 - build(ci): set codecov CLI version to avoid tokenless upload failure by @qweeah in #1421
- refactor: Pass printer to text handler by @TerryHowe in #1420
- refactor: Use printer object for output by @TerryHowe in #1426
- chore: Add json test coverage by @TerryHowe in #1425
- fix: Minor spelling error in test by @TerryHowe in #1429
- refactor: assembles printer in the common output option by @qweeah in #1428
- refactor: Handle stderr similar to stdout by @TerryHowe in #1427
- refactor: reduce printer instantiation & unify stdout/stderr usage by @qweeah in #1433
- build(ci): unset codecov CLI version by @qweeah in #1434
- fix: disable oras tag fallback to tag schema when tagging a referrer by @njucjc in #1435
- refactor: Create tag handlers by @TerryHowe in #1437
- chore: Remove last deprecated method by @TerryHowe in #1438
- refactor: add display handler for
cp
,tag
andmanifest push
by @qweeah in #1439 - chore(ux): improve error message when attaching without subject artifact by @qweeah in #1430
- build(deps): bump golang.org/x/term from 0.21.0 to 0.22.0 by @dependabot in #1440
- refactor: Move channel write logic to manager by @TerryHowe in #1445
- fix: variable name conflicts with built in function by @TerryHowe in #1448
- refactor: Isolate progress channel in Messenger by @TerryHowe in #1447
- refactor: Take private memory store out of test function by @TerryHowe in #1453
- chore: Bring back the print error by @TerryHowe in #1451
- fix: A couple small fixes to the descriptor test by @TerryHowe in #1452
- refactor: Create text copy handler by @TerryHowe in #1441
- refactor: replace error-ignored cobra output functions by @qweeah in #1454
- build(deps): bump github.com/onsi/gomega from 1.33.1 to 1.34.0 in /test/e2e by @dependabot in #1458
- build(deps): bump github.com/onsi/ginkgo/v2 from 2.19.0 to 2.19.1 in /test/e2e by @dependabot in #1462
- feature: Add manifest fetch documentation for digest by @TerryHowe in #1465
- fix: oras repo tags exlude-digest-tags documentation by @TerryHowe in #1467
- fix: Mention the resolve command in manifest fetch help by @TerryHowe in #1466
- refactor: increase test coverage for mac for tty tests by @TerryHowe in #1460
- refactor: Move testutils to general location by @TerryHowe in #1459
- refactor: Make mock fetcher generally available by @TerryHowe in #1455
- build(deps): bump golang.org/x/sync from 0.7.0 to 0.8.0 by @dependabot in #1468
- build(deps): bump github.com/onsi/ginkgo/v2 from 2.19.1 to 2.20.0 in /test/e2e by @dependabot in #1471
- build(deps): bump golang.org/x/term from 0.22.0 to 0.23.0 by @dependabot in #1470
- refactor: Successor getting with separation of concerns by @TerryHowe in #1443
- refactor: DRY up text_test by @TerryHowe in #1473
- docs: fix typo in help text of 'attach' command by @nmiyake in #1477
- chore: lint fixes for new lint by @TerryHowe in #1478
- chore: reset test coverage package list by @qweeah in #1482
- refactor: remove build constraint from testutils console by @TerryHowe in #1480
- build(deps): bump github.com/onsi/ginkgo/v2 from 2.20.0 to 2.20.1 in /test/e2e by @dependabot in #1486
- fix: copy prompt skipped was missing by @TerryHowe in #1484
- build(deps): bump github.com/onsi/gomega from 1.34.1 to 1.34.2 in /test/e2e by @dependabot in #1489
- build(deps): bump github.com/onsi/ginkgo/v2 from 2.20.1 to 2.20.2 in /test/e2e by @dependabot in #1488
- build(deps): bump github.com/Masterminds/sprig/v3 from 3.2.3 to 3.3.0 by @dependabot in #1491
- build: upgrade to Go
1.23.0
by @Wwwsylvia in #1493 - build(deps): bump golang.org/x/term from 0.23.0 to 0.24.0 by @dependabot in #1495
- feat: create index from existing manifests (index create) by @wangxiaoxuan273 in #1475
- fix: reference in the formatted output of
oras pull
is invalid by @wangxiaoxuan273 in #1496 - docs: add examples for --format by @wangxiaoxuan273 in #1497
- docs: improve the description of cp by @wangxiaoxuan273 in #1498
- feat: --output for
oras manifest index create
by @wangxiaoxuan273 in #1490 - feature: build binary for OS and arch by default by @TerryHowe in #1487
- feat: update existing index (index update) by @wangxiaoxuan273 in #1476
- feat:
--output
for oras manifestindex update
by @wangxiaoxuan273 in #1502 - feat:
--annotation
forindex create
by @wangxiaoxuan273 in #1499 - fix: Rename copy function to avoid built in collision by @TerryHowe in #1510
- refactor: create an interface for status console by @TerryHowe in #1481
- build(deps): bump golang.org/x/term from 0.24.0 to 0.25.0 by @dependabot in #1512
- fix: document pushing files with colon in name by @TerryHowe in #1508
- fix: update --add should add plain descriptor by @wangxiaoxuan273 in #1513
- feat: add platform option to push command by @TerryHowe in #1500
- chore: remove unneeded parse method by @TerryHowe in #1515
- fix: platform config type by @TerryHowe in #1518
- build(deps): bump github.com/onsi/ginkgo/v2 from 2.20.2 to 2.21.0 in /test/e2e by @dependabot in #1522
- build(deps): bump github.com/onsi/gomega from 1.34.2 to 1.35.0 in /test/e2e by @dependabot in #1521
- build(deps): bump github.com/onsi/gomega from 1.35.0 to 1.35.1 in /test/e2e by @dependabot in #1523
- feat(cmd/cp): add oci-layout-path flag by @mauriciovasquezbernal in #1507
- fix: force config media type when setting platform by @qweeah in #1519
- chore: Add e2e test for platform push and pull by @TerryHowe in #1520
- build(deps): bump golang.org/x/sync from 0.8.0 to 0.9.0 by @dependabot in #1527
- build(deps): bump golang.org/x/term from 0.25.0 to 0.26.0 by @dependabot in #1526
- fix(cp): avoid showing empty descriptor in progress bar by @qweeah in #1528
- refactor: status, metadata and content handlers for
manifest index
commands by @wangxiaoxuan273 in #1509 - chore(e2e): set go bin path by @qweeah in #1530
- docs: Improve ORAS diagnose experience by @FeynmanZhou in #1483
- build(deps): bump github.com/onsi/ginkgo/v2 from 2.21.0 to 2.22.0 in /test/e2e by @dependabot in #1532
- build(deps): bump github.com/onsi/gomega from 1.35.1 to 1.36.0 in /test/e2e by @dependabot in #1546
- fix(ut,windows): exclude pty build in Windows tests by @qweeah in #1541
- fix(ut): fix flaky console tests by @qweeah in #1544
- fix!: downgrade the global verbose flag by @Wwwsylvia in #1553
- feat: add OS/Arch information into oras version by @wangxiaoxuan273 in #1556
- chore: add Shiwei's GPG key by @shizhMSFT in #1561
- refactor: create tty copy handler by @TerryHowe in #1485
- docs: add experimental mark for examples by @qweeah in #1569
- build(deps): bump golang.org/x/sync from 0.9.0 to 0.10.0 by @dependabot in #1566
- build(deps): bump golang.org/x/term from 0.26.0 to 0.27.0 by @dependabot in #1565
- refactor: mark
--verbose
as deprecated by @Wwwsylvia in #1558 - feat: improve the format of --debug logs by @Wwwsylvia in #1559
- build(deps): bump golang and dependencies by @qweeah in #1572
New Contributors
- @bcho made their first contribution in #1408
- @njucjc made their first contribution in #1435
- @nmiyake made their first contribution in #1477
- @mauriciovasquezbernal made their first contribution in #1507
Full Changelog: v1.2.0...v1.3.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.