Skip to content

Releases: shizhMSFT/oras-dotnet-cli

v0.4.0 — Full Command Implementation

Choose a tag to compare

@shizhMSFT shizhMSFT released this 06 Mar 16:27
  • release: v0.4.0 — full command implementation (51f9e3d)
  • docs: add CI formatting learning to Dallas history (b235e51)
  • style: fix whitespace formatting for CI compliance (aa84e51)
  • squad: Merge decision inbox, archive sprint batch decisions (b037a5b)
  • feat: implement all 18 CLI commands with real OrasProject.Oras v0.5.0 API calls (c155f71)

Full Changelog: v0.3.0...v0.4.0

v0.3.0 — TUI Overhaul

Choose a tag to compare

@shizhMSFT shizhMSFT released this 06 Mar 15:32
  • release: v0.3.0 — TUI overhaul with Unicode art, brand colors, and polished navigation (ac74607)
  • docs: update TUI documentation for v0.3.0 release (e9cfaa2)
  • style: remove blank line between menu title and options (68b7c43)
  • Revert "style: remove extra blank line before grouped menus" (2cc8a0c)
  • style: remove extra blank line before grouped menus (9c431f9)
  • style: use exact ORAS brand colors for banner letters (8820970)
  • style: align menu options by grouping all choices consistently (8fdb61e)
  • style: match TUI banner colors to ORAS brand purple palette (89f7577)
  • refactor: replace FigletText banner with Unicode block art and color gradient (29c7cf4)
  • fix: make menu separators non-selectable and show all registries (0a1ccf9)
  • feat: add visual separator before Quit/Back in TUI menus (c0ebcea)
  • feat: enable cyclic wrap-around navigation in all TUI menus (2eed105)
  • refactor: replace ASCII indicators with Unicode symbols in TUI (7193641)
  • refactor: convert artifact group to sub-menu in TUI dashboard (8dc6f07)
  • Add critical unit tests for Tier 1 and Tier 2 targets (e9dc515)
  • refactor: extract shared utilities, remove dead code, standardize patterns (82f1f5c)
  • Fix DI patterns and helper timeout (d930ed9)
  • Propagate cancellation tokens in CLI commands (67809f7)
  • Refactor TUI artifact actions (022467f)
  • Fix AOT-safe output formatting (4c362d7)
  • chore: remove unused .copilot example config (008b79a)
  • feat: group artifact operations in TUI dashboard menu (115e7a1)
  • fix: use source-generated JSON for AOT-compatible credential serialization (6500814)
  • [Scribe] Log orchestration & merge decisions: credential helper list protocol (be16e27)
  • docs: record original project prompt in CONTRIBUTING.md (4dba3af)
  • fix: show registries from credential helpers in TUI dashboard (b5ac13c)
  • chore: remove stale src/oras directory (4f494a6)
  • chore: remove NuGet publishing from release pipeline (c942845)
  • docs(.squad): v0.2.1 release history and decision (391a6a6)

Full Changelog: v0.2.1...v0.3.0

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 06 Mar 11:29
  • docs: bump version to v0.2.1 and document TUI bug fixes (2367841)
  • docs(.squad): orchestration + session logs for v0.2.1 bugfix release (bc366a5)
  • fix: left-align ORAS FigletText banner (3289a36)
  • fix: escape Spectre.Console markup indicators and set UTF-8 output encoding (8091903)

Full Changelog: v0.2.0...v0.2.1

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 06 Mar 11:02
  • feat: TUI redesign -- FigletText header, context menus, caching, ASCII-safe indicators, fully interactive operations (7e81a61)
  • docs(.squad): merge decision inbox and write orchestration logs (1ed5cb3)
  • docs: fix broken links, remove unsupported dotnet tool install references (e520792)

Full Changelog: v0.1.3...v0.2.0

v0.1.3

Choose a tag to compare

@github-actions github-actions released this 06 Mar 09:02

oras .NET CLI v0.1.3

Three critical features land: copy, backup, and restore — with full TUI support.

What's New

📋 oras copy — Copy Artifacts Between Registries

Copy OCI artifacts between registries with live progress tracking. Supports separate source/destination credentials for cross-registry workflows.

oras copy ghcr.io/myorg/app:v1.0 docker.io/myorg/app:v1.0
oras copy ghcr.io/myorg/app:v1.0 ecr.aws/myorg/app:v1.0 --recursive

Options: --recursive (include referrers), --concurrency, --from-username/--from-password (source auth), --platform

💾 oras backup — Save Artifacts Locally (New — .NET CLI exclusive)

Back up registry artifacts to a local OCI layout directory or tar archive. Perfect for air-gapped environments, disaster recovery, and offline workflows.

oras backup ghcr.io/myorg/app:v1.0 --output ./backup
oras backup ghcr.io/myorg/app:v1.0 --output backup.tar.gz --recursive

🔄 oras restore — Push Local Backups to Registry (New — .NET CLI exclusive)

Restore artifacts from a local backup to any OCI-compliant registry.

oras restore ./backup ghcr.io/myorg/app-restored:v1.0
oras restore backup.tar.gz ghcr.io/myorg/app:v1.0 --recursive

🖥️ TUI Interactive Workflows

All three commands are available from the TUI dashboard with guided prompts and real-time progress bars:

Select an action:
  Browse Registry
  Browse Repository Tags
  Login
❯ Copy Artifact
  Backup Artifact
  Restore Artifact
  Push Artifact
  Pull Artifact
  Tag Artifact
  Quit

