Skip to content

Releases: oras-project/oras-dotnet

v0.5.0

19 Feb 18:52
v0.5.0
84309e7

Choose a tag to compare

The NuGet package is available at nuget.org.

Breaking Changes

  • Change Copy and CopyGraph source parameter from ITarget to IReadOnlyTarget (#306)
  • Change CopyGraph destination parameter from ITarget to IStorage (#311)
  • Move CopyGraphOptions to the OrasProject.Oras namespace (#311)
  • Extend IRepository to include IBlobLocationProvider (#319)
  • Extend IRepository to include FetchReferrersAsync overloads (#322)
  • Add new overloads to IReferenceFetchable and IResolvable for custom headers support (#325)
  • Add new SendAsync overload to IClient for partition and redirect control (#319, #331)
  • Expand auth Cache method signatures with optional partitionId parameter (#331)

New Features

  • Add PreCopy, PostCopy, and OnCopySkipped callbacks to CopyGraphOptions (#256)
  • Add CopyOptions class with proxy improvements (#262)
  • Standardize CancellationToken default values across all public APIs (#290)
  • Split Proxy into Proxy and ReferenceProxy for clearer separation of concerns (#305)
  • Add ExtendedCopyGraphAsync for referrer-aware content graph copy (#311)
  • Add GetBlobLocationAsync API for retrieving blob redirect URLs from registries (#319)
  • Expose FetchReferrersAsync on IRepository for polymorphic usage and DI scenarios (#322)
  • Add FetchOptions and ResolveOptions for passing custom HTTP headers (#325)
  • Add authentication cache partitioning for multi-tenant scenarios (#331)

Bug Fixes

  • Fix stream exhaustion when computing digest from response body without Docker-Content-Digest header (#339)

Other Changes

  • Bump xunit.runner.visualstudio from 3.1.4 to 3.1.5 by @app/dependabot in #276
  • Bump Microsoft.NET.Test.Sdk from 17.14.1 to 18.0.0 by @app/dependabot in #277
  • build(deps): Bump github/codeql-action from 3 to 4 by @app/dependabot in #278
  • build(deps): downgrade dependencies to 8.* versions for max compatibility by @Wwwsylvia in #279
  • build(deps): Bump apache/skywalking-eyes from 0.7.0 to 0.8.0 by @app/dependabot in #293
  • Bump Microsoft.CodeAnalysis.NetAnalyzers from 9.0.0 to 10.0.100 by @app/dependabot in #295
  • Bump Microsoft.NET.Test.Sdk from 18.0.0 to 18.0.1 by @app/dependabot in #299
  • tests: improve code coverage for LimitedReadStream by @sajayantony in #307
  • build(deps): Bump actions/checkout from 5 to 6 by @app/dependabot in #308
  • docs: add Sajay Antony as a maintainer by @shizhMSFT in #309
  • chore: remove unused using directives by @sajayantony in #310
  • Bump Microsoft.CodeAnalysis.NetAnalyzers from 10.0.100 to 10.0.101 by @app/dependabot in #312
  • docs: improve contributing guide by @wangxiaoxuan273 in #314
  • Bump Microsoft.CodeAnalysis.NetAnalyzers from 10.0.101 to 10.0.102 by @app/dependabot in #320
  • Add FetchReferrersAsync methods to IRepository interface by @ridhoq in #322
  • docs: add interface testing and line length guidance by @sajayantony in #323
  • docs: add missing XML documentation for FetchReferrersAsync methods by @sajayantony in #324
  • Bump Microsoft.CodeAnalysis.NetAnalyzers from 10.0.102 to 10.0.103 by @app/dependabot in #337
  • chore: fix trailing whitespace lint errors by @akashsinghal in #341
  • Bump coverlet.msbuild from 6.0.4 to 8.0.0 by @app/dependabot in #345

All Changes

  • feat!: add more fields to CopyGraphOptions by @wangxiaoxuan273 in #256
  • feat: improve proxy and enable CopyOptions by @wangxiaoxuan273 in #262
  • Bump xunit.runner.visualstudio from 3.1.4 to 3.1.5 by @app/dependabot in #276
  • Bump Microsoft.NET.Test.Sdk from 17.14.1 to 18.0.0 by @app/dependabot in #277
  • build(deps): Bump github/codeql-action from 3 to 4 by @app/dependabot in #278
  • build(deps): downgrade dependencies to 8.* versions for max compatibility by @Wwwsylvia in #279
  • feat: make default value argument for cancellation token consistent across all APIs by @cshung in #290
  • build(deps): Bump apache/skywalking-eyes from 0.7.0 to 0.8.0 by @app/dependabot in #293
  • Bump Microsoft.CodeAnalysis.NetAnalyzers from 9.0.0 to 10.0.100 by @app/dependabot in #295
  • Bump Microsoft.NET.Test.Sdk from 18.0.0 to 18.0.1 by @app/dependabot in #299
  • feat: split Proxy into Proxy and ReferenceProxy by @wangxiaoxuan273 in #305
  • fix!: change the src of Copy methods to readonly types by @wangxiaoxuan273 in #306
  • tests: improve code coverage for LimitedReadStream by @sajayantony in #307
  • build(deps): Bump actions/checkout from 5 to 6 by @app/dependabot in #308
  • docs: add Sajay Antony as a maintainer by @shizhMSFT in #309
  • chore: remove unused using directives by @sajayantony in #310
  • feat!: add ExtendedCopyGraph and ExtendedCopyGraphOptions by @wangxiaoxuan273 in #311
  • Bump Microsoft.CodeAnalysis.NetAnalyzers from 10.0.100 to 10.0.101 by @app/dependabot in #312
  • docs: improve contributing guide by @wangxiaoxuan273 in #314
  • feat!: support returning blob location by @lizMSFT in #319
  • Bump Microsoft.CodeAnalysis.NetAnalyzers from 10.0.101 to 10.0.102 by @app/dependabot in #320
  • Add FetchReferrersAsync methods to IRepository interface by @ridhoq in #322
  • docs: add interface testing and line length guidance by @sajayantony in #323
  • docs: add missing XML documentation for FetchReferrersAsync methods by @sajayantony in #324
  • feat!: add custom headers support to fetch/resolve APIs by @akashsinghal in #325
  • feat!: add authentication cache partitioning by @akashsinghal in #331
  • Bump Microsoft.CodeAnalysis.NetAnalyzers from 10.0.102 to 10.0.103 by @app/dependabot in #337
  • fix: buffer response body in CalculateDigestFromResponseAsync to preserve stream readability by @akashsinghal in #339
  • chore: fix trailing whitespace lint errors by @akashsinghal in #341
  • feat: add release automation workflows by @akashsinghal in #344
  • Bump coverlet.msbuild from 6.0.4 to 8.0.0 by @app/dependabot in #345

Full Changelog: v0.4.0...v0.5.0

v0.4.0

26 Sep 02:01
4480c59

Choose a tag to compare

The NuGet package is available at nuget.org.

Breaking Changes

  • DescriptorExtension is no longer publicly accessible
  • Move OrasProject.Oras.Registry.Remote.ResponseException.Error to OrasProject.Oras.Registry.Remote.Error
  • Move exception types into dedicated namespaces (see #247 for details)
  • Rename extension classes for API consistency (see #246 for details)

New Features

  • Add IMemoryCache injection support to AuthClient for configurable caching
  • Improve ResponseException message formatting for clearer diagnostics

Bug Fixes

  • No longer throw an exception when service is missing in the Www-Authenticate header

Other Changes

Detailed Commits

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

v0.3.0

10 Jun 07:10
47a7160

Choose a tag to compare

The NuGet package is available at here.

Breaking Changes

  • Refactor several API signatures to align with .NET conventions
  • Remove HttpClientWithBasicAuth

New Features

  • Conform to image-spec v1.1.1 and distribution-spec v1.1.1
  • Add PackManifestAsync for packing OCI manifests
  • Introduce a comprehensive authentication client supporting both basic auth and bearer auth
  • Enable concurrency control via CopyGraphOptions.MaxConcurrency for for copy operations and enhance performance
  • Add a repository option MaxMetadataBytes for limiting the maximum size of response that can be loaded into memory

Bug Fixes

  • Fix #205: Null tag list was not handled in ListTagsAsync

Other Changes

  • Clean up code
  • Update dependencies

Detailed Commits

  • build(deps): Bump xunit from 2.9.1 to 2.9.2 in /tests/OrasProject.Oras.Tests by @dependabot in #146
  • build(deps): Bump System.Text.Json from 8.0.4 to 8.0.5 in /tests/OrasProject.Oras.Tests by @dependabot in #148
  • build(deps): Bump System.Text.Json from 8.0.4 to 8.0.5 in /src/OrasProject.Oras by @dependabot in #147
  • chore(workflow): set code coverage threshold to 80% by @Wwwsylvia in #151
  • feat: Implement Pack Manifests by @nhu1997 in #149
  • feat(repository): mounting support by @leonardochaia in #152
  • build(deps): Bump System.Text.Json from 8.0.5 to 9.0.0 in /src/OrasProject.Oras by @dependabot in #156
  • build(deps): Bump Microsoft.NET.Test.Sdk from 17.11.1 to 17.12.0 in /tests/OrasProject.Oras.Tests by @dependabot in #166
  • refactor: overload DoPushAsync by @Wwwsylvia in #165
  • ci(codecov): change codecov argument due to upgrade to v5 by @pat-pan in #169
  • chore: adds CA2007 warning by @leonardochaia in #170
  • build(deps): Bump xunit.runner.visualstudio from 2.8.2 to 3.0.0 in /tests/OrasProject.Oras.Tests by @dependabot in #172
  • build(deps): Bump coverlet.msbuild from 6.0.2 to 6.0.3 in /tests/OrasProject.Oras.Tests by @dependabot in #173
  • feat(referrers): push manifest with subject by @pat-pan in #163
  • build(deps): Bump xunit from 2.9.2 to 2.9.3 in /tests/OrasProject.Oras.Tests by @dependabot in #175
  • build(deps): Bump xunit.runner.visualstudio from 3.0.0 to 3.0.1 in /tests/OrasProject.Oras.Tests by @dependabot in #176
  • build(deps): Bump System.Text.Json from 9.0.0 to 9.0.1 in /src/OrasProject.Oras by @dependabot in #177
  • build(deps): Bump System.Text.Json from 9.0.0 to 9.0.1 in /tests/OrasProject.Oras.Tests by @dependabot in #178
  • build(deps): Bump coverlet.msbuild from 6.0.3 to 6.0.4 in /tests/OrasProject.Oras.Tests by @dependabot in #179
  • build(deps): Bump xunit.runner.visualstudio from 3.0.1 to 3.0.2 in /tests/OrasProject.Oras.Tests by @dependabot in #181
  • build(deps): Bump Microsoft.NET.Test.Sdk from 17.12.0 to 17.13.0 in /tests/OrasProject.Oras.Tests by @dependabot in #183
  • build(deps): Bump System.Text.Json from 9.0.1 to 9.0.2 in /tests/OrasProject.Oras.Tests by @dependabot in #185
  • build(deps): Bump apache/skywalking-eyes from 0.6.0 to 0.7.0 by @dependabot in #182
  • feat(referrers): delete manifest with subject by @pat-pan in #174
  • feat(referrers): support referrers API by @pat-pan in #180
  • build(deps): Bump System.Text.Json from 9.0.2 to 9.0.3 in /src/OrasProject.Oras by @dependabot in #186
  • refactor!: refactor code to align with dotnet standards by @pat-pan in #190
  • chore(tests): clean up compiler warnings by @sajayantony in #191
  • chore(refactor): removed warnings and minor refactoring by @sajayantony in #195
  • chore: fix line endings and bom by @sajayantony in #198
  • build(deps): Bump System.Text.Json from 9.0.3 to 9.0.4 in /tests/OrasProject.Oras.Tests by @dependabot in #201
  • refactor: fix and reduce reference parsing exceptions by @sajayantony in #197
  • build(deps): Bump xunit.runner.visualstudio from 3.0.2 to 3.1.0 in /tests/OrasProject.Oras.Tests by @dependabot in #208
  • docs: add auth model design by @pat-pan in #188
  • fix: support image spec and distribution spec v1.1.1 by @pat-pan in #211
  • feat(auth): implement bearer token authentication client by @pat-pan in #200
  • chore: clean up code to fix warnings by @Wwwsylvia in #214
  • feat(repository): implement MaxMetadataBytes by @wju-MSFT in #216
  • feat(copy): improve copy performance by @pat-pan in #213
  • refactor: refactor credential resolver for auth client by @Wwwsylvia in #217
  • refactor: optimize stream usage by @Wwwsylvia in #215
  • build(deps): Bump System.Text.Json from 9.0.4 to 9.0.5 by @dependabot in #220
  • fix: test null tags that may be return for repo without tags by @Fassino in #206

New Contributors

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

v0.2.1

26 Sep 01:09
2445b3d

Choose a tag to compare

NuGet package is available at nuget.org.

Bug Fixes

  • Fix #132: The _state query parameter from the blob upload response was accidentally discarded
  • Fix #133, #143: The Docker-Content-Digest header was not properly checked

Detailed Commits

  • build(deps): Bump xunit from 2.6.5 to 2.6.6 in /tests/OrasProject.Oras.Tests by @dependabot in #107
  • build(deps): Bump codecov/codecov-action from 3 to 4 by @dependabot in #108
  • build(deps): Bump Microsoft.NET.Test.Sdk from 17.8.0 to 17.9.0 in /tests/OrasProject.Oras.Tests by @dependabot in #109
  • build(deps): Bump xunit.runner.visualstudio from 2.5.6 to 2.5.7 in /tests/OrasProject.Oras.Tests by @dependabot in #113
  • build(deps): Bump coverlet.msbuild from 6.0.0 to 6.0.1 in /tests/OrasProject.Oras.Tests by @dependabot in #114
  • build(deps): Bump xunit from 2.6.6 to 2.7.0 in /tests/OrasProject.Oras.Tests by @dependabot in #112
  • build(deps): Bump System.Text.Json from 8.0.1 to 8.0.2 in /tests/OrasProject.Oras.Tests by @dependabot in #110
  • build(deps): Bump actions/configure-pages from 4 to 5 by @dependabot in #118
  • build(deps): Bump coverlet.msbuild from 6.0.1 to 6.0.2 in /tests/OrasProject.Oras.Tests by @dependabot in #117
  • build(deps): Bump System.Text.Json from 8.0.2 to 8.0.3 in /tests/OrasProject.Oras.Tests by @dependabot in #115
  • bump(ci): add codecov token by @wangxiaoxuan273 in #120
  • build(deps): Bump xunit from 2.7.0 to 2.7.1 in /tests/OrasProject.Oras.Tests by @dependabot in #121
  • build(deps): Bump apache/skywalking-eyes from 0.5.0 to 0.6.0 by @dependabot in #119
  • build(deps): Bump xunit.runner.visualstudio from 2.5.7 to 2.5.8 in /tests/OrasProject.Oras.Tests by @dependabot in #122
  • build(deps): Bump xunit.runner.visualstudio from 2.5.8 to 2.8.0 in /tests/OrasProject.Oras.Tests by @dependabot in #123
  • build(deps): Bump xunit from 2.7.1 to 2.8.0 in /tests/OrasProject.Oras.Tests by @dependabot in #124
  • build(deps): Bump xunit from 2.8.0 to 2.8.1 in /tests/OrasProject.Oras.Tests by @dependabot in #127
  • build(deps): Bump xunit.runner.visualstudio from 2.8.0 to 2.8.1 in /tests/OrasProject.Oras.Tests by @dependabot in #126
  • build(deps): Bump Microsoft.NET.Test.Sdk from 17.9.0 to 17.10.0 in /tests/OrasProject.Oras.Tests by @dependabot in #125
  • build(deps): Bump System.Text.Json from 8.0.3 to 8.0.4 in /src/OrasProject.Oras by @dependabot in #130
  • build(deps): Bump xunit from 2.8.1 to 2.9.0 in /tests/OrasProject.Oras.Tests by @dependabot in #128
  • build(deps): Bump xunit.runner.visualstudio from 2.8.1 to 2.8.2 in /tests/OrasProject.Oras.Tests by @dependabot in #129
  • fix: use existing query params from blobstore response by @daniel-pebble in #136
  • chore: add editorconfig to enforce private and public member naming convention by @daniel-pebble in #137
  • build(deps): Bump Microsoft.NET.Test.Sdk from 17.10.0 to 17.11.0 in /tests/OrasProject.Oras.Tests by @dependabot in #138
  • build(deps): Bump Moq from 4.20.70 to 4.20.71 in /tests/OrasProject.Oras.Tests by @dependabot in #139
  • build(deps): Bump Microsoft.NET.Test.Sdk from 17.11.0 to 17.11.1 in /tests/OrasProject.Oras.Tests by @dependabot in #140
  • build(deps): Bump Moq from 4.20.71 to 4.20.72 in /tests/OrasProject.Oras.Tests by @dependabot in #141
  • build(deps): Bump xunit from 2.9.0 to 2.9.1 in /tests/OrasProject.Oras.Tests by @dependabot in #142

New Contributors

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

v0.2.0

15 Jan 08:47
c2c560c

Choose a tag to compare

NuGet Package is available at nuget.org.

New Features

  • BREAKING CHANGE: Reshaped oras-dotnet.
    • Classes are refactored to the namespace OrasProject.Oras and kept the similar structure as oras-go.
    • .NET Target framework is bumped to net8.0.
    • Code is upgraded to leverage the C# 12.0 language features.
    • Interfaces are re-designed to match dotnet / C# convention.
  • New Registry target implementation, interacting with the remote repository.
    • Only basic auth is supported in this release.
    • Token auth will be supported in future releases and is tracked in #36.

Other Changes

  • API documentation is available.
  • Improved general performance on the digest utility.

Detailed Commits

New Contributors

Full Changelog: v0.1.0...v0.2.0

v0.1.0

19 May 09:49
7bb7651

Choose a tag to compare

Features

oras-dotnet is the DotNet SDK for ORAS, enabling you to transfer artifacts from one place to another.

In the SDK, artifacts are modelled as Directed Acyclic Graphs (DAGs) stored in Content-Addressable Storages (CASs). Copying artifacts across repositories or generic targets is implemented as copying single-rooted DAGs across CASs.

The SDK provides the following features:

  • Interfaces
  • MemoryTarget which enables the retrieval and storage of artifacts in memory
  • Copy function which enables the copying of artifacts from one target implementation to another

Detailed Commits

New Contributors

Full Changelog: https://github.com/oras-project/oras-dotnet/commits/v0.1.0