v2.0.0-rc.3
Pre-release
Pre-release
New Features
- Added utility functions for content descriptors
- content.NewDescriptorFromBytes() to generate a descriptor from a byte slice
- content.Equal() to compare if two descriptors point to the same content
- Simplified API
- registry/remote/auth.StaticCredential() for easier and secure credential setting for simple scenarios
- oras.Fetch() to fetch content as a reader via a reference string from any target
- oras.FetchBytes() to fetch content as a byte slice via a reference string from any target
- oras.PushBytes() to push a byte slice to any target
- oras.TagN() to tag content with multiple tags
- oras.TagBytes() to push a byte slice to any target and tag it with a single tag
- oras.TagBytesN() to push a byte slice to any target and tag it with multiple tags
- Extracted content.Tagger interface from content.TagResolver
Deprecation
- BREAKING CHANGE Moved
content.ErrSizeExceedLimittoerrdef.ErrSizeExceedsLimit - BREAKING CHANGE Removed
registry.ReferenceTagger - BREAKING CHANGE Removed
registry/remote.Repository.TagReference()
Bug Fixes
- fix #225: Pulling from AWS ECR fails with error
empty response Docker-Content-Digest - fix #294: Pushing artifacts to Google GAR fails with error
Error PUT ... unexpected status code 400: Bad Request - fix potential security vulnerabilities: #289, #291
Other Changes
- BREAKING CHANGE Updated support window to Go
1.18and1.19 - BREAKING CHANGE Reduced interface requirements in corresponding functions of the package
orastoReadOnlyinterfaces - BREAKING CHANGE
Manifest()of registry.Repository returns a ManifestStore instead of a BlobStore - Improved error message on planform mismatch
Detailed Commits
- build: update support window to Go 1.18, 1.19 by @wangxiaoxuan273 in #270
- refactor: Small refactor of reference module and tests by @nima in #279
- fix: oras pull error
empty response Docker-Content-Digestby @nima in #237 - refactor!: add read-only interfaces by @Wwwsylvia in #283
- feat: add utility methods for creating and comparing OCI descriptors by @wangxiaoxuan273 in #281
- fix: remove
+jsonencoding from the default config media type by @Wwwsylvia in #288 - feat!: support
oras.Fetchandoras.FetchBytesby @Wwwsylvia in #282 - feat: add a utility method for specifying static credentials by @wangxiaoxuan273 in #280
- refactor: improve error message on platform mismatch in order to distinguish platform not found and manifest not found by @lizMSFT in #292
- feat: Support
oras.PushBytesandoras.TagBytesby @Wwwsylvia in #293 - fix: Revert "Upload empty blob when packing" by @Wwwsylvia in #295
- fix: Revert "fix: remove
+jsonencoding from the default config media type" by @Wwwsylvia in #297 - fix: use a default value when
Concurrencyis not specified by @Wwwsylvia in #296 - feat!: Support specifying
MaxMetadataBytesoption fororas.Resolveandoras.Copyby @Wwwsylvia in #299 - feat:
Repository.Manifest()now returns aManifestStoreby @Wwwsylvia in #300 - feat!: support
oras.TagNby @Wwwsylvia in #301 - feat: implement ReferenceParser for manifestStore by @Wwwsylvia in #305
New Contributors
Full Changelog: v2.0.0-rc.2...v2.0.0-rc.3