Download

Platform File
Windows x64 oras-win-x64.zip
Windows ARM64 oras-win-arm64.zip
Linux x64 oras-linux-x64.tar.gz
Linux ARM64 oras-linux-arm64.tar.gz
macOS x64 (Intel) oras-osx-x64.tar.gz
macOS ARM64 (Apple Silicon) oras-osx-arm64.tar.gz

Full Changelog: v0.1.2...v0.1.3

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 06 Mar 08:35

oras .NET CLI v0.1.2

New TUI features for working with registries that don't support the catalog API — like ghcr.io.

What's New

🔍 Catalog-Less Registry Support

Registries like ghcr.io, ECR, and others don't expose the /v2/_catalog endpoint for listing repositories. Previously, the TUI browser would show "No repositories found" — a dead end.

Now the TUI:

  • Detects unsupported catalog and shows a clear message: "This registry does not support repository listing"
  • Always offers manual entry — select "Enter repository name..." to type a repository path (e.g., oras-project/oras) and jump directly to tag listing
  • Works seamlessly — the manual entry option appears alongside catalog results when available, and as the primary option when catalog is unavailable

📋 Browse Repository Tags (Dashboard Shortcut)

A new quick action on the TUI dashboard: "Browse Repository Tags". Enter a full reference like ghcr.io/oras-project/oras and jump straight to tag browsing — no catalog API required.

ext Select an action: ❯ Browse Registry Browse Repository Tags ← NEW Login Push Artifact ...

Example: Browsing ghcr.io

`�ash
$oras

→ Select "Browse Repository Tags"

→ Enter: ghcr.io/oras-project/oras

→ Browse tags: v1.2.1, v1.2.0, v1.1.0, ...

`

Download

Platform File
Windows x64 oras-win-x64.zip
Windows ARM64 oras-win-arm64.zip
Linux x64 oras-linux-x64.tar.gz
Linux ARM64 oras-linux-arm64.tar.gz
macOS x64 (Intel) oras-osx-x64.tar.gz
macOS ARM64 (Apple Silicon) oras-osx-arm64.tar.gz

Full Changelog: v0.1.1...v0.1.2

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 06 Mar 07:56

oras .NET CLI v0.1.1

Patch release updating documentation — TUI now launches via oras with no arguments (not oras tui).

What's Changed

  • TUI launch UX — Running oras with no arguments launches the interactive TUI dashboard directly. There is no tui subcommand. All docs and guides have been updated to reflect this.
  • Documentation fixes — Updated installation guide, migration guide, TUI showcase, and TUI guide to use the correct invocation.

Upgrade from v0.1.0

This is a documentation-only change — the binary behavior is identical to v0.1.0. Upgrade by downloading the new binary:

`�ash

Linux/macOS

curl -LO https://github.com/shizhMSFT/oras-dotnet-cli/releases/download/v0.1.1/oras-linux-x64.tar.gz
tar -xzf oras-linux-x64.tar.gz && chmod +x oras-linux-x64
sudo mv oras-linux-x64 /usr/local/bin/oras
oras version
`

Download

Platform File
Windows x64 oras-win-x64.zip
Windows ARM64 oras-win-arm64.zip
Linux x64 oras-linux-x64.tar.gz
Linux ARM64 oras-linux-arm64.tar.gz
macOS x64 (Intel) oras-osx-x64.tar.gz
macOS ARM64 (Apple Silicon) oras-osx-arm64.tar.gz

Full Changelog: v0.1.0...v0.1.1

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 06 Mar 07:52

oras .NET CLI v0.1.0

The first release of the oras .NET CLI — a cross-platform .NET 10 reimagining of the Go oras CLI for managing OCI artifacts in container registries.

⚠️ Early release — some commands have stubbed implementations. See Known Limitations for details.

Highlights

  • ��️ Interactive TUI — run oras with no arguments to launch a rich terminal dashboard powered by Spectre.Console, featuring registry browsing, manifest inspection, and live progress
  • 📦 20 CLI commands — full command parity with the Go CLI (push, pull, attach, discover, copy, login/logout, manifest/blob/repo/tag operations, resolve)
  • 🔐 Docker-compatible credentials — seamlessly uses ~/.docker/config.json and Docker credential helpers; existing Docker/Go CLI credentials work automatically
  • 🌍 Cross-platform binaries — self-contained single-file executables for 6 platforms (no .NET runtime required)
  • 📊 Rich terminal output — colored tables, tree views, real-time progress bars with transfer speed and ETA

Fully Implemented Commands

Command Description
oras login Authenticate with a container registry
oras logout Remove registry credentials
oras version Show CLI version, library version, .NET runtime, and platform

Download

Platform File
Windows x64 oras-win-x64.zip
Windows ARM64 oras-win-arm64.zip
Linux x64 oras-linux-x64.tar.gz
Linux ARM64 oras-linux-arm64.tar.gz
macOS x64 (Intel) oras-osx-x64.tar.gz
macOS ARM64 (Apple Silicon) oras-osx-arm64.tar.gz

Quick Start

`�ash

Linux/macOS

curl -LO https://github.com/shizhMSFT/oras-dotnet-cli/releases/download/v0.1.0/oras-linux-x64.tar.gz
tar -xzf oras-linux-x64.tar.gz && chmod +x oras-linux-x64
sudo mv oras-linux-x64 /usr/local/bin/oras
oras version
`

Built With

Links

v0.1.0-alpha.1

v0.1.0-alpha.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 06 Mar 07:44