oci-client
An OCI implementation in Rust
0.17.0
6.5M downloads/mo
#3975 most downloaded on crates.io
oras-project/rust-oci-client
What this package is like to depend on
Last release 3 months ago
19 May 2026
Release timing varies
gaps range from 2 weeks to 9 months
Nearly every release is documented
notes for 9 of 9 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
9 releases · first in 2024
3 releases in the last 12 months
see the full history below
Release timeline
9 releases · Aug 2024 to May 2026Releases
latest 9-
0.17.019 May 2026Release notes
Open source →What's Changed
- chore(deps): Update hmac requirement from 0.12 to 0.13 by @dependabot[bot] in #251
- chore(deps): Update sha2 requirement from 0.10 to 0.11 by @dependabot[bot] in #252
- client: report manifest list digest for multi-arch images by @fitzthum in #250
- chore(deps): Update sha2 requirement from 0.10 to 0.11 by @dependabot[bot] in #255
- chore(deps): Bump EmbarkStudios/cargo-deny-action from 2.0.15 to 2.0.17 by @dependabot[bot] in #257
- feat: add catalog endpoint for listing repositories by @michael-herwig in #246
- fix implement referrers fallback by @flavio in #259
- chore(deps): Bump EmbarkStudios/cargo-deny-action from 2.0.17 to 2.0.18 by @dependabot[bot] in #258
- feat(v1.1): Add
artifactTypeproperty toOciDescriptor(fixes #248) by @michaelvanstraten in #249
New Contributors
- @fitzthum made their first contribution in #250
- @michaelvanstraten made their first contribution in #249
Full Changelog: v0.16.1...v0.17.0
-
0.16.105 Mar 2026Release notes
Open source →What's Changed
- Remove unnecessary crypto features from jsonwebtoken dependency by @tomasol in #241
- chore(deps): Update testcontainers requirement from 0.26 to 0.27 by @dependabot[bot] in #242
- chore(deps): Update oci-spec requirement from 0.8 to 0.9 by @dependabot[bot] in #243
- Fix data loss in pull_blob due to missing flush by @michael-herwig in #244
- fix: Insert opaque tokens into cache again by @viccuad in #245
New Contributors
- @tomasol made their first contribution in #241
- @michael-herwig made their first contribution in #244
Full Changelog: v0.16.0...v0.16.1
-
0.16.027 Jan 2026Release notes
Open source →What's Changed
- chore(deps): Update testcontainers requirement from 0.24 to 0.25 by @dependabot[bot] in #207
- chore(deps): Update rstest requirement from 0.25.0 to 0.26.1 by @dependabot[bot] in #208
- add push blob async stream support by @lambinoo in #204
- refactor(client)!: Reduces allocations of streaming data by @thomastaylor312 in #209
- chore(deps): Bump actions/checkout from 4.2.2 to 5.0.0 by @dependabot[bot] in #211
- chore: replace jwt with jsonwebtoken by @BradLugo in #210
- chore deps update dev deps by @flavio in #213
- ci: sanitize GitHub actions by @flavio in #220
- chore(deps): Bump actions/checkout from 5.0.0 to 6.0.0 by @dependabot[bot] in #227
- chore(deps): Bump EmbarkStudios/cargo-deny-action from 2.0.13 to 2.0.14 by @dependabot[bot] in #230
- chore(deps): Bump actions/checkout from 6.0.0 to 6.0.1 by @dependabot[bot] in #231
- chore(deps): Update testcontainers requirement from 0.25 to 0.26 by @dependabot[bot] in #229
- ci: switch to cargo-deny by @flavio in #233
- chore(deps): Bump EmbarkStudios/cargo-deny-action from 2.0.14 to 2.0.15 by @dependabot[bot] in #234
- Switch to oci_spec's arch and os implementation by @toksdotdev in #228
- str -> Digest in calculate_and_validate by @stepancheg in #222
- Update reqwest requirement from 0.12 to 0.13 by @SuperTux88 in #238
- Remove unnecessary Unpin bounds by @stepancheg in #223
- Filter empty DOCKER_DIGEST_HEADER by @rylev in #192
- chore(deps): Update jsonwebtoken requirement from 9.3 to 10.2 by @dependabot[bot] in #225
- chore(deps): Bump actions/checkout from 6.0.1 to 6.0.2 by @dependabot[bot] in #239
- chore: prepare the 0.16.0 release by @flavio in #240
New Contributors
- @lambinoo made their first contribution in #204
- @BradLugo made their first contribution in #210
- @toksdotdev made their first contribution in #228
Full Changelog: v0.15.0...v0.16.0
-
0.15.015 May 2025Release notes
Open source →What's Changed
- Add artifactType to OciImageIndex by @rylev in #182
- chore(deps): Bump actions/checkout from 4.2.1 to 4.2.2 by @dependabot in #183
- Add subject to OciImageManifest by @fibonacci1729 in #181
- chore: Updates thiserror and fixes cargo deny by @thomastaylor312 in #185
- chore(deps): Update itertools requirement from 0.13.0 to 0.14.0 by @dependabot in #188
- chore(deps): Update rstest requirement from 0.23.0 to 0.24.0 by @dependabot in #186
- chore(deps): Update axum requirement from 0.7 to 0.8 by @dependabot in #187
- feat: Direct Bearer Token Authentication by @prabhpreet in #191
- chore(deps): Update rstest requirement from 0.24.0 to 0.25.0 by @dependabot in #193
- feat: add HTTP proxy for client by @Xynnn007 in #194
- Improve error message by @aochagavia in #196
- Print username in get-manifest command by @stepancheg in #200
- chore(deps): Update oci-spec requirement from 0.7.0 to 0.8.1 by @dependabot in #201
- chore(deps): Update testcontainers requirement from 0.23 to 0.24 by @dependabot in #202
New Contributors
- @fibonacci1729 made their first contribution in #181
- @prabhpreet made their first contribution in #191
- @stepancheg made their first contribution in #200
Full Changelog: v0.14.0...v0.15.0
-
0.14.025 Oct 2024Release notes
Open source →What's Changed
- chore(deps): Bump actions/checkout from 4.2.0 to 4.2.1 by @dependabot in #174
- feat: Relax location_header_to_url path handling by @joonas in #175
- Add pull referrers to Client by @rylev in #178
- fix: Set Content-Length header on monolithic push session request by @joonas in #176
- feat: Add option for using monolithic push by @joonas in #177
- chore: Bump to version 0.14 by @thomastaylor312 in #180
New Contributors
Full Changelog: v0.13.0...v0.14.0
-
0.13.007 Oct 2024Release notes
Open source →What's Changed
- client: add support to set https_proxy/no_proxy for client by @Xynnn007 in #160
- chore(deps): Update testcontainers requirement from 0.20 to 0.22 by @dependabot in #161
- Docs.rs badge, update crate name. by @bddap in #166
- chore(deps): Bump actions/checkout from 4.1.7 to 4.2.0 by @dependabot in #170
- chore(deps): Update testcontainers requirement from 0.22 to 0.23 by @dependabot in #169
- chore(deps): Update rstest requirement from 0.22.0 to 0.23.0 by @dependabot in #168
- Allow doing start-end RANGE requests against blobs by @thundergolfer in #163
- fix(client): Return the digest header for partial responses by @thomastaylor312 in #171
- remove reference by @flavio in #164
- Release 0.13.0 by @flavio in #173
New Contributors
- @bddap made their first contribution in #166
- @thundergolfer made their first contribution in #163
Full Changelog: v0.12.1...v0.13.0
-
0.12.115 Aug 2024Release notes
Open source →What's Changed
- fix(blob): Makes sure
SizedStreamimplsStreamby @thomastaylor312 in #158
Full Changelog: v0.12.0...v0.12.1
- fix(blob): Makes sure
-
0.12.009 Aug 2024Release notes
Open source →What's Changed
- feat(client/token_cache): allow configuration of default token expiration by @vdice in #122
- ref(client): Debug, Eq, Hash, PartialEq for ImageLayer; convert annotations to BTreeMap by @vdice in #121
- feat(errors): Allow to serialize errors with serde by @SuperTux88 in #123
- Create new LayerDescriptor for pulling blobs by @SuperTux88 in #124
- chore(deps): Update rstest requirement from 0.18.1 to 0.19.0 by @dependabot in #125
- chore(deps): Bump actions/checkout from 4.1.2 to 4.1.4 by @dependabot in #128
- chore(deps): Update testcontainers requirement from 0.15 to 0.16 by @dependabot in #127
- chore(deps): Bump actions/checkout from 4.1.4 to 4.1.6 by @dependabot in #130
- chore(deps): Update itertools requirement from 0.12.1 to 0.13.0 by @dependabot in #131
- chore(deps): Update rstest requirement from 0.19.0 to 0.21.0 by @dependabot in #136
- chore(deps): update to latest version of testcontainers by @flavio in #135
- fix(deny): Fixes license issues with deny check by @thomastaylor312 in #138
- feat(client): allow to set read_timeout and connect_timeout by @SuperTux88 in #137
- chore(deps): Bump actions/checkout from 4.1.6 to 4.1.7 by @dependabot in #139
- ref(*): Updates the repo to reflect its new location by @thomastaylor312 in #141
- feat(client): allow to set the User-Agent used by the client by @SuperTux88 in #143
- chore(deps): Update testcontainers requirement from 0.17 to 0.19 by @dependabot in #144
- chore(deps): Update testcontainers requirement from 0.19 to 0.20 by @dependabot in #146
- Partial Requests and some other pull refactorings by @SuperTux88 in #145
- Add namespace query parameter for registry mirroring/proxying by @SuperTux88 in #148
- feat(client): Make store_auth_if_needed public by @SuperTux88 in #150
- chore(deps): Update rstest requirement from 0.21.0 to 0.22.0 by @dependabot in #154
- ref(*)!: Renames the crate to oci-client by @thomastaylor312 in #151
- fix(client): Validate digests when header is set by @thomastaylor312 in #152
- chore(*): Bumps crate version and some dependencies by @thomastaylor312 in #156
New Contributors
- @SuperTux88 made their first contribution in #123
Full Changelog: v0.11.0...v0.12.0
-
0.11.008 Aug 2024Release notes
Open source →What's Changed
- client is now clonable and can be used in concurrent manner by @aviramha in #109
- fix(*): Fixes our use of deprecated functions by @thomastaylor312 in #113
- Pull alternative urls by @seanyoung in #108
- Refactor auth - add re-auth mechanism by @aviramha in #111
- Implement Client::pull_manifest_raw by @MathiasPius in #115
- chore(deps): Bump actions/checkout from 4.1.1 to 4.1.2 by @dependabot in #117
- chore(deps): update reqwest and http by @flavio in #119
- Tag 0.11 release by @flavio in #120
Full Changelog: v0.10.0...v0.11.0