Skip to content

Commit a2b600a

Browse files
committed
Update README to reflect changes in version 0.5.4, including new features and architecture improvements
1 parent e3eff1b commit a2b600a

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

README.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,13 @@ This tool implements **streaming-based layer processing** using the OCI client l
2525
-**Local Caching**: Efficient caching system for faster subsequent operations
2626
-**Progress Monitoring**: Real-time feedback on transfer progress and layer sizes
2727

28-
## 🆕 What's New in 0.5.2
29-
30-
- **Push workflow orchestrator** – New `PushWorkflow` struct now coordinates input analysis, target inference, credential lookup, tar extraction, and the layer/config upload sequence. Each stage is its own method, making the CLI easier to extend while keeping the streaming guarantees the project is known for.
31-
- **Smarter destination & credential inference** – History- and tar-metadata-based target suggestions now live inside the workflow. The confirmation prompt remembers previously accepted registries, and credential lookup cleanly falls back to stored logins before asking for overrides.
32-
- **Large-layer telemetry** – Chunked uploads for 1GB+ layers emit richer progress, ETA, and throughput stats. We only keep a single chunk in memory and back off between medium-sized layers to stay friendly to registries with aggressive rate limits.
33-
- **Tar-first workflow** – A new `save` command exports local images directly from Docker/nerdctl/Podman, producing tars tailored for the streaming `push` flow. This replaces the older cache/pull/import commands with a simpler two-step experience.
34-
- **Tar importer refactor** – A dedicated `TarImporter` groups manifest parsing, layer extraction, digest calculation, and temporary-file management. Extraction progress for oversized layers mirrors the push progress bars so you can see streaming speeds end-to-end.
35-
- **Vendor cleanup** – Removed the old vendored OCI client copy and its tests; the workspace now relies solely on the published crates, which simplifies audits and shrinks the source tree.
28+
## 🆕 What's New in 0.5.4
29+
30+
- **Pipeline lives in `oci-core`** – The concurrent extraction/upload queue, blob-existence checks, rate limiting, and telemetry now ship inside the reusable `oci-core::blobs` module. Other projects can embed the exact same uploader without copy/paste.
31+
- **Prefetch-aware chunk uploads** – Large layers read an initial chunk into memory before network I/O begins, giving registries a steady stream immediately and honoring any server-provided chunk size hints mid-flight.
32+
- **Tar importer emits shared `LocalLayer` structs**`tar_import.rs` now returns the exact structs consumed by `LayerUploadPool`, eliminating adapter code and reducing memory copies during extraction.
33+
- **Cleaner push workflow**`src/push.rs` delegates scheduling to `LayerUploadPool`, so the CLI only worries about plan setup, manifest publishing, and user prompts. The parallelism cap and chunk sizing still respect the same CLI flags as before.
34+
- **Docs caught up** – This README now documents the pipeline-focused architecture, the new reusable uploader, and the 0.5.4 feature set.
3635

3736
## OCI Core Library
3837

0 commit comments

Comments
 (0)